diff options
Diffstat (limited to 'drivers/hwmon')
48 files changed, 176 insertions, 48 deletions
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index 6529c09c46f0..a7de26d1ac80 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig @@ -574,6 +574,16 @@ config SENSORS_IIO_HWMON for those channels specified in the map. This map can be provided either via platform data or the device tree bindings. +config SENSORS_I5500 + tristate "Intel 5500/5520/X58 temperature sensor" + depends on X86 && PCI + help + If you say yes here you get support for the temperature + sensor inside the Intel 5500, 5520 and X58 chipsets. + + This driver can also be built as a module. If so, the module + will be called i5500_temp. + config SENSORS_CORETEMP tristate "Intel Core/Core2/Atom temperature sensor" depends on X86 diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile index 67280643bcf0..6c941472e707 100644 --- a/drivers/hwmon/Makefile +++ b/drivers/hwmon/Makefile @@ -68,6 +68,7 @@ obj-$(CONFIG_SENSORS_GPIO_FAN) += gpio-fan.o obj-$(CONFIG_SENSORS_HIH6130) += hih6130.o obj-$(CONFIG_SENSORS_HTU21) += htu21.o obj-$(CONFIG_SENSORS_ULTRA45) += ultra45_env.o +obj-$(CONFIG_SENSORS_I5500) += i5500_temp.o obj-$(CONFIG_SENSORS_I5K_AMB) += i5k_amb.o obj-$(CONFIG_SENSORS_IBMAEM) += ibmaem.o obj-$(CONFIG_SENSORS_IBMPEX) += ibmpex.o diff --git a/drivers/hwmon/abituguru.c b/drivers/hwmon/abituguru.c index 9c8a6bab8228..7a09c1615aa9 100644 --- a/drivers/hwmon/abituguru.c +++ b/drivers/hwmon/abituguru.c @@ -1547,7 +1547,6 @@ static SIMPLE_DEV_PM_OPS(abituguru_pm, abituguru_suspend, abituguru_resume); static struct platform_driver abituguru_driver = { .driver = { - .owner = THIS_MODULE, .name = ABIT_UGURU_NAME, .pm = ABIT_UGURU_PM, }, diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c index 4ae74aa8cdc1..3d2a4ae92d1e 100644 --- a/drivers/hwmon/abituguru3.c +++ b/drivers/hwmon/abituguru3.c @@ -1167,7 +1167,6 @@ static SIMPLE_DEV_PM_OPS(abituguru3_pm, abituguru3_suspend, abituguru3_resume); static struct platform_driver abituguru3_driver = { .driver = { - .owner = THIS_MODULE, .name = ABIT_UGURU3_NAME, .pm = ABIT_UGURU3_PM }, diff --git a/drivers/hwmon/abx500.c b/drivers/hwmon/abx500.c index 769fe20ec938..13875968c844 100644 --- a/drivers/hwmon/abx500.c +++ b/drivers/hwmon/abx500.c @@ -474,7 +474,6 @@ static const struct of_device_id abx500_temp_match[] = { static struct platform_driver abx500_temp_driver = { .driver = { - .owner = THIS_MODULE, .name = "abx500-temp", .of_match_table = of_match_ptr(abx500_temp_match), }, diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c index 3288f13d2d87..0af63da6b603 100644 --- a/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c @@ -676,7 +676,6 @@ static struct platform_driver applesmc_driver = { .probe = applesmc_probe, .driver = { .name = "applesmc", - .owner = THIS_MODULE, .pm = &applesmc_pm_ops, }, }; diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c index d76f0b70c6e0..5b7fec824f10 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c @@ -596,7 +596,6 @@ static int coretemp_remove(struct platform_device *pdev) static struct platform_driver coretemp_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = coretemp_probe, diff --git a/drivers/hwmon/da9052-hwmon.c b/drivers/hwmon/da9052-hwmon.c index 692b3f34d88c..c9832bfacfe5 100644 --- a/drivers/hwmon/da9052-hwmon.c +++ b/drivers/hwmon/da9052-hwmon.c @@ -282,7 +282,6 @@ static struct platform_driver da9052_hwmon_driver = { .probe = da9052_hwmon_probe, .driver = { .name = "da9052-hwmon", - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/da9055-hwmon.c b/drivers/hwmon/da9055-hwmon.c index 9916a3fb4bb9..f6e159cabe23 100644 --- a/drivers/hwmon/da9055-hwmon.c +++ b/drivers/hwmon/da9055-hwmon.c @@ -286,7 +286,6 @@ static struct platform_driver da9055_hwmon_driver = { .probe = da9055_hwmon_probe, .driver = { .name = "da9055-hwmon", - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/dme1737.c b/drivers/hwmon/dme1737.c index bea0a344fab5..8763c4a8280c 100644 --- a/drivers/hwmon/dme1737.c +++ b/drivers/hwmon/dme1737.c @@ -2732,7 +2732,6 @@ static int dme1737_isa_remove(struct platform_device *pdev) static struct platform_driver dme1737_isa_driver = { .driver = { - .owner = THIS_MODULE, .name = "dme1737", }, .probe = dme1737_isa_probe, diff --git a/drivers/hwmon/f71805f.c b/drivers/hwmon/f71805f.c index 9e57b77ecd34..facd05cda26d 100644 --- a/drivers/hwmon/f71805f.c +++ b/drivers/hwmon/f71805f.c @@ -1503,7 +1503,6 @@ static int f71805f_remove(struct platform_device *pdev) static struct platform_driver f71805f_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = f71805f_probe, diff --git a/drivers/hwmon/f71882fg.c b/drivers/hwmon/f71882fg.c index 03d8592810bf..2e5c6f46e442 100644 --- a/drivers/hwmon/f71882fg.c +++ b/drivers/hwmon/f71882fg.c @@ -369,7 +369,6 @@ static int f71882fg_remove(struct platform_device *pdev); static struct platform_driver f71882fg_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = f71882fg_probe, diff --git a/drivers/hwmon/i5500_temp.c b/drivers/hwmon/i5500_temp.c new file mode 100644 index 000000000000..3e3ccbf18b4e --- /dev/null +++ b/drivers/hwmon/i5500_temp.c @@ -0,0 +1,149 @@ +/* + * i5500_temp - Driver for Intel 5500/5520/X58 chipset thermal sensor + * + * Copyright (C) 2012, 2014 Jean Delvare <jdelvare@suse.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <linux/module.h> +#include <linux/init.h> +#include <linux/slab.h> +#include <linux/jiffies.h> +#include <linux/device.h> +#include <linux/pci.h> +#include <linux/hwmon.h> +#include <linux/hwmon-sysfs.h> +#include <linux/err.h> +#include <linux/mutex.h> + +/* Register definitions from datasheet */ +#define REG_TSTHRCATA 0xE2 +#define REG_TSCTRL 0xE8 +#define REG_TSTHRRPEX 0xEB +#define REG_TSTHRLO 0xEC +#define REG_TSTHRHI 0xEE +#define REG_CTHINT 0xF0 +#define REG_TSFSC 0xF3 +#define REG_CTSTS 0xF4 +#define REG_TSTHRRQPI 0xF5 +#define REG_CTCTRL 0xF7 +#define REG_TSTIMER 0xF8 + +/* + * Sysfs stuff + */ + +/* Sensor resolution : 0.5 degree C */ +static ssize_t show_temp(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct pci_dev *pdev = to_pci_dev(dev->parent); + long temp; + u16 tsthrhi; + s8 tsfsc; + + pci_read_config_word(pdev, REG_TSTHRHI, &tsthrhi); + pci_read_config_byte(pdev, REG_TSFSC, &tsfsc); + temp = ((long)tsthrhi - tsfsc) * 500; + + return sprintf(buf, "%ld\n", temp); +} + +static ssize_t show_thresh(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct pci_dev *pdev = to_pci_dev(dev->parent); + int reg = to_sensor_dev_attr(devattr)->index; + long temp; + u16 tsthr; + + pci_read_config_word(pdev, reg, &tsthr); + temp = tsthr * 500; + + return sprintf(buf, "%ld\n", temp); +} + +static ssize_t show_alarm(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct pci_dev *pdev = to_pci_dev(dev->parent); + int nr = to_sensor_dev_attr(devattr)->index; + u8 ctsts; + + pci_read_config_byte(pdev, REG_CTSTS, &ctsts); + return sprintf(buf, "%u\n", (unsigned int)ctsts & (1 << nr)); +} + +static DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL); +static SENSOR_DEVICE_ATTR(temp1_crit, S_IRUGO, show_thresh, NULL, 0xE2); +static SENSOR_DEVICE_ATTR(temp1_max_hyst, S_IRUGO, show_thresh, NULL, 0xEC); +static SENSOR_DEVICE_ATTR(temp1_max, S_IRUGO, show_thresh, NULL, 0xEE); +static SENSOR_DEVICE_ATTR(temp1_crit_alarm, S_IRUGO, show_alarm, NULL, 0); +static SENSOR_DEVICE_ATTR(temp1_max_alarm, S_IRUGO, show_alarm, NULL, 1); + +static struct attribute *i5500_temp_attrs[] = { + &dev_attr_temp1_input.attr, + &sensor_dev_attr_temp1_crit.dev_attr.attr, + &sensor_dev_attr_temp1_max_hyst.dev_attr.attr, + &sensor_dev_attr_temp1_max.dev_attr.attr, + &sensor_dev_attr_temp1_crit_alarm.dev_attr.attr, + &sensor_dev_attr_temp1_max_alarm.dev_attr.attr, + NULL +}; + +ATTRIBUTE_GROUPS(i5500_temp); + +static const struct pci_device_id i5500_temp_ids[] = { + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x3438) }, + { 0 }, +}; + +MODULE_DEVICE_TABLE(pci, i5500_temp_ids); + +static int i5500_temp_probe(struct pci_dev *pdev, + const struct pci_device_id *id) +{ + int err; + struct device *hwmon_dev; + u32 tstimer; + s8 tsfsc; + + err = pci_enable_device(pdev); + if (err) { + dev_err(&pdev->dev, "Failed to enable device\n"); + return err; + } + + pci_read_config_byte(pdev, REG_TSFSC, &tsfsc); + pci_read_config_dword(pdev, REG_TSTIMER, &tstimer); + if (tsfsc == 0x7F && tstimer == 0x07D30D40) { + dev_notice(&pdev->dev, "Sensor seems to be disabled\n"); + return -ENODEV; + } + + hwmon_dev = devm_hwmon_device_register_with_groups(&pdev->dev, + "intel5500", NULL, + i5500_temp_groups); + return PTR_ERR_OR_ZERO(hwmon_dev); +} + +static struct pci_driver i5500_temp_driver = { + .name = "i5500_temp", + .id_table = i5500_temp_ids, + .probe = i5500_temp_probe, +}; + +module_pci_driver(i5500_temp_driver); + +MODULE_AUTHOR("Jean Delvare <jdelvare@suse.de>"); +MODULE_DESCRIPTION("Intel 5500/5520/X58 chipset thermal sensor driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/hwmon/i5k_amb.c b/drivers/hwmon/i5k_amb.c index 6c0080a3b902..6b3d1972cef7 100644 --- a/drivers/hwmon/i5k_amb.c +++ b/drivers/hwmon/i5k_amb.c @@ -581,7 +581,6 @@ static int i5k_amb_remove(struct platform_device *pdev) static struct platform_driver i5k_amb_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = i5k_amb_probe, diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c index 7c2c7be182f2..febe8175d36c 100644 --- a/drivers/hwmon/ibmpowernv.c +++ b/drivers/hwmon/ibmpowernv.c @@ -313,7 +313,6 @@ static struct platform_driver ibmpowernv_driver = { .probe = ibmpowernv_probe, .id_table = opal_sensor_driver_ids, .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, }; diff --git a/drivers/hwmon/iio_hwmon.c b/drivers/hwmon/iio_hwmon.c index 980175628563..17ae2eb26ce2 100644 --- a/drivers/hwmon/iio_hwmon.c +++ b/drivers/hwmon/iio_hwmon.c @@ -177,7 +177,6 @@ MODULE_DEVICE_TABLE(of, iio_hwmon_of_match); static struct platform_driver __refdata iio_hwmon_driver = { .driver = { .name = "iio_hwmon", - .owner = THIS_MODULE, .of_match_table = iio_hwmon_of_match, }, .probe = iio_hwmon_probe, diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c index a327fd3402a7..409116c52cc5 100644 --- a/drivers/hwmon/it87.c +++ b/drivers/hwmon/it87.c @@ -498,7 +498,6 @@ static void it87_init_device(struct platform_device *pdev); static struct platform_driver it87_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = it87_probe, diff --git a/drivers/hwmon/jz4740-hwmon.c b/drivers/hwmon/jz4740-hwmon.c index 7488e36809c8..df9b3447f2a8 100644 --- a/drivers/hwmon/jz4740-hwmon.c +++ b/drivers/hwmon/jz4740-hwmon.c @@ -172,7 +172,6 @@ static struct platform_driver jz4740_hwmon_driver = { .remove = jz4740_hwmon_remove, .driver = { .name = "jz4740-hwmon", - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 6753fd940c76..fe41d5ae7cb2 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -177,6 +177,10 @@ static struct attribute *lm75_attrs[] = { }; ATTRIBUTE_GROUPS(lm75); +static const struct thermal_zone_of_device_ops lm75_of_thermal_ops = { + .get_temp = lm75_read_temp, +}; + /*-----------------------------------------------------------------------*/ /* device probe and removal */ @@ -296,10 +300,9 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id) if (IS_ERR(data->hwmon_dev)) return PTR_ERR(data->hwmon_dev); - data->tz = thermal_zone_of_sensor_register(data->hwmon_dev, - 0, + data->tz = thermal_zone_of_sensor_register(data->hwmon_dev, 0, data->hwmon_dev, - lm75_read_temp, NULL); + &lm75_of_thermal_ops); if (IS_ERR(data->tz)) data->tz = NULL; diff --git a/drivers/hwmon/lm78.c b/drivers/hwmon/lm78.c index 759661c7d480..539efe4ad991 100644 --- a/drivers/hwmon/lm78.c +++ b/drivers/hwmon/lm78.c @@ -836,7 +836,6 @@ static int lm78_isa_probe(struct platform_device *pdev) static struct platform_driver lm78_isa_driver = { .driver = { - .owner = THIS_MODULE, .name = "lm78", }, .probe = lm78_isa_probe, diff --git a/drivers/hwmon/max197.c b/drivers/hwmon/max197.c index 82128ad79a91..cb0dcfda958c 100644 --- a/drivers/hwmon/max197.c +++ b/drivers/hwmon/max197.c @@ -334,7 +334,6 @@ MODULE_DEVICE_TABLE(platform, max197_device_ids); static struct platform_driver max197_driver = { .driver = { .name = "max197", - .owner = THIS_MODULE, }, .probe = max197_probe, .remove = max197_remove, diff --git a/drivers/hwmon/mc13783-adc.c b/drivers/hwmon/mc13783-adc.c index ae00e60d856c..0c02f40eb0c1 100644 --- a/drivers/hwmon/mc13783-adc.c +++ b/drivers/hwmon/mc13783-adc.c @@ -267,7 +267,6 @@ MODULE_DEVICE_TABLE(platform, mc13783_adc_idtable); static struct platform_driver mc13783_adc_driver = { .remove = mc13783_adc_remove, .driver = { - .owner = THIS_MODULE, .name = DRIVER_NAME, }, .id_table = mc13783_adc_idtable, diff --git a/drivers/hwmon/menf21bmc_hwmon.c b/drivers/hwmon/menf21bmc_hwmon.c index afc6b58eaa62..c29a4c3c6b9e 100644 --- a/drivers/hwmon/menf21bmc_hwmon.c +++ b/drivers/hwmon/menf21bmc_hwmon.c @@ -219,7 +219,6 @@ static struct platform_driver menf21bmc_hwmon = { .probe = menf21bmc_hwmon_probe, .driver = { .name = DRV_NAME, - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/nct6683.c b/drivers/hwmon/nct6683.c index 7710f4694ba1..f3830db02d46 100644 --- a/drivers/hwmon/nct6683.c +++ b/drivers/hwmon/nct6683.c @@ -1282,7 +1282,6 @@ static const struct dev_pm_ops nct6683_dev_pm_ops = { static struct platform_driver nct6683_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, .pm = NCT6683_DEV_PM_OPS, }, diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c index dc0df57200cd..1be41177b620 100644 --- a/drivers/hwmon/nct6775.c +++ b/drivers/hwmon/nct6775.c @@ -4080,7 +4080,6 @@ static const struct dev_pm_ops nct6775_dev_pm_ops = { static struct platform_driver nct6775_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, .pm = NCT6775_DEV_PM_OPS, }, diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c index 4ff89b2482e4..112e4d45e4a0 100644 --- a/drivers/hwmon/ntc_thermistor.c +++ b/drivers/hwmon/ntc_thermistor.c @@ -486,6 +486,10 @@ static const struct attribute_group ntc_attr_group = { .attrs = ntc_attributes, }; +static const struct thermal_zone_of_device_ops ntc_of_thermal_ops = { + .get_temp = ntc_read_temp, +}; + static int ntc_thermistor_probe(struct platform_device *pdev) { const struct of_device_id *of_id = @@ -579,7 +583,7 @@ static int ntc_thermistor_probe(struct platform_device *pdev) pdev_id->name); data->tz = thermal_zone_of_sensor_register(data->dev, 0, data->dev, - ntc_read_temp, NULL); + &ntc_of_thermal_ops); if (IS_ERR(data->tz)) { dev_dbg(&pdev->dev, "Failed to register to thermal fw.\n"); data->tz = NULL; @@ -609,7 +613,6 @@ static int ntc_thermistor_remove(struct platform_device *pdev) static struct platform_driver ntc_thermistor_driver = { .driver = { .name = "ntc-thermistor", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(ntc_match), }, .probe = ntc_thermistor_probe, diff --git a/drivers/hwmon/pc87360.c b/drivers/hwmon/pc87360.c index 145f674c1d87..d50fbf93a737 100644 --- a/drivers/hwmon/pc87360.c +++ b/drivers/hwmon/pc87360.c @@ -244,7 +244,6 @@ static struct pc87360_data *pc87360_update_device(struct device *dev); static struct platform_driver pc87360_driver = { .driver = { - .owner = THIS_MODULE, .name = "pc87360", }, .probe = pc87360_probe, diff --git a/drivers/hwmon/pc87427.c b/drivers/hwmon/pc87427.c index 9e4684e747ea..cb9fdd37bd0d 100644 --- a/drivers/hwmon/pc87427.c +++ b/drivers/hwmon/pc87427.c @@ -1153,7 +1153,6 @@ static int pc87427_remove(struct platform_device *pdev) static struct platform_driver pc87427_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = pc87427_probe, diff --git a/drivers/hwmon/s3c-hwmon.c b/drivers/hwmon/s3c-hwmon.c index 0674c13bbd4b..0c4710d35d16 100644 --- a/drivers/hwmon/s3c-hwmon.c +++ b/drivers/hwmon/s3c-hwmon.c @@ -378,7 +378,6 @@ static int s3c_hwmon_remove(struct platform_device *dev) static struct platform_driver s3c_hwmon_driver = { .driver = { .name = "s3c-hwmon", - .owner = THIS_MODULE, }, .probe = s3c_hwmon_probe, .remove = s3c_hwmon_remove, diff --git a/drivers/hwmon/sch5627.c b/drivers/hwmon/sch5627.c index 0cc99fd83e8e..19f85c0da270 100644 --- a/drivers/hwmon/sch5627.c +++ b/drivers/hwmon/sch5627.c @@ -591,7 +591,6 @@ error: static struct platform_driver sch5627_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = sch5627_probe, diff --git a/drivers/hwmon/sch5636.c b/drivers/hwmon/sch5636.c index 547b5c952eff..131a2815dbda 100644 --- a/drivers/hwmon/sch5636.c +++ b/drivers/hwmon/sch5636.c @@ -521,7 +521,6 @@ error: static struct platform_driver sch5636_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = sch5636_probe, diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c index 97cd45a8432c..d4f0935daaa1 100644 --- a/drivers/hwmon/sht15.c +++ b/drivers/hwmon/sht15.c @@ -1087,7 +1087,6 @@ MODULE_DEVICE_TABLE(platform, sht15_device_ids); static struct platform_driver sht15_driver = { .driver = { .name = "sht15", - .owner = THIS_MODULE, }, .probe = sht15_probe, .remove = sht15_remove, diff --git a/drivers/hwmon/sis5595.c b/drivers/hwmon/sis5595.c index bf1d7893d51c..45a028fb8851 100644 --- a/drivers/hwmon/sis5595.c +++ b/drivers/hwmon/sis5595.c @@ -215,7 +215,6 @@ static void sis5595_init_device(struct sis5595_data *data); static struct platform_driver sis5595_driver = { .driver = { - .owner = THIS_MODULE, .name = "sis5595", }, .probe = sis5595_probe, diff --git a/drivers/hwmon/smsc47b397.c b/drivers/hwmon/smsc47b397.c index 221f0931bf1c..6bd200756560 100644 --- a/drivers/hwmon/smsc47b397.c +++ b/drivers/hwmon/smsc47b397.c @@ -219,7 +219,6 @@ static int smsc47b397_probe(struct platform_device *pdev); static struct platform_driver smsc47b397_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = smsc47b397_probe, diff --git a/drivers/hwmon/smsc47m1.c b/drivers/hwmon/smsc47m1.c index d7485659acc5..5d323186d2c1 100644 --- a/drivers/hwmon/smsc47m1.c +++ b/drivers/hwmon/smsc47m1.c @@ -849,7 +849,6 @@ static int __exit smsc47m1_remove(struct platform_device *pdev) static struct platform_driver smsc47m1_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .remove = __exit_p(smsc47m1_remove), diff --git a/drivers/hwmon/tmp102.c b/drivers/hwmon/tmp102.c index 51719956cc03..ba9f478f64ee 100644 --- a/drivers/hwmon/tmp102.c +++ b/drivers/hwmon/tmp102.c @@ -158,6 +158,10 @@ ATTRIBUTE_GROUPS(tmp102); #define TMP102_CONFIG (TMP102_CONF_TM | TMP102_CONF_EM | TMP102_CONF_CR1) #define TMP102_CONFIG_RD_ONLY (TMP102_CONF_R0 | TMP102_CONF_R1 | TMP102_CONF_AL) +static const struct thermal_zone_of_device_ops tmp102_of_thermal_ops = { + .get_temp = tmp102_read_temp, +}; + static int tmp102_probe(struct i2c_client *client, const struct i2c_device_id *id) { @@ -215,7 +219,7 @@ static int tmp102_probe(struct i2c_client *client, } tmp102->hwmon_dev = hwmon_dev; tmp102->tz = thermal_zone_of_sensor_register(hwmon_dev, 0, hwmon_dev, - tmp102_read_temp, NULL); + &tmp102_of_thermal_ops); if (IS_ERR(tmp102->tz)) tmp102->tz = NULL; diff --git a/drivers/hwmon/twl4030-madc-hwmon.c b/drivers/hwmon/twl4030-madc-hwmon.c index 9a0e2b8e8b94..b5caf7fdb487 100644 --- a/drivers/hwmon/twl4030-madc-hwmon.c +++ b/drivers/hwmon/twl4030-madc-hwmon.c @@ -107,7 +107,6 @@ static struct platform_driver twl4030_madc_hwmon_driver = { .probe = twl4030_madc_hwmon_probe, .driver = { .name = "twl4030_madc_hwmon", - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/ultra45_env.c b/drivers/hwmon/ultra45_env.c index 7d4658636064..f2816c7c918f 100644 --- a/drivers/hwmon/ultra45_env.c +++ b/drivers/hwmon/ultra45_env.c @@ -314,7 +314,6 @@ MODULE_DEVICE_TABLE(of, env_match); static struct platform_driver env_driver = { .driver = { .name = "ultra45_env", - .owner = THIS_MODULE, .of_match_table = env_match, }, .probe = env_probe, diff --git a/drivers/hwmon/vexpress.c b/drivers/hwmon/vexpress.c index c53619086f33..cf1848b8fb32 100644 --- a/drivers/hwmon/vexpress.c +++ b/drivers/hwmon/vexpress.c @@ -247,7 +247,6 @@ static struct platform_driver vexpress_hwmon_driver = { .probe = vexpress_hwmon_probe, .driver = { .name = DRVNAME, - .owner = THIS_MODULE, .of_match_table = vexpress_hwmon_of_match, }, }; diff --git a/drivers/hwmon/via-cputemp.c b/drivers/hwmon/via-cputemp.c index 8df43c51de2c..ac91c07e3f90 100644 --- a/drivers/hwmon/via-cputemp.c +++ b/drivers/hwmon/via-cputemp.c @@ -205,7 +205,6 @@ static int via_cputemp_remove(struct platform_device *pdev) static struct platform_driver via_cputemp_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = via_cputemp_probe, diff --git a/drivers/hwmon/via686a.c b/drivers/hwmon/via686a.c index babd732b4e18..40dd93c8f9f4 100644 --- a/drivers/hwmon/via686a.c +++ b/drivers/hwmon/via686a.c @@ -670,7 +670,6 @@ static const struct attribute_group via686a_group = { static struct platform_driver via686a_driver = { .driver = { - .owner = THIS_MODULE, .name = "via686a", }, .probe = via686a_probe, diff --git a/drivers/hwmon/vt1211.c b/drivers/hwmon/vt1211.c index 3ea57c3504e2..3a6bfa51cb94 100644 --- a/drivers/hwmon/vt1211.c +++ b/drivers/hwmon/vt1211.c @@ -1233,7 +1233,6 @@ static int vt1211_remove(struct platform_device *pdev) static struct platform_driver vt1211_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = vt1211_probe, diff --git a/drivers/hwmon/vt8231.c b/drivers/hwmon/vt8231.c index b3babe3326fb..cb69a8c2ed5b 100644 --- a/drivers/hwmon/vt8231.c +++ b/drivers/hwmon/vt8231.c @@ -759,7 +759,6 @@ static const struct attribute_group vt8231_group = { static struct platform_driver vt8231_driver = { .driver = { - .owner = THIS_MODULE, .name = "vt8231", }, .probe = vt8231_probe, diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index f0ab61db7a0d..b10353b31806 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c @@ -2705,7 +2705,6 @@ static const struct dev_pm_ops w83627ehf_dev_pm_ops = { static struct platform_driver w83627ehf_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, .pm = W83627EHF_DEV_PM_OPS, }, diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c index 2f55973a8c4c..721295b9a051 100644 --- a/drivers/hwmon/w83627hf.c +++ b/drivers/hwmon/w83627hf.c @@ -474,7 +474,6 @@ static const struct dev_pm_ops w83627hf_dev_pm_ops = { static struct platform_driver w83627hf_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, .pm = W83627HF_DEV_PM_OPS, }, diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c index 84911616d8c0..54848fdd181e 100644 --- a/drivers/hwmon/w83781d.c +++ b/drivers/hwmon/w83781d.c @@ -1839,7 +1839,6 @@ w83781d_isa_remove(struct platform_device *pdev) static struct platform_driver w83781d_isa_driver = { .driver = { - .owner = THIS_MODULE, .name = "w83781d", }, .probe = w83781d_isa_probe, diff --git a/drivers/hwmon/wm831x-hwmon.c b/drivers/hwmon/wm831x-hwmon.c index 3e6a3195cd11..a16cce72e4e2 100644 --- a/drivers/hwmon/wm831x-hwmon.c +++ b/drivers/hwmon/wm831x-hwmon.c @@ -154,7 +154,6 @@ static struct platform_driver wm831x_hwmon_driver = { .probe = wm831x_hwmon_probe, .driver = { .name = "wm831x-hwmon", - .owner = THIS_MODULE, }, }; diff --git a/drivers/hwmon/wm8350-hwmon.c b/drivers/hwmon/wm8350-hwmon.c index 90e3d918e597..31af438ffa88 100644 --- a/drivers/hwmon/wm8350-hwmon.c +++ b/drivers/hwmon/wm8350-hwmon.c @@ -93,7 +93,6 @@ static struct platform_driver wm8350_hwmon_driver = { .probe = wm8350_hwmon_probe, .driver = { .name = "wm8350-hwmon", - .owner = THIS_MODULE, }, }; |