aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
Commit message (Collapse)AuthorAgeFilesLines
* mfd: ab8500-core chip version cut 2.0 supportMattias Wallin2011-01-141-11/+25
| | | | | | | | | This patch adds support for chip version 2.0 or cut 2.0. One new interrupt latch register - latch 12 - is introduced. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Flag WM831x /IRQ as a wake sourceMark Brown2011-01-141-0/+11
| | | | | | | | | The WM831x can generate wake events, some unconditionally, so flag the primary IRQ as a wake source in order to help the CPU treat the /IRQ signal appropriately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert WM831x away from legacy I2C PM operationsMark Brown2011-01-141-5/+8
| | | | | | | | Since the legacy bus PM operations are deprecated move the suspend method over to dev_pm_ops. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Support LP3974 RTCMyungJoo Ham2011-01-141-3/+23
| | | | | | | | | | | | | | | | | | | | | | The first releases of LP3974 have a large delay in RTC registers, which requires 2 seconds of delay after writing to a rtc register (recommended by National Semiconductor's engineers) before reading it. If "rtc_delay" field of the platform data is true, the rtc driver assumes that such delays are required. Although we have not seen LP3974s without requiring such delays, we assume that such LP3974s will be released soon (or they have done so already) and they are supported by "lp3974" without setting "rtc_delay" at the platform data. This patch adds delays with msleep when writing values to RTC registers if the platform data has rtc_delay set. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: MAX8998/LP3974 hibernation supportMyungJoo Ham2011-01-142-0/+115
| | | | | | | | | This patch makes the driver to save and restore register values for hibernation. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd/ab8500: remove spi supportSundar Iyer2011-01-143-148/+5
| | | | | | | Since the Ab8500 v1.0, the SPI support is deprecated on the HW. Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove ARCH_U8500 dependency from AB8500Mark Brown2011-01-141-1/+1
| | | | | | | | | | | While it is vanishingly unlikely that the device will be deployed on other architectures removing the dependency facilitates build testing when doing generic work on both the MFD core for the device and the subsystem drivers. There appears to be no actual code dependency. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add __devexit annotation for vx855_removeAxel Lin2011-01-141-1/+1
| | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: twl6030 irq_data conversion.Lennert Buytenhek2011-01-141-1/+1
| | | | | | Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert Wolfson MFD drivers to use irq_data accessor functionMark Brown2011-01-143-13/+13
| | | | | | | | Actually makes the code larger rathe rthan smaller but does provide some isolation against core API changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert TWL4030 to new irq_ APIsMark Brown2011-01-141-14/+14
| | | | | | | | The genirq core is being updated to pass struct irq_data to irq_chip operations. Update the TWL4030 driver to the new APIs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert tps6586x driver to new irq_ APIMark Brown2011-01-141-14/+14
| | | | | | | | | | The genirq core is being updated to supply struct irq_data to irq_chip operations rather than an irq number. Update the tps6586x driver to the new APIs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert tc6393xb driver to new irq_ APIsMark Brown2011-01-141-11/+11
| | | | | | | | | The genirq core is being update to pass struct irq_data to irq_chip rather than an irq number to operations. Update tc6393 to the new API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert t7166xb driver to new irq_ APIMark Brown2011-01-141-10/+10
| | | | | | | | | | The genirq core is being updated to pass struct irq_data rather than an irq number to irq_chip operations. Update the t7166xb driver to the new APIs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert SMTPE driver to new irq_ APIsMark Brown2011-01-141-14/+14
| | | | | | | | | | The genirq core is being updated to supply struct irq_data to irq_chip operations rather than an irq number. Update the SMTPE driver to the new APIs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert MAX8998 driver to irq_ APIMark Brown2011-01-141-14/+16
| | | | | | | | The genirq core is being updated to pass struct irq_data to interrupt operations, update the MAX8998 driver to the new API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert max8925 to new irq_ APIMark Brown2011-01-141-15/+15
| | | | | | | | The genirq infrastructure is being converted to pass struct irq_data rather than an irq number to irq_chip operations, update max8925 to the new APIs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert jz4740-adc to new irq_ methodsMark Brown2011-01-141-13/+12
| | | | | | | | | | Convert the jz4740-adc driver to use the recently introduced IRQ API variants which are passed struct irq_data rather than an IRQ number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert HTC I2C CPLD driver to irq_ APIMark Brown2011-01-141-15/+15
| | | | | | | | | The genirq core is being converted to pass a struct irq_data to interrupt operations rather than an IRQ number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Cory Maccarrone <darkstar6262@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert HTC EGPIO driver to irq_ APIMark Brown2011-01-141-13/+14
| | | | | | | | The genirq core is being converted to pass a struct irq_data to interrupt operations rather than an IRQ number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert ezx-pcap to new irq_ methodsLennert Buytenhek2011-01-141-10/+10
| | | | | | Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert AB8500 to new irq_ methodsMark Brown2011-01-141-14/+14
| | | | | | | | | The genirq core is being converted to supply struct irq_data to chips rather than the interrupt number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert AB3500 to new irq_ APIsMark Brown2011-01-141-15/+13
| | | | | | | | | | | The genirq core is being updated to pass struct irq_data rather than irq numbers into chip drivers. As part of the update assignments to NULL for unused operations are removed, these are not needed and the genirq docs should be good enough. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert ASIC3 to new irq_ APIsMark Brown2011-01-141-28/+28
| | | | | | | | | The interrupt controller APIs are being updated to pass a struct irq_data rather than the interrupt number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert 88PM860x driver to new irq_ APIsMark Brown2011-01-141-21/+15
| | | | | | | | The interrupt controller APIs are being updated to pass a struct irq_data rather than the interrupt number. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Staticise internal functions in HTC I2CCPLD driverMark Brown2011-01-141-5/+5
| | | | | | | | | Most of these are GPIO operations, though a couple are just internal only functions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Cory Maccarrone <darkstar6262@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use NULL to initialise NULL pointers in ab8500-debugfsMark Brown2011-01-141-7/+7
| | | | | | | | Partly for coding style reasons, but mostly because sparse warns on it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Correct ASIC3 IRQ_OWM resource setupMark Brown2011-01-141-1/+1
| | | | | | | | We should specify both a start and an end for the IRQ range rather than initialise the start twice. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Staticise unexported symbols in ASIC3Mark Brown2011-01-141-2/+2
| | | | | | | | There's no use of either of these outside of the driver so they can be declared static. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove tps6586x device ID checkStephen Warren2011-01-141-7/+1
| | | | | | | | | | | | | | | ... and convert it to a dev_info print at probe time. There are many variants of this chip with different values of VERSIONCRC. The set of values is large, and not useful to enumerate. All are SW compatible. The difference lies in default settings of the various power rails, and other similar differences. The driver, or clients of the driver, shouldn't be affected by this, since all rails should be programmed into the desired state in all cases for correct operation. Derived-from-code-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix twl_probe section mismatch warning in mfd/twl-core.cBryan Wu2011-01-141-1/+1
| | | | | | | | | | | | Fix the following section mismatch warning when building omap2plus_defconfig: WARNING: vmlinux.o(.data+0x47d7c): Section mismatch in reference from the variable twl_driver to the function .init.text:twl_probe() Signed-off-by: Bryan Wu <bryan.wu@canonical.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: ab8500-core ioresources irq for subdrivers addedMattias Wallin2011-01-141-7/+199
| | | | | | | | This patch adds the ioresources used by subdrivers to retrieve their interrupt. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: ab8500-core wake up from suspendMattias Wallin2011-01-141-1/+2
| | | | | | | | | This patch makes the system wake up from suspend when an ab8500 interrupt occur. This can for example be USB cable insert or an RTC alarm. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Export ab8500 chip id to sysfsMattias Wallin2011-01-141-0/+25
| | | | | | | | | This patch adds a file into sysfs for reading out chip id. It has been requested for modem silent reboot. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Ludovic Barre <ludovic.barre@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: ab8500-core improved error handling in get_chip_idMattias Wallin2011-01-141-2/+6
| | | | | | | We check for dev before dereferencing it. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix cs5535 warning on x86-64Andres Salomon2011-01-141-1/+1
| | | | | | | | | ARRAY_SIZE() returns size_t; use %zu instead of %d so that we don't get warnings on x86-64. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Implement runtime PM for WM8994 core driverMark Brown2011-01-141-23/+23
| | | | | | | | | | | | Allow the WM8994 to completely power off, including disabling the LDOs if they are software controlled, when it goes idle. The CODEC subdevice controls activity for the MFD as a whole. If the GPIOs need to be used while the device is active runtime PM should be disabled for the device by machine specific code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Provide pm_runtime_no_callbacks flag in cell dataMark Brown2011-01-141-0/+4
| | | | | | | | | | | | Allow MFD cells to have pm_runtime_no_callbacks() called on them during registration. This causes the runtime PM framework to ignore them, allowing use of runtime PM to suspend the device as a whole even if not all drivers for the MFD can usefully implement runtime PM. For example, RTCs are likely to run continuously regardless of the power state of the system. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix ab8500-debug indentation errorsMattias Wallin2011-01-141-508/+508
| | | | | | | Replace spaces with proper tabs. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert WM8994 to new irq_ interrupt methodsMark Brown2011-01-141-15/+17
| | | | | | | | | Kernel 2.6.37 adds new interrupt methods which take a struct irq_data rather than an irq number. Convert over to these as they will become mandatory in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert WM835x to new irq_ interrupt methodsMark Brown2011-01-141-15/+17
| | | | | | | | | Kernel 2.6.37 adds new interrupt methods which take a struct irq_data rather than an irq number. Convert over to these as they will become mandatory in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert WM831x to new irq_ interrupt methodsMark Brown2011-01-141-20/+22
| | | | | | | | | Kernel 2.6.37 adds new interrupt methods which take a struct irq_data rather than an irq number. Convert over to these as they will become mandatory in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add WM8326 supportMark Brown2011-01-143-0/+26
| | | | | | | | The WM8326 is a high performance variant of the WM832x series with no software visible differences. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Simplify WM832x subdevice instantiationMark Brown2011-01-141-10/+0
| | | | | | | | All the current WM832x devices have the same set of subdevices so can just use multiple case statements with a single body. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use printf extension %pR for struct resourceJoe Perches2011-01-141-5/+2
| | | | | | | Using %pR standardizes the struct resource output. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add cs5535-mfd driver for AMD Geode's CS5535/CS5536 supportAndres Salomon2011-01-143-0/+160
| | | | | | | | | Add an MFD driver to handle the ISA device on CS5535 and CS5536 southbridges. This ISA bridge is actually multiple devices: GPIOs, MFGPTs, etc. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Don't open-code mc13xxx_unlockUwe Kleine-König2011-01-141-1/+1
| | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Include <linux/gpio.h> instead of <asm/gpio.h>Axel Lin2011-01-141-1/+1
| | | | | | | | As warned by checkpatch.pl, use #include <linux/gpio.h> instead of <asm/gpio.h>. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Include <linux/io.h> instead of <asm/io.h>Axel Lin2011-01-141-1/+1
| | | | | | | | As warned by checkpatch.pl, use #include <linux/io.h> instead of <asm/io.h> Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Update WARN usesJoe Perches2011-01-141-3/+2
| | | | | | | Remove KERN_<level>. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>