summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mfd: Support multiple active WM831x AUXADC conversionsMark Brown2011-07-311-77/+177
| | | | | | | | | | | | | | | The WM831x AUXADC hardware can schedule multiple conversions at once, allowing higher performance when more than one source is in use as we can have the hardware start new conversions without having to wait for a register write. Take advantage of this in the interrupt driven case, maintaining a list of callers that are waiting for AUXADC conversions and completing them all simultaneously. The external interface of the AUXADC is not changed so there will be limited use of the feature immediately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Restructure wm8994-core device revision handlingMark Brown2011-07-311-4/+9
| | | | | | | | Switch on the device type before revision since anything we do here will be device as well as revision specific. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Allocate wm835x irq descs dynamicallySascha Hauer2011-07-311-6/+12
| | | | | | | | | | | | | This allows boards to leave the irq_base field unitialized and prevents them having to reserve irqs in the platform. pdata can be optional for irq support now. Without pdata the driver allocates some free irq range. With pdata and irq_base > 0 the driver allocates exactly the specified irq. Without pdata the irq defaults to IRQF_TRIGGER_LOW. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Refactor wm831x AUXADC handling into a separate fileMark Brown2011-07-313-166/+201
| | | | | | | | | In preparation for some additional work on the wm831x AUXADC code move the support into a separate file. This is a simple code motion patch, there should be no functional changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Read wm831x AUXADC conversion results before acknowledging interruptMark Brown2011-07-311-16/+31
| | | | | | | | | | Ensure that there's no possibility of loosing an AUXADC interrupt by reading the conversion result in the IRQ handler when using interrupts. Otherwise it's possible that under very heavy load a new conversion could be initiated before the acknowledgement for a previous interrupt has happened. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Support dynamic allocation of IRQ range for wm831xMark Brown2011-07-311-5/+13
| | | | | | | | | Use irq_allocate_desc() to get the IRQ range, which turns into a noop on non-sparse systems. Since all existing users are non-sparse there should be no compatibility issues. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Only register wm831x RTC device if the 32.768kHz crystal is enabledMark Brown2011-07-311-20/+28
| | | | | | | | | The RTC uses the 32.768kHz crystal so if it's not enabled (and it can only be enabled via OTP or InstantConfig, not runtime software) the RTC can't function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Allow touchscreen to be disabled on wm831x devicesMark Brown2011-07-311-10/+17
| | | | | | | | | Allow platform data to flag the touchscreen as disabled so that if the touch driver is built in we don't end up causing lots of work by spuriously detecting touchscreen activity on systems where it isn't in use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Implement support for multiple WM831x devicesMark Brown2011-07-311-6/+12
| | | | | | | Systems using this functionality will be uncommon. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix bus lock interaction for WM831x IRQ set_type() operationMark Brown2011-07-311-6/+18
| | | | | | | | | | | | The WM831x IRQ set_type() operation is doing a direct register write when called but since set_type() is called with the bus lock held this isn't legal and could cause deadlocks in the IRQ core. Fix this by posting the updates into an array and syncing in the bus_sync_unlock() callback. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* Merge git://git.infradead.org/battery-2.6Linus Torvalds2011-07-3114-102/+694
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.infradead.org/battery-2.6: gpio-charger: Fix checking return value of request_any_context_irq power_supply: MAX17042: Support additional properties max8903_charger: Allow platform data to be __initdata power_supply: Add charger driver for MAX8998/LP3974 power_supply: Add charger driver for MAX8997/8966 max17042_battery: Remove obsolete cleanup for clientdata twl4030_charger: Fix warnings wm831x_power: Support multiple instances wm831x_backup: Support multiple instances apm_power: Fix style error in macros s3c_adc_battery: Fix annotation for s3c_adc_battery_probe() bq20z75: Enable detection after registering bq20z75: Add support for external notification
| * gpio-charger: Fix checking return value of request_any_context_irqAxel Lin2011-07-081-1/+1
| | | | | | | | | | | | | | | | | | request_any_context_irq() returns a negative value on failure. On success, it returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * power_supply: MAX17042: Support additional propertiesDonggeun Kim2011-07-081-68/+105
| | | | | | | | | | | | | | | | | | | | | | | | This patch supports additional properties (PRESENT, CYCLE_COUNT, VOLTAGE_MAX, VOLTAGE_MIN_DESIGN, CURRENT_NOW, CURRENT_AVG, CHARGE_FULL, and TEMP). Plus, initialization code for registers is added. Signed-off-by: Donggeun Kim <dg77.kim@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: KyungMin Park <kyungmin.park@samsung.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * max8903_charger: Allow platform data to be __initdataMyungJoo Ham2011-07-081-8/+8
| | | | | | | | | | | | | | | | | | | | | | Platform files may have declared 8903 platform data as __initdata. This patch removes the dependency on pdata pointer so that using __initdata on pdata will not incur errors. Note that such error does not incur SECTION MISMATCH warning in (at least some) compilers. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * power_supply: Add charger driver for MAX8998/LP3974Donggeun Kim2011-07-084-0/+228
| | | | | | | | | | | | | | | | | | | | This patch supports power supply APIs for MAX8998/LP3974. Signed-off-by: Donggeun Kim <dg77.kim@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: KyungMin Park <kyungmin.park@samsung.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * power_supply: Add charger driver for MAX8997/8966Donggeun Kim2011-07-083-0/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAX8997/8966 chip is a multi-function device which includes PMIC, RTC, Fuel Gauge, MUIC, Haptic, Flash control, and Battery charging control. The driver for it is located at drivers/mfd. This patch supports battery charging control of MAX8997/8966 chip and provides power supply class information to userspace. Signed-off-by: Donggeun Kim <dg77.kim@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: KyungMin Park <kyungmin.park@samsung.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * max17042_battery: Remove obsolete cleanup for clientdataWolfram Sang2011-07-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | A few new i2c-drivers came into the kernel which clear the clientdata-pointer on exit or error. This is obsolete meanwhile, the core will do it. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * twl4030_charger: Fix warningsGrazvydas Ignotas2011-07-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fix warnings emitted by some versions of gcc: drivers/power/twl4030_charger.c:490: warning: overflow in implicit constant conversion drivers/power/twl4030_charger.c:498: warning: overflow in implicit constant conversion While at it, also fix module_param permissions and a typo in my name. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * wm831x_power: Support multiple instancesMark Brown2011-07-081-3/+23
| | | | | | | | | | | | | | | | | | If there are multiple wm831x devices in the system we need to assign different names to the power supply devices in order to ensure we can create the sysfs entries for them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * wm831x_backup: Support multiple instancesMark Brown2011-07-081-1/+11
| | | | | | | | | | | | | | | | | | If there are multiple wm831x devices in the system we need to assign different names to the power supply devices in order to ensure we can create the sysfs entries for them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * apm_power: Fix style error in macrosKen O'Brien2011-07-081-4/+4
| | | | | | | | | | | | | | | | Two macros in the changed file contained complex expressions which were not enclosed by parentheses. Signed-off-by: Ken O'Brien <kernel@kenobrien.org> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * s3c_adc_battery: Fix annotation for s3c_adc_battery_probe()Mark Brown2011-07-081-1/+1
| | | | | | | | | | | | | | | | | | A probe() function is used at device init time rather than system init time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * bq20z75: Enable detection after registeringRhyland Klein2011-07-081-0/+2
| | | | | | | | | | | | | | | | Need to enable detection, which is also blocking the unit conversion logic after registering the power_supply. Signed-off-by: Rhyland Klein <rklein@nvidia.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
| * bq20z75: Add support for external notificationRhyland Klein2011-07-081-9/+92
| | | | | | | | | | | | | | | | | | | | | | | | Adding support for external power change notification. One problem found is that there is a lag time before the sensor will return a new status. To ensure that we only fire off the power_supply_changed event when the status returned from the sensor is actually different, we delay sending the the notification, and instead poll on it looking for a change. The amount of time to poll is configurable via platform data. Signed-off-by: Rhyland Klein <rklein@nvidia.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6Linus Torvalds2011-07-3114-124/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: smc91c92_cs.c: fix bogus compiler warning orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002 hostap_cs: support cards with "Version 01.02" as third product ID pcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3 pxa2xx pcmcia - stargate 2 use gpio array. pcmcia: pxa2xx: remove empty socket_init / socket_resume functions. drivers:pcmcia:soc_common: make socket_init and socket_suspend optional
| * | smc91c92_cs.c: fix bogus compiler warningDominik Brodowski2011-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a recent compile, I got this warning: CC [M] drivers/net/pcmcia/smc91c92_cs.o drivers/net/pcmcia/smc91c92_cs.c: In function ‘smc91c92_probe’: drivers/net/pcmcia/smc91c92_cs.c:812:12: warning: ‘j’ may be used uninitialized in this function However, "j" is only used in a branch which has the same condition as a previous branch, where j is set, e.g. int j; if (CONDITION) j = VALUE ... if (CONDITION) printk(j) Still, avoid this warning, as it is easy to circumvent. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002Pavel Roskin2011-07-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without CONFIG_HERMES_PRISM, only match cards that have "Version 01.01" as the third product ID. Those have Agere firmware. With CONFIG_HERMES_PRISM, match all 0x0156:0x0002 cards. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | hostap_cs: support cards with "Version 01.02" as third product IDPavel Roskin2011-07-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cards with numeric ID 0x0156:0x0002 and third ID "Version 01.02" can be assumed to have Intersil firmware. Cards with Agere firmware use "Version 01.01". Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pxa2xx pcmcia - stargate 2 use gpio array.Jonathan Cameron2011-07-291-23/+11
| | | | | | | | | | | | | | | | | | | | | Kill off the buff gpio as not used anywhere. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pcmcia: pxa2xx: remove empty socket_init / socket_resume functions.Jonathan Cameron2011-07-299-96/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now the are optional, let us get rid of the ones that don't have any content. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | drivers:pcmcia:soc_common: make socket_init and socket_suspend optionalJonathan Cameron2011-07-291-3/+4
| | | | | | | | | | | | | | | | | | | | | 10 boards define these empty, probably indicating not everyone has a use for them. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* | | Merge branch 'for-linus' of ↵Linus Torvalds2011-07-301-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: sungem: fix compile failure caused by trivial #include consolidation
| * | | sungem: fix compile failure caused by trivial #include consolidationJiri Kosina2011-07-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only Sparc and PPC actually have the asm/prom.h include and as such they can't be moved outside of the ifdefs. Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | | | Merge branch 'hwmon-for-linus' of ↵Linus Torvalds2011-07-3020-281/+2792
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits) hwmon: (lm90) Refactor reading of config2 register hwmon: (lm90) Make SA56004 detection more robust hwmon: (lm90) Simplify handling of extended local temp register hwmon: (pmbus) Add client driver for LM25066, LM5064, and LM5066 hwmon: (max34440) Add support for peak attributes hwmon: (max8688) Add support for peak attributes hwmon: (max16064) Add support for peak attributes hwmon: (adm1275) Add support for peak attributes hwmon: (pmbus) Add support for peak attributes hwmon: Add new attributes to sysfs ABI hwmon: (pmbus) Strengthen check for status register existence hwmon: (pmbus) Add support for virtual pages hwmon: (pmbus) Support reading and writing of word registers in device specific code hwmon: (pmbus) Increase attribute name size hwmon: (pmbus) Add ADP4000, NCP4200 and NCP4208 to list of supported devices hwmon: (pmbus) Add support for VID output voltage mode hwmon: (pmbus) Move PMBus drivers to drivers/hwmon/pmbus hwmon: (coretemp) Add core/pkg threshold support to Coretemp hwmon: (lm95241) Add support for LM95231 hwmon: LM95245 driver ...
| * | | | hwmon: (lm90) Refactor reading of config2 registerJean Delvare2011-07-291-19/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several vendors implement a second configuration register, which we check during device detection. Refactor the code to avoid duplication. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Stijn Devriendt <sdevrien@cisco.com> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
| * | | | hwmon: (lm90) Make SA56004 detection more robustJean Delvare2011-07-291-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a device ID register value of 0, the SA56004 detection is rather weak. Check several other register too to confirm the detection, as we do for other supported devices. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Stijn Devriendt <sdevrien@cisco.com> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Acked-by: Stijn Devriendt <sdevrien@cisco.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
| * | | | hwmon: (lm90) Simplify handling of extended local temp registerJean Delvare2011-07-291-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The optional extended local temperature register can never have address 0, as this address is already used by another register. Thus we can get rid of flag LM90_HAVE_LOCAL_EXT and simply rely on reg_local_ext being non-zero to determine if a given chip has this extension or not. This makes the code more simple. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Stijn Devriendt <sdevrien@cisco.com> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
| * | | | hwmon: (pmbus) Add client driver for LM25066, LM5064, and LM5066Guenter Roeck2011-07-295-1/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PMBus client driver supporting National Semiconductor LM25066, LM5064, and LM5066. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (max34440) Add support for peak attributesGuenter Roeck2011-07-291-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for voltage, current, and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (max8688) Add support for peak attributesGuenter Roeck2011-07-291-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for voltage, current, and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
| * | | | hwmon: (max16064) Add support for peak attributesGuenter Roeck2011-07-291-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for voltage and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (adm1275) Add support for peak attributesGuenter Roeck2011-07-291-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for voltage and current peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Add support for peak attributesGuenter Roeck2011-07-292-15/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most PMBus devices provide manufacturer specific commands to read low and/or high peak values for some or all of its sensors. To support providing those values as lowest/highest attributes to the user, introduce virtual PMBus commands. Those commands reside outside the normal command set and have to be implemented in device specific code, which map the virtual commands to device specific commands. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Strengthen check for status register existenceGuenter Roeck2011-07-291-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With virtual register page support, it is now possible that the status register on virtual pages does not exist or is itself virtual. To take this into account when creating alarm attributes, generate those attributes only if the status register on the respective page is known to exist. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Add support for virtual pagesGuenter Roeck2011-07-292-28/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some PMBus chips have non-standard sensor registers. An easy way to support such sensors is to introduce virtual pages and map the non-standard registers into standard registers on an extra page. For this to work, the code verifying if the configured number of pages exists has to be removed. Since a wrong number of pages can only be configured in a front-end driver, this should not have a practical impact since the resulting errors should be found during development and testing. Also, functions to read the chip status while checking if a command register exists must be modified to no longer set the page register before reading the status, since the physical page associated with the checked register may not exist. This does not make a functional difference since the page was already set when the attempt to read the register was made. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Support reading and writing of word registers in device ↵Guenter Roeck2011-07-292-6/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specific code Some PMBus devices use non-standard registers for some of the sensors and/or limits. To support such devices, add code to support reading and writing of word size registers in device specific code. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Increase attribute name sizeGuenter Roeck2011-07-291-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some hwmon sysfs attributes have a length of 20 bytes (plus terminating 0). I2C_NAME_SIZE is defined as 20 and thus can not be used to define the length of hwmon sysfs attributes. Replace it with PMBUS_NAME_SIZE, set to 24. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Add ADP4000, NCP4200 and NCP4208 to list of supported devicesGuenter Roeck2011-07-292-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ADP4000, NCP4200 and NCP4208 to the list of devices supported by the generic PMBus driver, and add device IDs to enable explicit instantiation. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com> Acked-by: Jean Delvare <khali@linux-fr.org>
| * | | | hwmon: (pmbus) Add support for VID output voltage modeGuenter Roeck2011-07-297-34/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In VID mode, output voltages are measured and reported as VID values, and have to be converted to voltages using VID conversion tables or functions. Support is added for VR11 only at this time. This patch enables support for PMBus devices supporting VID VR11 based output voltage selection such as NCP4200 and NCP4208. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
| * | | | hwmon: (pmbus) Move PMBus drivers to drivers/hwmon/pmbusGuenter Roeck2011-07-2813-95/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the number of PMBus drivers is getting large, move them into directory drivers/hwmon/pmbus to improve readability and scalability. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>