diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 13:50:06 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 13:50:06 -0700 |
commit | cc150a2861e744d8f574d571762cc7e9f928abb3 (patch) | |
tree | a1567d76fc52dc56ba483d7dafa82fada5fc28ba /drivers | |
parent | d9a807461fc8cc0d6ba589ea0730d139122af012 (diff) | |
parent | 592758b12f2e327bb5902dabd3d36b2e86049871 (diff) |
Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck:
"New drivers for: MCP3221, ADT7410, MAX197
Chip support added to existing drivers: LM71, LM74, MAX1110, MAX1112,
MAX1113, INA220, INA230, MCP3221
Cleanup: Use devm_ functions, fixed build warnings, removed deprecated
sysfs attributes, code simplifications, dropped dependencies on
EXPERIMENTAL"
* tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (64 commits)
hwmon: (mcp3021) Add MCP3221 support
hwmon: (mcp3021) Prepare MCP3021 driver to support other chips
hwmon: (w83791d) Drop unnecessary compare statements
hwmon: (lm93) Drop unnecessary compare statement
hwmon: (lm70) Simplify show_name function
hwmon: (adcxx) Simplify show_name function
hwmon: Drop dependencies on EXPERIMENTAL
hwmon: (it87) Fix Kconfig for IT87 driver
hwmon: (sht15) move header to linux/platform_data/
hwmon: (asus_atk0110) Remove useless kfree
hwmon: (ina2xx) Add support for INA220 and INA230
hwmon: (ina2xx) Use structure array to distinguish chip types
hwmon: (max1111) Add support for MAX1110, MAX1112, and MAX1113
hwmon: (lm70) Add support for LM71 and LM74
hwmon: (Documentation) Update feature-removal-schedule.txt
hwmon: (w83793) Remove legacy chassis intrusion detection sysfs attributes
hwmon: (w83792d) Remove legacy chassis intrusion detection attributes
hwmon: (adm9240) Remove legacy chassis intrusion detection sysfs attribute
hwmon: (lm70) Allow 4wire SPI bus with LM70
hwmon: (sht15) remove multiple driver registration
...
Diffstat (limited to 'drivers')
52 files changed, 1353 insertions, 859 deletions
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index b0a2e4c37e1..c74e73b2069 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig @@ -41,7 +41,7 @@ comment "Native drivers" config SENSORS_ABITUGURU tristate "Abit uGuru (rev 1 & 2)" - depends on X86 && DMI && EXPERIMENTAL + depends on X86 && DMI help If you say yes here you get support for the sensor part of the first and second revision of the Abit uGuru chip. The voltage and frequency @@ -56,7 +56,7 @@ config SENSORS_ABITUGURU config SENSORS_ABITUGURU3 tristate "Abit uGuru (rev 3)" - depends on X86 && DMI && EXPERIMENTAL + depends on X86 && DMI help If you say yes here you get support for the sensor part of the third revision of the Abit uGuru chip. Only reading the sensors @@ -70,7 +70,7 @@ config SENSORS_ABITUGURU3 config SENSORS_AD7314 tristate "Analog Devices AD7314 and compatibles" - depends on SPI && EXPERIMENTAL + depends on SPI help If you say yes here you get support for the Analog Devices AD7314, ADT7301 and ADT7302 temperature sensors. @@ -80,7 +80,7 @@ config SENSORS_AD7314 config SENSORS_AD7414 tristate "Analog Devices AD7414" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Analog Devices AD7414 temperature monitoring chip. @@ -90,7 +90,7 @@ config SENSORS_AD7414 config SENSORS_AD7418 tristate "Analog Devices AD7416, AD7417 and AD7418" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Analog Devices AD7416, AD7417 and AD7418 temperature monitoring chips. @@ -100,7 +100,7 @@ config SENSORS_AD7418 config SENSORS_ADCXX tristate "National Semiconductor ADCxxxSxxx" - depends on SPI_MASTER && EXPERIMENTAL + depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor ADC<bb><c>S<sss> chip family, where @@ -179,9 +179,19 @@ config SENSORS_ADM9240 This driver can also be built as a module. If so, the module will be called adm9240. +config SENSORS_ADT7410 + tristate "Analog Devices ADT7410" + depends on I2C + help + If you say yes here you get support for the Analog Devices + ADT7410 temperature monitoring chip. + + This driver can also be built as a module. If so, the module + will be called adt7410. + config SENSORS_ADT7411 tristate "Analog Devices ADT7411" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Analog Devices ADT7411 voltage and temperature monitoring chip. @@ -191,7 +201,7 @@ config SENSORS_ADT7411 config SENSORS_ADT7462 tristate "Analog Devices ADT7462" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Analog Devices ADT7462 temperature monitoring chips. @@ -201,7 +211,7 @@ config SENSORS_ADT7462 config SENSORS_ADT7470 tristate "Analog Devices ADT7470" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Analog Devices ADT7470 temperature monitoring chips. @@ -236,7 +246,7 @@ config SENSORS_ASC7621 config SENSORS_K8TEMP tristate "AMD Athlon64/FX or Opteron temperature sensor" - depends on X86 && PCI && EXPERIMENTAL + depends on X86 && PCI help If you say yes here you get support for the temperature sensor(s) inside your CPU. Supported is whole AMD K8 @@ -271,7 +281,7 @@ config SENSORS_FAM15H_POWER config SENSORS_ASB100 tristate "Asus ASB100 Bach" - depends on X86 && I2C && EXPERIMENTAL + depends on X86 && I2C select HWMON_VID help If you say yes here you get support for the ASB100 Bach sensor @@ -282,7 +292,7 @@ config SENSORS_ASB100 config SENSORS_ATXP1 tristate "Attansic ATXP1 VID controller" - depends on I2C && EXPERIMENTAL + depends on I2C select HWMON_VID help If you say yes here you get support for the Attansic ATXP1 VID @@ -336,7 +346,7 @@ config SENSORS_EXYNOS4_TMU config SENSORS_I5K_AMB tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets" - depends on PCI && EXPERIMENTAL + depends on PCI help If you say yes here you get support for FB-DIMM AMB temperature monitoring chips on systems with the Intel 5000 series chipset. @@ -445,7 +455,7 @@ config SENSORS_GPIO_FAN config SENSORS_HIH6130 tristate "Honeywell Humidicon HIH-6130 humidity/temperature sensor" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for Honeywell Humidicon HIH-6130 and HIH-6131 Humidicon humidity sensors. @@ -455,7 +465,7 @@ config SENSORS_HIH6130 config SENSORS_CORETEMP tristate "Intel Core/Core2/Atom temperature sensor" - depends on X86 && PCI && EXPERIMENTAL + depends on X86 && PCI help If you say yes here you get support for the temperature sensor inside your CPU. Most of the family 6 CPUs @@ -495,8 +505,8 @@ config SENSORS_IT87 select HWMON_VID help If you say yes here you get support for ITE IT8705F, IT8712F, - IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F and IT8758E - sensor chips, and the SiS960 clone. + IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, + IT8782F, and IT8783E/F sensor chips, and the SiS950 clone. This driver can also be built as a module. If so, the module will be called it87. @@ -527,7 +537,7 @@ config SENSORS_JC42 config SENSORS_LINEAGE tristate "Lineage Compact Power Line Power Entry Module" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Lineage Compact Power Line series of DC/DC and AC/DC converters such as CP1800, CP2000AC, @@ -550,12 +560,12 @@ config SENSORS_LM63 will be called lm63. config SENSORS_LM70 - tristate "National Semiconductor LM70 / Texas Instruments TMP121" + tristate "National Semiconductor LM70 and compatibles" depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor - LM70 and Texas Instruments TMP121/TMP123 digital temperature - sensor chips. + LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera- + ture sensor chips. This driver can also be built as a module. If so, the module will be called lm70. @@ -709,7 +719,7 @@ config SENSORS_LTC4151 config SENSORS_LTC4215 tristate "Linear Technology LTC4215" - depends on I2C && EXPERIMENTAL + depends on I2C default n help If you say yes here you get support for Linear Technology LTC4215 @@ -720,7 +730,7 @@ config SENSORS_LTC4215 config SENSORS_LTC4245 tristate "Linear Technology LTC4245" - depends on I2C && EXPERIMENTAL + depends on I2C default n help If you say yes here you get support for Linear Technology LTC4245 @@ -731,7 +741,7 @@ config SENSORS_LTC4245 config SENSORS_LTC4261 tristate "Linear Technology LTC4261" - depends on I2C && EXPERIMENTAL + depends on I2C default n help If you say yes here you get support for Linear Technology LTC4261 @@ -752,7 +762,7 @@ config SENSORS_LM95241 config SENSORS_LM95245 tristate "National Semiconductor LM95245 sensor chip" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for LM95245 sensor chip. @@ -760,10 +770,11 @@ config SENSORS_LM95245 will be called lm95245. config SENSORS_MAX1111 - tristate "Maxim MAX1111 Multichannel, Serial 8-bit ADC chip" + tristate "Maxim MAX1111 Serial 8-bit ADC chip and compatibles" depends on SPI_MASTER help - Say y here to support Maxim's MAX1111 ADC chips. + Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113 + ADC chips. This driver can also be built as a module. If so, the module will be called max1111. @@ -795,7 +806,7 @@ config SENSORS_MAX1619 config SENSORS_MAX1668 tristate "Maxim MAX1668 and compatibles" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for MAX1668, MAX1989 and MAX1805 chips. @@ -803,9 +814,18 @@ config SENSORS_MAX1668 This driver can also be built as a module. If so, the module will be called max1668. +config SENSORS_MAX197 + tristate "Maxim MAX197 and compatibles" + help + Support for the Maxim MAX197 A/D converter. + Support will include, but not be limited to, MAX197, and MAX199. + + This driver can also be built as a module. If so, the module + will be called max197. + config SENSORS_MAX6639 tristate "Maxim MAX6639 sensor chip" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the MAX6639 sensor chips. @@ -815,7 +835,7 @@ config SENSORS_MAX6639 config SENSORS_MAX6642 tristate "Maxim MAX6642 sensor chip" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for MAX6642 sensor chip. MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor @@ -826,7 +846,7 @@ config SENSORS_MAX6642 config SENSORS_MAX6650 tristate "Maxim MAX6650 sensor chip" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the MAX6650 / MAX6651 sensor chips. @@ -835,18 +855,18 @@ config SENSORS_MAX6650 will be called max6650. config SENSORS_MCP3021 - tristate "Microchip MCP3021" - depends on I2C && EXPERIMENTAL + tristate "Microchip MCP3021 and compatibles" + depends on I2C help - If you say yes here you get support for the MCP3021 chip - that is a A/D converter (ADC) with 10-bit resolution. + If you say yes here you get support for MCP3021 and MCP3221. + The MCP3021 is a A/D converter (ADC) with 10-bit and the MCP3221 + with 12-bit resolution. This driver can also be built as a module. If so, the module will be called mcp3021. config SENSORS_NTC_THERMISTOR tristate "NTC thermistor support" - depends on EXPERIMENTAL help This driver supports NTC thermistors sensor reading and its interpretation. The driver can also monitor the temperature and @@ -951,7 +971,7 @@ config SENSORS_SIS5595 config SENSORS_SMM665 tristate "Summit Microelectronics SMM665" - depends on I2C && EXPERIMENTAL + depends on I2C default n help If you say yes here you get support for the hardware monitoring @@ -966,7 +986,7 @@ config SENSORS_SMM665 config SENSORS_DME1737 tristate "SMSC DME1737, SCH311x and compatibles" - depends on I2C && EXPERIMENTAL && !PPC + depends on I2C && !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring @@ -1042,7 +1062,7 @@ config SENSORS_SMSC47M192 config SENSORS_SMSC47B397 tristate "SMSC LPC47B397-NC" - depends on EXPERIMENTAL && !PPC + depends on !PPC help If you say yes here you get support for the SMSC LPC47B397-NC sensor chip. @@ -1116,7 +1136,7 @@ config SENSORS_ADS7871 config SENSORS_AMC6821 tristate "Texas Instruments AMC6821" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Texas Instruments AMC6821 hardware monitoring chips. @@ -1125,11 +1145,11 @@ config SENSORS_AMC6821 will be called amc6821. config SENSORS_INA2XX - tristate "Texas Instruments INA219, INA226" - depends on I2C && EXPERIMENTAL + tristate "Texas Instruments INA219 and compatibles" + depends on I2C help - If you say yes here you get support for INA219 and INA226 power - monitor chips. + If you say yes here you get support for INA219, INA220, INA226, and + INA230 power monitor chips. The INA2xx driver is configured for the default configuration of the part as described in the datasheet. @@ -1149,7 +1169,7 @@ config SENSORS_THMC50 config SENSORS_TMP102 tristate "Texas Instruments TMP102" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for Texas Instruments TMP102 sensor chips. @@ -1159,7 +1179,7 @@ config SENSORS_TMP102 config SENSORS_TMP401 tristate "Texas Instruments TMP401 and compatibles" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for Texas Instruments TMP401 and TMP411 temperature sensor chips. @@ -1169,7 +1189,7 @@ config SENSORS_TMP401 config SENSORS_TMP421 tristate "Texas Instruments TMP421 and compatible" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for Texas Instruments TMP421, TMP422 and TMP423 temperature sensor chips. @@ -1261,7 +1281,7 @@ config SENSORS_W83792D config SENSORS_W83793 tristate "Winbond W83793" - depends on I2C && EXPERIMENTAL + depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W83793 @@ -1273,7 +1293,7 @@ config SENSORS_W83793 config SENSORS_W83795 tristate "Winbond/Nuvoton W83795G/ADG" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Winbond W83795G and W83795ADG hardware monitoring chip, including manual fan speed @@ -1284,7 +1304,7 @@ config SENSORS_W83795 config SENSORS_W83795_FANCTRL boolean "Include automatic fan control support (DANGEROUS)" - depends on SENSORS_W83795 && EXPERIMENTAL + depends on SENSORS_W83795 default n help If you say yes here, support for automatic fan speed control @@ -1301,7 +1321,7 @@ config SENSORS_W83795_FANCTRL config SENSORS_W83L785TS tristate "Winbond W83L785TS-S" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Winbond W83L785TS-S sensor chip, which is used on the Asus A7N8X, among other @@ -1312,7 +1332,7 @@ config SENSORS_W83L785TS config SENSORS_W83L786NG tristate "Winbond W83L786NG, W83L786NR" - depends on I2C && EXPERIMENTAL + depends on I2C help If you say yes here you get support for the Winbond W83L786NG and W83L786NR sensor chips. @@ -1427,7 +1447,7 @@ config SENSORS_ACPI_POWER config SENSORS_ATK0110 tristate "ASUS ATK0110" - depends on X86 && EXPERIMENTAL + depends on X86 help If you say yes here you get support for the ACPI hardware monitoring interface found in many ASUS motherboards. This diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile index 7aa98119c4a..a62ce17ddbf 100644 --- a/drivers/hwmon/Makefile +++ b/drivers/hwmon/Makefile @@ -34,6 +34,7 @@ obj-$(CONFIG_SENSORS_ADM9240) += adm9240.o obj-$(CONFIG_SENSORS_ADS1015) += ads1015.o obj-$(CONFIG_SENSORS_ADS7828) += ads7828.o obj-$(CONFIG_SENSORS_ADS7871) += ads7871.o +obj-$(CONFIG_SENSORS_ADT7410) += adt7410.o obj-$(CONFIG_SENSORS_ADT7411) += adt7411.o obj-$(CONFIG_SENSORS_ADT7462) += adt7462.o obj-$(CONFIG_SENSORS_ADT7470) += adt7470.o @@ -94,6 +95,7 @@ obj-$(CONFIG_SENSORS_MAX1111) += max1111.o obj-$(CONFIG_SENSORS_MAX16065) += max16065.o obj-$(CONFIG_SENSORS_MAX1619) += max1619.o obj-$(CONFIG_SENSORS_MAX1668) += max1668.o +obj-$(CONFIG_SENSORS_MAX197) += max197.o obj-$(CONFIG_SENSORS_MAX6639) += max6639.o obj-$(CONFIG_SENSORS_MAX6642) += max6642.o obj-$(CONFIG_SENSORS_MAX6650) += max6650.o diff --git a/drivers/hwmon/abituguru.c b/drivers/hwmon/abituguru.c index d4419b47f3d..78b81793ddd 100644 --- a/drivers/hwmon/abituguru.c +++ b/drivers/hwmon/abituguru.c @@ -1278,7 +1278,8 @@ static int __devinit abituguru_probe(struct platform_device *pdev) 0x00, 0x01, 0x03, 0x04, 0x0A, 0x08, 0x0E, 0x02, 0x09, 0x06, 0x05, 0x0B, 0x0F, 0x0D, 0x07, 0x0C }; - data = kzalloc(sizeof(struct abituguru_data), GFP_KERNEL); + data = devm_kzalloc(&pdev->dev, sizeof(struct abituguru_data), + GFP_KERNEL); if (!data) return -ENOMEM; @@ -1430,8 +1431,6 @@ abituguru_probe_error: for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++) device_remove_file(&pdev->dev, &abituguru_sysfs_attr[i].dev_attr); - platform_set_drvdata(pdev, NULL); - kfree(data); return res; } @@ -1446,8 +1445,6 @@ static int __devexit abituguru_remove(struct platform_device *pdev) for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++) device_remove_file(&pdev->dev, &abituguru_sysfs_attr[i].dev_attr); - platform_set_drvdata(pdev, NULL); - kfree(data); return 0; } diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c index 5d582aebff8..b174b8b2b4d 100644 --- a/drivers/hwmon/abituguru3.c +++ b/drivers/hwmon/abituguru3.c @@ -976,7 +976,8 @@ static int __devinit abituguru3_probe(struct platform_device *pdev) u8 buf[2]; u16 id; - data = kzalloc(sizeof(struct abituguru3_data), GFP_KERNEL); + data = devm_kzalloc(&pdev->dev, sizeof(struct abituguru3_data), + GFP_KERNEL); if (!data) return -ENOMEM; @@ -1068,7 +1069,6 @@ abituguru3_probe_error: for (i = 0; i < ARRAY_SIZE(abituguru3_sysfs_attr); i++) device_remove_file(&pdev->dev, &abituguru3_sysfs_attr[i].dev_attr); - kfree(data); return res; } @@ -1084,8 +1084,6 @@ static int __devexit abituguru3_remove(struct platform_device *pdev) for (i = 0; i < ARRAY_SIZE(abituguru3_sysfs_attr); i++) device_remove_file(&pdev->dev, &abituguru3_sysfs_attr[i].dev_attr); - kfree(data); - return 0; } diff --git a/drivers/hwmon/ad7314.c b/drivers/hwmon/ad7314.c index f915eb1c29f..37c01e72d69 100644 --- a/drivers/hwmon/ad7314.c +++ b/drivers/hwmon/ad7314.c @@ -112,16 +112,16 @@ static int __devinit ad7314_probe(struct spi_device *spi_dev) int ret; struct ad7314_data *chip; - chip = kzalloc(sizeof(*chip), GFP_KERNEL); - if (chip == NULL) { - ret = -ENOMEM; - goto error_ret; - } + chip = devm_kzalloc(&spi_dev->dev, sizeof(*chip), GFP_KERNEL); + if (chip == NULL) + return -ENOMEM; + dev_set_drvdata(&spi_dev->dev, chip); ret = sysfs_create_group(&spi_dev->dev.kobj, &ad7314_group); if (ret < 0) - goto error_free_chip; + return ret; + chip->hwmon_dev = hwmon_device_register(&spi_dev->dev); if (IS_ERR(chip->hwmon_dev)) { ret = PTR_ERR(chip->hwmon_dev); @@ -132,9 +132,6 @@ static int __devinit ad7314_probe(struct spi_device *spi_dev) return 0; error_remove_group: sysfs_remove_group(&spi_dev->dev.kobj, &ad7314_group); -error_free_chip: - kfree(chip); -error_ret: return ret; } @@ -144,7 +141,6 @@ static int __devexit ad7314_remove(struct spi_device *spi_dev) hwmon_device_unregister(chip->hwmon_dev); sysfs_remove_group(&spi_dev->dev.kobj, &ad7314_group); - kfree(chip); return 0; } diff --git a/drivers/hwmon/ad7414.c b/drivers/hwmon/ad7414.c index 06d2d60d1fd..b420fb3f3a7 100644 --- a/drivers/hwmon/ad7414.c +++ b/drivers/hwmon/ad7414.c @@ -185,16 +185,13 @@ static int ad7414_probe(struct i2c_client *client, int err; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA | - I2C_FUNC_SMBUS_READ_WORD_DATA)) { - err = -EOPNOTSUPP; - goto exit; - } + I2C_FUNC_SMBUS_READ_WORD_DATA)) + return -EOPNOTSUPP; - data = kzalloc(sizeof(struct ad7414_data), GFP_KERNEL); - if (!data) { - err = -ENOMEM; - goto exit; - } + data = devm_kzalloc(&client->dev, sizeof(struct ad7414_data), + GFP_KERNEL); + if (!data) + return -ENOMEM; i2c_set_clientdata(client, data); mutex_init(&data->lock); @@ -214,7 +211,7 @@ static int ad7414_probe(struct i2c_client *client, /* Register sysfs hooks */ err = sysfs_create_group(&client->dev.kobj, &ad7414_group); if (err) - goto exit_free; + return err; data->hwmon_dev = hwmon_device_register(&client->dev); if (IS_ERR(data->hwmon_dev)) { @@ -226,9 +223,6 @@ static int ad7414_probe(struct i2c_client *client, exit_remove: sysfs_remove_group(&client->dev.kobj, &ad7414_group); -exit_free: - kfree(data); -exit: return err; } @@ -238,7 +232,6 @@ static int __devexit ad7414_remove(struct i2c_client *client) hwmon_device_unregister(data->hwmon_dev); sysfs_remove_group(&client->dev.kobj, &ad7414_group); - kfree(data); return 0; } diff --git a/drivers/hwmon/ad7418.c b/drivers/hwmon/ad7418.c index a50a6bef16c..57d4a629567 100644 --- a/drivers/hwmon/ad7418.c +++ b/drivers/hwmon/ad7418.c @@ -227,16 +227,13 @@ static int ad7418_probe(struct i2c_client *client, int err; if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA | - I2C_FUNC_SMBUS_WORD_DATA)) { - err = -EOPNOTSUPP; < |