Lines Matching refs:hwmon

7 #include <linux/hwmon.h>
8 #include <linux/hwmon-sysfs.h>
57 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev);
59 u8 reg = hwmon->pdata->fan_base + (2 * attr->index);
63 ret = regmap_bulk_read(hwmon->regmap, reg, regs, 2);
75 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev);
77 u8 reg = hwmon->pdata->fan_base + (2 * attr->index);
90 err = regmap_bulk_write(hwmon->regmap, reg, regs, 2);
149 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev);
157 ch = hwmon->in_ch[channel];
160 ch = hwmon->temp_ch[channel];
163 ch = hwmon->fan_ch[channel];
170 ret = regmap_bulk_read(hwmon->regmap, ch->reg, buf, sz);
215 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev);
219 *buf = hwmon->in_ch[channel]->name;
222 *buf = hwmon->temp_ch[channel]->name;
225 *buf = hwmon->fan_ch[channel]->name;
320 struct gsc_hwmon_data *hwmon;
330 hwmon = devm_kzalloc(dev, sizeof(*hwmon), GFP_KERNEL);
331 if (!hwmon)
333 hwmon->gsc = gsc;
334 hwmon->pdata = pdata;
336 hwmon->regmap = devm_regmap_init(dev, &gsc_hwmon_regmap_bus,
339 if (IS_ERR(hwmon->regmap))
340 return PTR_ERR(hwmon->regmap);
342 for (i = 0, i_in = 0, i_temp = 0, i_fan = 0; i < hwmon->pdata->nchannels; i++) {
351 hwmon->temp_ch[i_temp] = ch;
352 hwmon->temp_config[i_temp] = HWMON_T_INPUT |
361 hwmon->fan_ch[i_fan] = ch;
362 hwmon->fan_config[i_fan] = HWMON_F_INPUT |
373 hwmon->in_ch[i_in] = ch;
374 hwmon->in_config[i_in] =
385 hwmon->chip.ops = &gsc_hwmon_ops;
386 hwmon->chip.info = hwmon->info;
387 hwmon->info[0] = &hwmon->temp_info;
388 hwmon->info[1] = &hwmon->in_info;
389 hwmon->info[2] = &hwmon->fan_info;
390 hwmon->temp_info.type = hwmon_temp;
391 hwmon->temp_info.config = hwmon->temp_config;
392 hwmon->in_info.type = hwmon_in;
393 hwmon->in_info.config = hwmon->in_config;
394 hwmon->fan_info.type = hwmon_fan;
395 hwmon->fan_info.config = hwmon->fan_config;
399 KBUILD_MODNAME, hwmon,
400 &hwmon->chip, groups);
411 .name = "gsc-hwmon",