1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _GSC_HWMON_H
3#define _GSC_HWMON_H
4
5enum gsc_hwmon_mode {
6 mode_temperature,
7 mode_voltage_24bit,
8 mode_voltage_raw,
9 mode_voltage_16bit,
10 mode_fan,
11 mode_max,
12};
13
14/**
15 * struct gsc_hwmon_channel - configuration parameters
16 * @reg: I2C register offset
17 * @mode: channel mode
18 * @name: channel name
19 * @mvoffset: voltage offset
20 * @vdiv: voltage divider array (2 resistor values in milli-ohms)
21 */
22struct gsc_hwmon_channel {
23 unsigned int reg;
24 unsigned int mode;
25 const char *name;
26 unsigned int mvoffset;
27 unsigned int vdiv[2];
28};
29
30/**
31 * struct gsc_hwmon_platform_data - platform data for gsc_hwmon driver
32 * @nchannels: number of elements in @channels array
33 * @vreference: voltage reference (mV)
34 * @resolution: ADC bit resolution
35 * @fan_base: register base for FAN controller
36 * @channels: array of gsc_hwmon_channel structures describing channels
37 */
38struct gsc_hwmon_platform_data {
39 int nchannels;
40 unsigned int resolution;
41 unsigned int vreference;
42 unsigned int fan_base;
43 struct gsc_hwmon_channel channels[] __counted_by(nchannels);
44};
45#endif
46

source code of linux/include/linux/platform_data/gsc_hwmon.h