aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
Commit message (Collapse)AuthorAgeFilesLines
* mfd: Fix a memory leak when unload mc13xxx-core moduleAxel Lin2010-10-291-0/+2
| | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix resource reclaim for max8998Axel Lin2010-10-291-0/+4
| | | | | | | | Properly free irq and unregister max8998->rtc device in max8998_i2c_probe() error path and max8998_i2c_remove(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove unneeded ret value checking for max8998 register updatesAxel Lin2010-10-291-2/+0
| | | | | | | | i2c_smbus_write_byte_data() returns zero or negative value, therefore no need to check if ret is greater than zero or not. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add free max8998->ono irq in max8998_irq_exit()Axel Lin2010-10-291-0/+3
| | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix resource reclaim in pcf50633_remove()Axel Lin2010-10-291-0/+2
| | | | | | | | | Calling sysfs_remove_group() to remove sysfs entries and unregister bl_pdev in pcf50633_remove(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Harald Welte <laforge@gnumonks.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix ezx_pcap_probe error pathAxel Lin2010-10-291-0/+1
| | | | | | | return -ENOMEM if create_singlethread_workqueue failed. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix off-by-one value range checking for tps6507xAxel Lin2010-10-291-1/+1
| | | | | | | | If bytes == (TPS6507X_MAX_REGISTER + 1), we have a buffer overflow when doing memcpy(&msg[1], src, bytes). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove __devinitdata from tc6393xb_mmc_resourcesMarek Vasut2010-10-291-1/+1
| | | | | | | | | | | This static struct resource tc6393xb_mmc_resources[] is used in resume function, therefore the data can not be wiped after init. Also, this causes a section mismatch. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add WM831x SPI supportMark Brown2010-10-293-0/+244
| | | | | | | Implement support for controlling WM831x and WM832x devices using SPI. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Factor out WM831x I2C I/O from the core driverMark Brown2010-10-294-139/+158
| | | | | | | | | | | | In preparation for the addition of SPI support for the WM831x move the I2C specific code into a separate file with a separate Kconfig option so the I2C support can be excluded from the build. Also update the 1133-EV1 PMIC module support for SMDK6410 to use the new symbol. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove DEBUG defines from mc13xxx-coreSamuel Ortiz2010-10-291-2/+0
| | | | | | | DEBUG and VERBOSE_DEBUG are not used. Reported-by: David Jander <david@protonic.nl> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix jz4740_adc_set_enabledAxel Lin2010-10-291-1/+1
| | | | | | | | When enabled is false, clear BIT(engine) of JZ_REG_ADC_ENABLE register. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add TPS658621C device IDAndrew Chew2010-10-291-1/+3
| | | | | | | | | The interface for this device should be identical to that of the TPS658521A. Signed-off-by: Andrew Chew <achew@nvidia.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix twl-irq function declaration warningsG, Manjunath Kondaiah2010-10-293-0/+13
| | | | | | | | | | | | | | | | | | | | | | Fixes following sparse warnings for twl4030 and twl6030 irq files. drivers/mfd/twl4030-irq.c:783:5: warning: symbol 'twl4030_init_irq' was not declared. Should it be static? drivers/mfd/twl4030-irq.c:863:5: warning: symbol 'twl4030_exit_irq' was not declared. Should it be static? drivers/mfd/twl4030-irq.c:873:5: warning: symbol 'twl4030_init_chip_irq' was not declared. Should it be static? drivers/mfd/twl6030-irq.c:226:5: warning: symbol 'twl6030_init_irq' was not declared. Should it be static? drivers/mfd/twl6030-irq.c:290:5: warning: symbol 'twl6030_exit_irq' was not declared. Should it be static? Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Tony Lindgren <tony@atomide.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Support for ICs compliant with max8998Lukasz Majewski2010-10-291-2/+3
| | | | | | | | Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix TWL4030 COR bit polarity for BCI SIH blockGrazvydas Ignotas2010-10-291-1/+2
| | | | | | | | | | | | The chip TRM documentation contradicts itself about this bit, page 174 of swcu050e says bit should be 0 for clear-on-read behavior, while page 487 says it should be 1. Testing shows it should be 1, so set the .set_cor flag accordingly. This is needed for upcoming BCI charging driver to function. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add devices platform data when the cell data size is not 0Brian Harring2010-10-291-4/+6
| | | | | | | | | When the cell data_size is 0, the resulting platform_data pointer will be set to ZERO_SIZE_PTR. That could be misleading for device drivers running a NULL check on thei platform_data pointer before dereferencing it. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add twl4030_bci platform_data backGrazvydas Ignotas2010-10-291-0/+17
| | | | | | | | | | Now that we have twl4030 charger driver, add back it's platform_data (which was removed by f7ea2dc59ed46dcd0f1cfaccda02211f4507207b as unused). Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Adding twl6030 mmc card detect support for MMC1kishore kadiyala2010-10-291-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | Adding card detect callback function and card detect configuration function for MMC1 Controller on OMAP4. Card detect configuration function does initial configuration of the MMC Control & PullUp-PullDown registers of Phoenix. For MMC1 Controller, card detect interrupt source is twl6030 which is non-gpio. The card detect call back function provides card present/absent status by reading MMC Control register present on twl6030. Since OMAP4 doesn't use any GPIO line as used in OMAP3 for card detect, the suspend/resume initialization which was done in omap_hsmmc_gpio_init previously is moved to the probe thus making it generic for both OMAP3 & OMAP4. Cc: Tony Lindgren <tony@atomide.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Madhusudhan Chikkature <madhu.cr@ti.com> Cc: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add mc13892 support to mc13xxxUwe Kleine-König2010-10-294-746/+848
| | | | | | | | | | | mc13892 is the companion PMIC for Freescale's i.MX51. It's similar enough to mc13782 to support it in a single driver. This patch introduces enough compatibility cruft to keep all users of the superseded mc13783 driver unchanged. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove obsolete mc13783 private dataUwe Kleine-König2010-10-291-18/+9
| | | | | | | | | | | | | | | | The regulator driver was converted to get the needed data directly from platform_data by a10099b (regulator/mc13783: various cleanups) so regulators and num_regulators can go away. Then apart from the flag indicating that the adc does a conversion, flags is only a copy of the flags member of platform_data. This flag isn't needed to be returned by mc13783_get_flags, so mc13783_get_flags now gets the flags from platform_data, too and the driver private member is renamed for clearity. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add VIA VX855 multi-function device supportDaniel Drake2010-10-293-0/+157
| | | | | | | | | | | This device has GPIO, SPI and I2C capabilities. The hardware can be found in the OLPC XO-1.5 laptop. Based on earlier work by Harald Welte. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Allow for bypass of cell resource conflict checkDaniel Drake2010-10-291-3/+5
| | | | | | | | | | The upcoming VIA VX855 MFD driver needs to communicate resources to subdevices where the resources may be claimed by ACPI. Add a flag to mfd_cell to request that resources are not policed. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* input: Monitor both onkey up and down eventHaojian Zhuang2010-10-291-3/+8
| | | | | | | | | Remove original 3-second ONKEY event. Detect ONKEY changing event directly. So both UP and DOWN event of ONKEY in max8925 are monitered. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add WM8325 supportMark Brown2010-10-291-0/+14
| | | | | | | | | The WM8325 is a PMIC for low power, high performance applications. From a software point of view the device is identical to the WM8320, all the differences are at the hardware level. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix twl-core sparse warningG, Manjunath Kondaiah2010-10-291-1/+1
| | | | | | | | | | | | Fixes below sparse warning. drivers/mfd/twl-core.c:258:20: warning: symbol 'twl_map' was not declared. Should it be static? Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Tony Lindgren <tony@atomide.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use DMA for timberdale's ks8842Richard Röjfors2010-10-291-0/+14
| | | | | | | | | This patch defines platform data for the ks8842 int the timberdale MFD. The platform data contains DMA channels to be used by the driver. Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add PM support to STMPE devicesSundar Iyer2010-10-291-0/+32
| | | | | | | | | | Add PM helpers to STMPE and add support to enable wakeup from low power states Acked-by: Rabin VINCENT <rabin.vincent@stericsson.com> Acked-by: Linus WALLEIJ <linus.walleij@stericsson.com> Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: msp430 expects I2C to be built-inSamuel Ortiz2010-10-291-1/+1
| | | | | | msp430 being a bool, it will only work with I2C=y Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Update kconfig for ab8500 core driverArun Murthy2010-10-291-1/+1
| | | | | | | | | | | | | This patch add a dependancy for ab8500-core driver so as to depend on u8500 platform. This patch also fixes the build issues(powerpc_allyesconfig) for the patch 03f582a93ecca6e9584b622570022abf08ed03ec (misc: Add ab8500 pwm driver) Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add basic tps6586x interrupt supportGary King2010-10-292-2/+202
| | | | | | | | Add support for enabling and disabling tps6586x subdevice interrupts Signed-off-by: Gary King <gking@nvidia.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: AB8500 register access via PRCMU I2CMattias Wallin2010-10-294-4/+121
| | | | | | | | | This patch adds the choice of accessing the AB8500 registers via prcmu I2C. Access either via SPI or I2C is supported. 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: AB8500 debugfsMattias Wallin2010-10-294-0/+666
| | | | | | | | | | | This patch adds the possibility to read and write registers via the debug_fs. It also adds ranges of registers sorted by bank which makes it possible to read all defined registers in a bank. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Update chip id of 88pm8607Haojian Zhuang2010-10-291-2/+5
| | | | | | | Chipid of 88pm8607 is 0x40 or 0x50. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* misc: Add ab8500 pwm driverArun Murthy2010-10-291-1/+12
| | | | | | | | | | This patch adds a Pulse Width Modulation driver for Analog Baseband Chip AB8500. Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Align ab8500 with the abx500 interfaceMattias Wallin2010-10-292-117/+168
| | | | | | | | | | | | | This patch makes the ab8500 mixed signal chip expose the same interface for register access as the ab3100, ab3550 and ab5500 chip. The ab8500_read() and ab8500_write() is removed and replaced with abx500_get_register_interruptible() and abx500_set_register_interruptible(). Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mmc: Allow 2 byte requests in 4-bit mode for tmio_mmcYusuke Goda2010-10-291-0/+6
| | | | | | | | | | | | | Adjust the tmio_mmc block size check to accept 2-byte requests in 4-bit mode if the hardware supports it. Tested with the SDHI hardware block included in sh7724. Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com> Signed-off-by: Matt Fleming <matt@console-pimps.org> Acked-by: Magnus Damm <damm@opensource.se> Tested-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Allow the platform to specify the sh_mobile_sdhi get_cd handlerArnd Hannemann2010-10-291-0/+13
| | | | | | | | | | | On some platforms (e.g. AP4EVB) the card detect pin of a slot is not directly connected to the sdhi hardware, so that polling needs to be used with tmio_mmc and card detection is handled in the platform code. This patch allows to set tmio_mmc capabilities (to pass the MMC_CAP_NEEDS_POLL flag) and exposes a get_cd hook for that purpose. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* rtc: Add MAX8998 rtc driverJoonyoung Shim2010-10-291-1/+23
| | | | | | | | | | | This adds support for the RTC provided by the Maxim 8998 chip. This driver was tested on a GONI board by using the rtc-test application from the Documentation/rtc.txt. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add MAX8998 interrupts supportJoonyoung Shim2010-10-294-3/+281
| | | | | | | | | Use genirq and provide seperated file for interrupts support. Signed-off-by: Joonyoung Shim <jy0922.shim@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: Use i2c_client as an argument on MAX8998 i2c routinesJoonyoung Shim2010-10-291-15/+14
| | | | | | | | | | | | | The MAX8998 chip have regulator and rtc features. The i2c slave address of regulator and rtc is different, so needs each i2c client on i2c operation functions. Also, this patch exports i2c operation functions instead of callback to make easy to read. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove redundant code to get htc_pasic3 irqAxel Lin2010-10-291-7/+0
| | | | | | | There is no reason to get irq twice. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix tps6586x_add_subdevs error pathAxel Lin2010-10-291-1/+7
| | | | | | | | | 1. return -ENOMEM if platform_device_alloc() fail. 2. call platform_device_put() if platform_device_add() fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix pcap_add_subdev error pathAxel Lin2010-10-291-1/+9
| | | | | | | | 1. return -ENOMEM if platform_device_alloc() fail. 2. call platform_device_put() if platform_device_add() fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix da903x_add_subdevs error pathAxel Lin2010-10-291-1/+7
| | | | | | | | | | | This patch fixes da903x_add_subdevs error path: 1. return -ENOMEM if platform_device_alloc() fail. 2. call platform_device_put() if platform_device_add() fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add codec resource into 88pm860x driverHaojian Zhuang2010-10-291-0/+44
| | | | | | | | Add codec IRQ resources that are used in 88pm860x codec driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Free tps6586x allocated resources when unload the moduleAxel Lin2010-10-291-0/+13
| | | | | | | | For the resources allocated in tps6586x_i2c_probe(), we need to free it in tps6586x_i2c_remove(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Switch twl4030-power over to defines in twl.hFelipe Balbi2010-10-291-14/+16
| | | | | | | | use the new definitions on twl header for code consistency. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Switch twl-core over to defines in twl.hFelipe Balbi2010-10-291-12/+9
| | | | | | | | use the new definitions on twl header for code consistency. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: LP3974 PMIC supportKyungmin Park2010-10-292-7/+9
| | | | | | | LP3974 PMIC support. It has same functionality as max8998. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>