aboutsummaryrefslogtreecommitdiff
path: root/drivers/mfd
AgeCommit message (Collapse)AuthorFilesLines
2009-06-17mfd: early init for MFD running regulatorsGravatar Samuel Ortiz 3-3/+3
For MFDs running regulator cores, we really want them to be brought up early during boot. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Mike Rapoport <mike@compulab.co.il>
2009-06-17mfd: fix tmio related warningsGravatar Samuel Ortiz 3-3/+3
We can not have .driver_data as const since platform_set_drvdata() doesnt take a const. The hclk mmc_data field can be const though. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: asic3: enable SD/SDIO cellGravatar Philipp Zabel 1-1/+113
This enables the ASIC3's SD/SDIO MFD cell, supported by the tmio_mmc driver. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: asic3: enable DS1WM cellGravatar Philipp Zabel 2-0/+100
This enables the ASIC3's DS1WM MFD cell, supported by the ds1wm driver. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: asic3: use resource_size macro instead of local variableGravatar Philipp Zabel 1-4/+2
This should make the code a little bit easier to read. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: asic3: add clock handling for MFD cellsGravatar Philipp Zabel 1-0/+80
Since ASIC3 has to work on both PXA and S3C and since their struct clk implementations differ, we can't register out clocks with the clkdev mechanism (yet?). For now we have to keep clock handling internal to this driver and enable/disable the clocks via the mfd_cell->enable/disable functions. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: asic3: add asic3_set_register common operationGravatar Philipp Zabel 1-0/+15
Used to configure single bits of the SDHWCTRL_SDCONF and EXTCF_RESET/SELECT registers needed for DS1WM, MMC/SDIO and PCMCIA functionality. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: Fix Kconfig help text for WM8350Gravatar Mark Brown 1-1/+1
More with the grammar. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: add PCAP driverGravatar Daniel Ribeiro 3-0/+514
The PCAP Asic as present on EZX phones is a multi function device with voltage regulators, ADC, touch screen controller, RTC, USB transceiver, leds controller, and audio codec. It has two SPI ports, typically one is connected to the application processor and another to the baseband, this driver provides read/write functions to its registers, irq demultiplexer and ADC queueing/abstraction. This chip is used on a lot of Motorola phones, it was manufactured by TI as a custom product with the name PTWL93017, later this design evolved into the ATLAS PMIC from Freescale (MC13783). Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: add U300 AB3100 core supportGravatar Linus Walleij 3-1/+1007
This adds a core driver for the AB3100 mixed-signal circuit found in the ST-Ericsson U300 series platforms. This driver is a singleton proxy for all accesses to the AB3100 sub-drivers which will be merged on top of this one, RTC, regulators, battery and system power control, vibrator, LEDs, and an ALSA codec. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Reviewed-by: Mike Rapoport <mike@compulab.co.il> Reviewed-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17drivers/mfd: remove obsolete irq_desc_t typedefGravatar Thomas Gleixner 1-1/+1
The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users and remove the typedef. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd/pcf50633-gpio.c: add MODULE_LICENSEGravatar Adrian Bunk 1-0/+3
Add the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Balaji Rao <balajirrao@openmoko.org> Cc: Andy Green <andy@openmoko.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: Mark WM8350 mask revision as readable to match siliconGravatar Mark Brown 1-1/+1
No impact unless someone has written additional kernel code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: Mark clocks_init as non-init in twl4030-core.cGravatar Rakib Mullick 1-1/+1
Impact: Fix section mismatch. clocks_init() has been called from twl4030_probe() which is a non-init function. Since probing can be done anytime so clocks_init will be called anytime too. So we mark clock_init() as non-init. LD drivers/mfd/built-in.o WARNING: drivers/mfd/built-in.o(.text+0x8dd9): Section mismatch in reference from the function twl4030_probe() to the function .init.text:clocks_init() The function twl4030_probe() references the function __init clocks_init(). This is often because twl4030_probe lacks a __init annotation or the annotation of clocks_init is wrong. Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-17mfd: Correct readability of WM8350 register 227Gravatar Mark Brown 1-1/+1
This includes the USB current limit status override which is used in the power management driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-06-15mfd: remove driver_data direct access of struct deviceGravatar Greg Kroah-Hartman 3-4/+4
In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Samuel Ortiz <sameo@linux.intel.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-13MFD,mmc: tmio_mmc: make HCLK configurableGravatar Philipp Zabel 3-0/+15
The Toshiba parts all have a 24 MHz HCLK, but HTC ASIC3 has a 24.576 MHz HCLK and AMD Imageon w228x's HCLK is 80 MHz. With this patch, the MFD driver provides the HCLK frequency to tmio_mmc via mfd_cell->driver_data. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Ian Molton <ian@mnementh.co.uk> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Pierre Ossman <pierre@ossman.eu>
2009-05-19mfd: pcf50633: fix unsafe disable_irq()Gravatar Nelson Castillo 1-1/+1
Without this change Openmoko Freerunner (GTA02) bootstrap will deadlock. As pointed out in other patches this issue is in the wild since the merge of: : commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9 : Author: Thomas Gleixner <tglx@linutronix.de> : Date: Mon Mar 23 18:28:15 2009 +0100 : : genirq: add threaded interrupt handler support : : Add support for threaded interrupt handlers Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net> Cc: Ingo Molnar <mingo@elte.hu> Cc: <balajirrao@openmoko.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-05-19mfd: Keep a cache of WM8350 volatile valuesGravatar Mark Brown 1-8/+0
Due to the way that the WM8350 audio driver handles CODEC_ENA many of the WM8350 audio registers are marked as volatile when they aren't actually so. Allow the audio driver to see a cache of these values for inspection during interrupt context. To do this we need to stop satisfying any bits from volatile registers from cache - there's no real benefit from doing so anyway, we did the read already. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-04-05mfd: fix da903x warningGravatar Samuel Ortiz 1-1/+1
The da903x interrupt handler is retruning an int instead of an irqreturn_t. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-04-05mfd: Use the value of the final spin when reading the AUXADCGravatar Mark Brown 1-1/+1
Reverse the order of the tests for loop exit so we use a valid value before we time out. Vanishingly unlikely to happen since we retry for several times the expected conversion time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: Storage class should be before const qualifierGravatar Tobias Klauser 3-4/+4
The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: PASIC3: supply clock_rate to DS1WM via driver_dataGravatar Philipp Zabel 1-9/+13
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: convert PASIC3 to use MFD coreGravatar Philipp Zabel 2-98/+62
This patch makes htc-pasic3 register the DS1WM and LED cell drivers through the MFD core infrastructure instead of allocating the platform devices manually. It also calculates the bus_shift parameter from the memory resource size. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: Support active high IRQs on WM835xGravatar Mark Brown 1-1/+15
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: Use bulk read to fill WM8350 register cacheGravatar Mark Brown 1-9/+12
Some I2C controllers have high overheads for setting up I2C operations which makes the register cache setup on startup excessively slow since it does a lot of small transactions. Reduce this overhead by doing a bulk read of the entire register bank and filtering out what we don't need later. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-05mfd: remove duplicated #include from pcf50633Gravatar Huang Weiyi 1-1/+0
Removed duplicated #include <linux/device.h> in drivers/mfd/pcf50633-core.c Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-04-03Merge branch 'for-linus' of ↵Gravatar Linus Torvalds 1-1/+1
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: (28 commits) trivial: Update my email address trivial: NULL noise: drivers/mtd/tests/mtd_*test.c trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h trivial: Fix misspelling of "Celsius". trivial: remove unused variable 'path' in alloc_file() trivial: fix a pdlfush -> pdflush typo in comment trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL trivial: wusb: Storage class should be before const qualifier trivial: drivers/char/bsr.c: Storage class should be before const qualifier trivial: h8300: Storage class should be before const qualifier trivial: fix where cgroup documentation is not correctly referred to trivial: Give the right path in Documentation example trivial: MTD: remove EOL from MODULE_DESCRIPTION trivial: Fix typo in bio_split()'s documentation trivial: PWM: fix of #endif comment trivial: fix typos/grammar errors in Kconfig texts trivial: Fix misspelling of firmware trivial: cgroups: documentation typo and spelling corrections trivial: Update contact info for Jochen Hein trivial: fix typo "resgister" -> "register" ...
2009-03-31twl4030-regulator: expose VPLL2Gravatar David Brownell 1-2/+0
Add VPLL2 to the set of twl4030-family regulators exposed for use by various drivers. It's commonly used to power the digital video outputs (e.g. LCD or DVI displays) on OMAP3 systems. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2009-03-30trivial: fix typos/grammar errors in Kconfig textsGravatar Matt LaPlante 1-1/+1
Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-03-24mfd: struct device - replace bus_id with dev_name(), dev_set_name()Gravatar Kay Sievers 2-2/+2
Cc: sameo@openedhand.com Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
2009-03-12mfd: add support for WM8351 revision BGravatar Mark Brown 1-0/+5
No software visible difference from revision A. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-02-17mfd: Fix sm501_register_gpio section mismatchGravatar Rakib Mullick 1-1/+1
WARNING: drivers/mfd/built-in.o(.text+0x1706): Section mismatch in reference from the function sm501_register_gpio() to the function .devinit.text:sm501_gpio_register_chip() The function sm501_register_gpio() references the function __devinit sm501_gpio_register_chip(). This is often because sm501_register_gpio lacks a __devinit annotation or the annotation of sm501_gpio_register_chip is wrong. Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: fix sm501 section mismatchesGravatar Alexey Dobriyan 1-12/+12
drv => driver renaming is needed otherwise modpost will spit false positives re pointing to __devinit function from regular data. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: terminate pcf50633 i2c_device_id listGravatar Jean Delvare 1-0/+1
The i2c_device_id list is supposed to be zero-terminated. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Balaji Rao <balajirrao@openmoko.org> Signed-off-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2009-02-17mfd: Ensure all WM8350 IRQs are masked at startupGravatar Mark Brown 1-0/+7
The IRQs might have been left enabled in hardware, generating spurious IRQs before the drivers have registered. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: fix htc-egpio iomem resource handling using resource_sizeGravatar Philipp Zabel 1-1/+1
Fixes an off-by-one error in the iomem resource mapping. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: Fix TWL4030 build on some ARM variantsGravatar Mark Brown 1-1/+1
Many ARM platforms do not provide a mach/cpu.h so rather than guarding the use of that header with CONFIG_ARM guard it with the guards used when testing for the OMAP variants in the body of the code. Signed-off-by: Mark Brown <broonie@sirena.org.uk> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: wm8350 tries reaches -1Gravatar Roel Kluin 1-1/+1
With a postfix decrement tries will reach -1 rather than 0, so the warning will not be issued even upon timeout. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: Mark WM835x USB_SLV_500MA bit as accessibleGravatar Mark Brown 1-1/+1
The code is out of sync with the silicon. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: Improve diagnostics for WM8350 ID register probeGravatar Mark Brown 1-4/+19
Check the return value of the device I/O functions when reading the ID registers so we can provide a more useful diagnostic when we're having trouble talking to the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: Initialise WM8350 interrupts earlierGravatar Mark Brown 1-9/+9
Ensure that the interrupt handling is configured before we do platform specific init. This allows the platform specific initialisation to configure things which use interrupts safely. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-02-17mfd: Fix egpio kzalloc return testGravatar Julia Lawall 1-1/+1
Since ei is already known to be non-NULL, I assume that what was intended was to test the result of kzalloc. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-01-15mfd: Remove non exported references from pcf50633Gravatar Balaji Rao 1-1/+0
Remove references to set_irq_type and handle_level_irq which are not exported to modules Signed-off-by: Balaji Rao <balajirrao@openmoko.org> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-01-13Merge master.kernel.org:/home/rmk/linux-2.6-armGravatar Linus Torvalds 1-4/+4
* master.kernel.org:/home/rmk/linux-2.6-arm: TWL4030: fix clk API usage [ARM] 5364/1: allow flush_ioremap_region() to be used from modules [ARM] w90x900: fix build errors and warnings [ARM] i.MX add missing include [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h
2009-01-13TWL4030: fix clk API usageGravatar Russell King 1-4/+4
Always pass a struct device if one is available; and there's really no reason for the processor specific stuff in this file if only people would follow the API usage properly by using the struct device. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-11mfd: Fix twl4030-core buildGravatar Samuel Ortiz 1-0/+3
Fixes: drivers/mfd/twl4030-core.c:657: error: implicit declaration of function 'cpu_is_omap2430' Not the nicest fix, but this should be improved by a better OMAP clock API implementation. Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-01-11mfd: Ensure sm501 GPIO pin mode is GPIO when configuredGravatar Ben Dooks 1-2/+28
When setting an GPIO to either input or output, we should ensure that the pin configuration elsewhere in the chip is set to GPIO in-case the initial setup has not been done correctly. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-01-11mfd: dm355 evm MMC/SD card detectionGravatar David Brownell 1-0/+10
Support card detect and writeprotect switches on DM355 EVM. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
2009-01-11mfd: PCF50633 gpio supportGravatar Balaji Rao 3-1/+127
What the PCF05633 calls as a 'GPIO' is much more than the GPIO in the linux sense and there are only 4 of them - which means, the gpiolib is not used here. Signed-off-by: Balaji Rao <balajirrao@openmoko.org> Cc: Andy Green <andy@openmoko.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>