summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/smsc47m1.c
Commit message (Collapse)AuthorAgeFilesLines
* hwmon: (smsc47m1) use permission-specific DEVICE_ATTR variantsJulia Lawall2017-01-021-5/+5
| | | | | | | | | | | | | Use DEVICE_ATTR_RO for read-only attributes. This simplifies the source code, improves readbility, and reduces the chance of inconsistencies. The conversion was done automatically using coccinelle. It was validated by compiling both the old and the new source code and comparing its text, data, and bss size. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> [groeck: Updated description] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: drop owner assignment from platform_driversWolfram Sang2014-10-201-1/+0
| | | | | | | A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
* hwmon: (smsc47m1) Avoid forward declarationAxel Lin2014-08-041-60/+55
| | | | | | | Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* Update Jean Delvare's e-mail addressJean Delvare2014-01-291-1/+1
| | | | Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon: use dev_get_platdata()Jingoo Han2013-08-111-2/+2
| | | | | | | | Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: Replace SENSORS_LIMIT with clamp_valGuenter Roeck2013-01-251-1/+1
| | | | | | | | | | | | SENSORS_LIMIT and the generic clamp_val have the same functionality, and clamp_val is more efficient. This patch reduces text size by 9052 bytes and bss size by 11624 bytes for x86_64 builds. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: George Joseph <george.joseph@fairview5.com> Acked-by: Jean Delvare <khali@linux-fr.org>
* hwmon: (smsc47m1) Convert to use devm_ functionsGuenter Roeck2012-07-211-34/+11
| | | | | | | Convert to use devm_ functions to reduce code size and simplify the code. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
* hwmon: (smsc47m1) Fix compiler warningGuenter Roeck2012-04-091-9/+10
| | | | | | | | | | | | | | | Some configurations produce the following compiler warning: drivers/hwmon/smsc47m1.c: In function 'sm_smsc47m1_init': drivers/hwmon/smsc47m1.c:938: warning: 'address' may be used uninitialized in this function While this is a false positive, it can easily be fixed by overloading the return value from smsc47m1_find with both address and error return code (the address is an unsigned short and thus never negative). This also reduces module size by a few bytes (46 bytes for x86_64). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
* hwmon: (smsc47m1) Fix checkpatch issuesGuenter Roeck2012-03-181-62/+104
| | | | | | | | | | | | | | | | | | | | | | | | Fixed: ERROR: code indent should use tabs where possible ERROR: do not use assignment in if condition ERROR: space required after that ',' (ctx:VxV) ERROR: spaces required around that '<=' (ctx:VxV) ERROR: spaces required around that '==' (ctx:VxV) ERROR: spaces required around that '>=' (ctx:VxV) ERROR: trailing statements should be on next line ERROR: trailing whitespace WARNING: simple_strtol is obsolete, use kstrtol instead WARNING: static const char * array should probably be static const char * const Modify multi-line comments to follow Documentation/CodingStyle. Also: s/#define^I/#define / Not fixed (false positive): ERROR: Macros with multiple statements should be enclosed in a do - while loop Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (smsc47m1) Fix: do not use assignment in if conditionGuenter Roeck2012-03-181-45/+80
| | | | | | | | | | Fix checkpatch issue: ERROR: do not use assignment in if condition Replace repeated calls to device_create_file() with calls to sysfs_create_group. Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (smsc47m1) Use pr_fmt and pr_<level>Joe Perches2011-01-081-16/+15
| | | | | | | | | | Added #define pr_fmt KBUILD_MODNAME ": " fmt Converted printks to pr_<level> Coalesced any long formats Removed prefixes from formats Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
* hwmon: (smsc47m1) Fix section mismatchJeff Mahoney2010-01-251-1/+1
| | | | | | | | smsc47m1_restore is called from sm_smsc47m1_exit, which is an __exit function, so it can't be __init. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon: (smsc47m1) Enable device if neededJean Delvare2009-12-161-3/+27
| | | | | | | | | | If the address is set but the device isn't enabled, attempt to enable it. If it won't work for any reason (resource conflict, no function enabled) the initial state is restored. The initial state is also restored on module unloading. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Sean Fidler <fidlersean@gmail.com>
* hwmon: (smsc47m1) Fail module loading on errorJean Delvare2009-12-161-13/+11
| | | | | | | | | If an error occurs during probing, there's no point in keeping the module in memory. Better fail the module loading early to make the problem more visible. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Sean Fidler <fidlersean@gmail.com>
* hwmon: (smsc47m1) Only request I/O ports we really useJean Delvare2009-12-161-10/+89
| | | | | | | | | | | | | The I/O area of the SMSC LPC47M1xx chips which we use, gives access to a lot of registers, some of which are related to fan speed monitoring and control, but many are not. At the moment, the smsc47m1 driver requests the whole I/O port range. This could easily result in resource conflicts with either ACPI or other drivers. Request only the I/O ports we really use, to prevent such conflicts. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Sean Fidler <fidlersean@gmail.com>
* hwmon: Include <linux/io.h> instead of <asm/io.h>H Hartley Sweeten2009-09-151-1/+1
| | | | | | | | | | | | | | Drivers should be including <linux/io.h> instead of <asm/io.h>. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Alistair John Strachan <alistair@devzero.co.uk> Cc: Nicolas Boichat <nicolas@boichat.ch> Cc: Juerg Haefliger <juergh@gmail.com> Cc: Frank Seidel <frank@f-seidel.de> Acked-by: Jim Cromie <jim.cromie@gmail.com> Cc: "Mark M. Hoffman" <mhoffman@lightlink.com> Cc: Roger Lucas <vt8231@hiddenengine.co.uk> Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292Jean Delvare2009-07-281-0/+11
| | | | | | | | | The SMSC LPC47M233 and LPC47M292 chips have the same device ID but are not compatible. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Juerg Haefliger <juergh@gmail.com> Acked-by: Hans de Goede <hdegoede@redhat.com>
* hwmon: Check for ACPI resource conflictsJean Delvare2009-01-071-0/+5
| | | | | | | | | | | | | | | | | | Check for ACPI resource conflicts in hwmon drivers. I've included all Super-I/O and PCI drivers. I've voluntarily left out: * Vendor-specific drivers: if they conflicted on any system, this would pretty much mean that they conflict on all systems, and we would know by now. * Legacy ISA drivers (lm78 and w83781d): they only support chips found on old designs were ACPI either wasn't supported or didn't deal with thermal management. * Drivers accessing the I/O resources indirectly (e.g. through SMBus): the checks are already done where they belong, i.e. in the bus drivers. Signed-off-by: Jean Delvare <jdelvare@suse.de> Acked-by: David Hubbard <david.c.hubbard@gmail.com>
* hwmon: (smsc47m1) Add individual alarm filesJean Delvare2008-02-171-3/+22
| | | | | | | | The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Juerg Haefliger <juergh at gmail.com> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: Let the user override the detected Super-I/O device IDJean Delvare2008-02-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | While it is possible to force SMBus-based hardware monitoring chip drivers to drive a not officially supported device, we do not have this possibility for Super-I/O-based drivers. That's unfortunate because sometimes newer chips are fully compatible and just forcing the driver to load would work. Instead of that we have to tell the users to recompile the kernel driver, which isn't an easy task for everyone. So, I propose that we add a module parameter to all Super-I/O based hardware monitoring drivers, letting advanced users force the driver to load on their machine. The user has to provide the device ID of a supposedly compatible device. This requires looking at the source code or a datasheet, so I am confident that users can't randomly force a driver without knowing what they are doing. Thus this should be relatively safe. As you can see from the code, the implementation is pretty simple and unintrusive. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Hans de Goede <j.w.r.degoede@hhs.nl> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: Convert from class_device to deviceTony Jones2007-10-091-5/+5
| | | | | | | | | Convert from class_device to device for hwmon_device_register/unregister Signed-off-by: Tony Jones <tonyj@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: (smsc47m1) No confusing debugging messagesJean Delvare2007-10-091-2/+2
| | | | | | | | It's confusing to display debugging messages for fan3 and pwm3 for chips which don't have them. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: (smsc47m1) restore missing name attributeJean Delvare2007-08-121-0/+2
| | | | | | | | | | | | | | | The smsc47m1 driver no longer creates the name attribute used by libsensors to identify chip types. It was lost during the conversion to a platform driver. I was fooled by the fact that we do have a group with all attributes, but only to delete them all at once. The group is not used to create the attributes, so we have to explicitly create the name attribute. This fixes lm-sensors ticket #2236: http://lm-sensors.org/ticket/2236 Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: Add missing __devexit tags in various driversJean Delvare2007-07-301-1/+1
| | | | | | | | | | | | | | On Sun, 22 Jul 2007 00:30:56 +0200, Gabriel C wrote: > I noticed this warnings on current git: > > drivers/hwmon/pc87360.c:1082: warning: 'pc87360_remove' defined but not used > drivers/hwmon/sis5595.c:580: warning: 'sis5595_remove' defined but not used > drivers/hwmon/smsc47m1.c:608: warning: 'smsc47m1_remove' defined but not used > drivers/hwmon/via686a.c:648: warning: 'via686a_remove' defined but not used > drivers/hwmon/vt8231.c:755: warning: 'vt8231_remove' defined but not used Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: Fix a potential race condition on unloadJean Delvare2007-07-191-1/+2
| | | | | | | | | | | | | | | Fix a potential race condition when some hardware monitoring platform drivers are being unloaded. I believe that the driver data pointer shouldn't be cleared before all the sysfs files are removed, otherwise a sysfs callback might attempt to dereference a NULL pointer. I'm not sure exactly what the driver core protects drivers against, so let's play it safe. While we're here, clear the driver data pointer when probe fails, so as to not leave an invalid pointer behind us. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* hwmon: Use platform_device_add_data()Jean Delvare2007-07-191-6/+3
| | | | | | | | Use platform_device_add_data() in hardware monitoring drivers. This makes the code nicer and smaller too. Reported by David Hubbard. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: David Hubbard <david.c.hubbard@gmail.com>
* hwmon/smsc47m1: Use dynamic sysfs callbacksJean Delvare2007-05-081-103/+95
| | | | | | | This lets us get rid of macro-generated functions and shrinks the driver size by about 7%. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/smsc47m1: Use DRVNAME consistentlyJean Delvare2007-05-081-8/+6
| | | | | | Also use pr_info instead of printk. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/smsc47m1: Convert to a platform driverJean Delvare2007-05-081-134/+193
| | | | | | | Convert the smsc47m1 driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/smsc47m1: Get rid of a useless mutexJean Delvare2007-05-081-23/+10
| | | | | | | | | The smsc47m1 driver uses a mutex to protect the accesses to the hardware registers. It really doesn't need any protection, as the register space is flat. Get rid of that mutex for a smaller and faster driver. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/smsc47m1: Add support for the LPC47M292Jean Delvare2007-05-081-34/+126
| | | | | | | | The new SMSC LPC47M292 Super-I/O chip is a bit different from the previous ones, it supports a 3rd fan, but unfortunately the pin configuration registers are different. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* smsc47m1: List the SMSC LPC47M112 as supportedJean Delvare2006-10-181-5/+6
| | | | | | | | | | | The SMSC LPC47M112 Super-I/O chip appears to be compatible with the LPC47M10x and LPC47M13x as far as hardware monitoring is concerned. The device ID is even the same, so it's really only a documentation update. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* hwmon: Fix unchecked return status, SMSC chipsJean Delvare2006-09-281-18/+60
| | | | | | | | | | | hwmon: Fix unchecked return status, SMSC chips Fix up 2 more hwmon drivers so that they no longer ignore return status from device_create_file(). Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* smsc47m1: dev_warn fixJean Delvare2006-09-281-1/+2
| | | | | | | | | | smsc47m1: dev_warn fix We can't use dev_warn on an i2c client before it is attached. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* i2c-isa: Restore driver ownerJean Delvare2006-09-261-0/+1
| | | | | | | | | | | | i2c-isa: Restore driver owner Commit 2b48716d1d2f2edb1e7cbc5ecf1cb2cb39373e33 back in January 2006 was a bit overzealous. It removed .owner from all i2c drivers, including i2c-isa ones, while they still need it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* spelling fixesAndreas Mohr2006-06-261-1/+1
| | | | | | | | | | | | acquired (aquired) contiguous (contigious) successful (succesful, succesfull) surprise (suprise) whether (weather) some other misspellings Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* [PATCH] hwmon: Semaphore to mutex conversionsIngo Molnar2006-03-231-20/+21
| | | | | | | | | | | | | convert drivers/hwmon/*.c semaphore use to mutexes. the conversion was generated via scripts, and the result was validated automatically via a script as well. all affected hwmon drivers were build-tested. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] I2C: Remove .owner setting from i2c_driver as it's no longer neededGreg Kroah-Hartman2006-01-051-1/+0
| | | | | | | | | | Now that i2c_add_driver() doesn't need the module owner to be set by hand, we can delete it from the drivers. This patch catches all of the drivers that I found in the current tree (if a driver sets the .owner by hand, it's not a problem, just not needed.) Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Cc: Jean Delvare <khali@linux-fr.org>
* [PATCH] i2c: Drop i2c_driver.{owner,name}, 3 of 11Laurent Riffard2006-01-051-3/+5
| | | | | | | | | | | We should use the i2c_driver.driver's .name and .owner fields instead of the i2c_driver's ones. This patch updates the hwmon drivers. Signed-off-by: Laurent Riffard <laurent.riffard@free.fr> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] hwmon: smsc47m1 documentation updateJean Delvare2005-10-281-2/+5
| | | | | | | | The SMSC LPC47M997 Super-I/O chip seems to be compatible with the LPC47M192, so it is supported by the smsc47m1 driver. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] hwmon: kzalloc conversionDeepak Saxena2005-10-281-2/+1
| | | | | | | | | Use kzalloc instead of kmalloc+memset in all hardware monitoring drivers. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] hwmon: Update smsc47m1 head commentJean Delvare2005-09-091-2/+2
| | | | | | | | Update the head comment of the smsc47m1 driver to mention all the supported devices. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] hwmon: hwmon vs i2c, second round (06/11)Jean Delvare2005-09-051-1/+0
| | | | | | | | | | | The only thing left in i2c-sensor.h are module parameter definition macros. It's only an extension of what i2c.h offers, and this extension is not sensors-specific. As a matter of fact, a few non-sensors drivers use them. So we better merge them in i2c.h, and get rid of i2c-sensor.h altogether. Signed-off-by: Jean Delvare <khali@linux-fr> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] hwmon: tag super-i/o find functions __initJean Delvare2005-09-051-1/+1
| | | | | | | | | | | | | Super-I/O find functions in hardware monitoring drivers can be tagged __init as they are only called from functions themselves tagged __init. Two of them (smsc47b397 and w83627ehf) already do, but the other four of them (it87, pc87360, smsc47m1 and w83627hf) did not. This saves a few bytes of memory after the drivers are loaded, 192 in the case of the it87 driver. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] I2C: refactor message in i2c_detach_clientJean Delvare2005-09-051-4/+1
| | | | | | | | | | | | We could refactor the error message 34 different i2c drivers print if i2c_detach_client() fails in this function itself. Saves quite a few lines of code. Documentation is updated to reflect that change. Note that this patch should be applied after Rudolf Marek's w83792d patches. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] I2C: Separate non-i2c hwmon drivers from i2c-core (5/9)Jean Delvare2005-09-051-33/+9
| | | | | | | | | | | | | | | Call the ISA chip drivers detection function directly instead of relying on i2c_detect. The net effect is that address lists won't be handled anymore, but they were mostly useless in the ISA case anyway (pc87360, smsc47m1, smsc47b397 had already dropped them). We don't need to handle multiple devices, all we may need is a way to force a given address instead of the original one (some drivers already do: sis5595, via686a, w83627hf), and, for drivers supporting multiple chips, a way to force one given kind. All this may be added later on demand, but I actually don't think there will be much demand. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] I2C: Separate non-i2c hwmon drivers from i2c-core (3/9)Jean Delvare2005-09-051-2/+3
| | | | | | | | | | | | | | Convert the 10 ISA hardware monitoring drivers (it87, lm78, pc87360, sis5595, smsc47b397, smsc47m1, via686a, w83627hf, w83627ehf, w83781d) to explicitely register with i2c-isa. For hybrid drivers (it87, lm78, w83781d), we now have two separate instances of i2c_driver, one for the I2C interface of the chip, and one for ISA interface. In the long run, the one for ISA will be replaced with a different driver type. At this point, all drivers are working again, except for missing dependencies in Kconfig. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] I2C hwmon: add hwmon sysfs class to driversMark M. Hoffman2005-09-051-1/+16
| | | | | | | | | This patch modifies sensors chip drivers to make use of the new sysfs class "hwmon". Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] drivers/hwmon/*: kfree() correct pointersAlexey Dobriyan2005-08-261-1/+1
| | | | | | | | | | | | | The adm9240 driver, in adm9240_detect(), allocates a structure. The error path attempts to kfree() ->client field of it (second one), resulting in an oops (or slab corruption) if the hardware is not present. ->client field in adm1026, adm1031, smsc47b397 and smsc47m1 is the first in ${HWMON}_data structure, but fix them too. Signed-off-by: Jonathan Corbet <corbet@lwn.net Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] I2C: Move hwmon drivers (2/3)Jean Delvare2005-07-111-0/+593
Part 2: Move the driver files themselves. Note that the patch "adds trailing whitespace", because it does move the files as-is, and some files happen to have trailing whitespace. From: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>