- 12 8月, 2010 12 次提交
-
-
由 Rabin Vincent 提交于
Add support for the STMPE family of I/O Expanders from STMicroelectronics. These devices include upto 24 gpios and a varying selection of blocks, including PWM, keypad, and touchscreen controllers. This patch adds the MFD core. [l.fu@pengutronix.de: fix stmpe811 enable hook] [l.fu@pengutronix.de: add touchscreen platform data] Acked-by: NLuotao Fu <l.fu@pengutronix.de> Acked-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Axel Lin 提交于
This patch includes below fixes to properly free clk32k clock source: 1. remove a redundant clk_put in t7l66xb_probe error path 2. add missing clk_disable(t7l66xb->clk32k) and clk_put(t7l66xb->clk32k) to properly free the clock source. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Samuel Ortiz 提交于
For people to be able to intellingibly decide if they want to enable MFD drivers or not, we have to give them a much better description of what they are.
-
由 Mark Brown 提交于
These are now exported via an ops table rather than referenced directly and so should be staticised. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Julia Lawall 提交于
Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Axel Lin 提交于
platform_device_add_resources may fail, thus add error checking for it. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Julia Lawall 提交于
Use !x rather than IS_ERR(x) to test the result of kzalloc. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,E; @@ x = \(kmalloc\|kzalloc\|kcalloc\)(...) ... when != x = E - IS_ERR(x) + !x // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Linus Walleij 提交于
The registers on the AB8500 are only 8 bits wide, so the content of the remaining bits is undefined. Let's mask off the undefined stuff when returning a register in an SPI read. Acked-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Dan Carpenter 提交于
The original code had a compile warning: drivers/mfd/88pm860x-core.c:431: warning: ‘ret’ may be used uninitialized in this function It seems like the warning is valid if either pdata or pdata->touch is NULL. This patch checks pdata and pdata->touch at the beginning of the function. That means everything can be pulled in one indent level. Now all the statements fit within the 80 character limit. Also at that point the "use_gpadc" variable isn't needed and removing it simplifies the logic. Signed-off-by: NDan Carpenter <error27@gmail.com> Acked-by: NHaojian Zhuang <hzhuang1@marvell.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Axel Lin 提交于
In current implementation, there is a memory leak if ab3100_otp_read fail. And in the case of ab3100_otp_init_debugfs fail, it does not properly remove sysfs entries. This patch properly handle above failure cases. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Haojian Zhuang 提交于
Fix typo error in LED resource of 88pm860x. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Haojian Zhuang 提交于
Enable onkey feature in max8925 driver. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 03 6月, 2010 1 次提交
-
-
由 Wolfram Sang 提交于
I2C drivers can use the clientdata-pointer to point to private data. As I2C devices are not really unregistered, but merely detached from their driver, it used to be the drivers obligation to clear this pointer during remove() or a failed probe(). As a couple of drivers forgot to do this, it was agreed that it was cleaner if the i2c-core does this clearance when appropriate, as there is no guarantee for the lifetime of the clientdata-pointer after remove() anyhow. This feature was added to the core with commit e4a7b9b0 to fix the faulty drivers. As there is no need anymore to clear the clientdata-pointer, remove all current occurrences in the drivers to simplify the code and prevent confusion. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NGreg Kroah-Hartman <gregkh@suse.de> Acked-by: NRichard Purdie <rpurdie@linux.intel.com> Acked-by: NDmitry Torokhov <dtor@mail.ru> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
- 28 5月, 2010 27 次提交
-
-
由 Ilkka Koskinen 提交于
Fix the names of twl5031 specific sih modules to match the documentation. Signed-off-by: NIlkka Koskinen <ilkka.koskinen@nokia.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Tobias Klauser 提交于
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: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Wolfram Sang 提交于
Unlike real i2c-devices which get detached from the driver, dummy-devices get truly unregistered. So, there has never been a need to clear the clientdata because the device will go away anyhow. For the occasions fixed here, clearing clientdata was even dangerous as the structure was freed already. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Rabin Vincent 提交于
Add a new driver to support the AB8500 Power Management chip, replacing the current AB4500. The new driver replaces the old one, instead of an incremental modification, because this is a substantial overhaul including: - Split of the driver into -core and -spi portions, to allow another interface layer to be added - Addition of interrupt support - Switch to MFD core API for handling subdevices - Simplification of the APIs to remove a redundant block parameter - Rename of the APIs and macros from ab4500_* to ab8500_* - Rename of the files from ab4500* to ab8500* - Change of the driver name from ab4500 to ab8500 Acked-by: NLinus Walleij <linus.walleij@stericsson.com> Acked-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Florian Fainelli 提交于
The rdc321x southbridge PCI device has no MEM PCI resources that we could pass to mfd_add_devices. Since 33254dd5, mfd_add_device checks for the mem_base argument that we set to NULL. Changing the resources passed to our MFD cells from IORESOURCE_MEM to IORESOURCE_IO fixes that. Since we use those resources as offsets to the PCI configuration space base address of the southbridge device this is also more adequate. Signed-off-by: NFlorian Fainelli <florian@openwrt.org> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Lars-Peter Clausen 提交于
This reduces code clutter a bit and will ease an migration to genirq. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Lars-Peter Clausen 提交于
Use threaded oneshot irq handler instead of normal irq handler and a workqueue. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Lars-Peter Clausen 提交于
Currently it's not guaranteed that request struct is not already freed when reading from it. Fix this by moving synced request related fields from the pcf50633_adc_request struct to its own struct and store it on the functions stack. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Lars-Peter Clausen 提交于
Those constants are alreay bitfields. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Randy Dunlap 提交于
Change MFD 'menu' to 'menuconfig' to facilitate easy (one-click) disabling of all MFD drivers. Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mattias Wallin 提交于
This adds a core driver for the AB3550 mixed-signal circuit found in the ST-Ericsson U300 platforms. This driver is a singleton proxy for all access to the AB3550 sub functionality drivers which can be added on top of this one: RTC, regulators, battery and system power control, vibrator, LEDs and an ALSA codec. Signed-off-by: NMattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mattias Wallin 提交于
The interface for the AB3100 is changed to make way for the ABX500 family of chips: AB3550, AB5500 and future ST-Ericsson Analog Baseband chips. The register access functions are moved out to a separate struct abx500_ops. In this way the interface is moved from the implementation and the sub functionality drivers can keep their interface intact when chip infrastructure and communication mechanisms changes. We also define the AB3550 device IDs and the AB3550 platform data struct and convert the catenated 32bit event to an array of 3 x 8bits. Signed-off-by: NMattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Linus Walleij 提交于
The goal here is to make way for a more general interface for the analog baseband chips ab3100 ab3550 ab550 and future chips. This patch have been divided into two parts since both changing name and content of a file is not recommended in git. Signed-off-by: NMattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Rabin Vincent 提交于
The TC35892 I/O Expander provides 24 GPIOs, a keypad controller, timers, and a rotator wheel interface. This patch adds the MFD core. Acked-by: NLinus Walleij <linus.walleij@stericsson.com> Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Haojian Zhuang 提交于
There're two IRQ pins output from MAX8925. One is PMIC interrupt, the other is TSC interrupt. But they're sharing one irq chip. After initializing MAX8925 interrupts, unexpected TSC interrupt may occur and it can't be cleared if touch driver isn't loaded. Now move the operation of masking TSC interrupt behind requesting PMIC interrupt. If touch driver isn't loaded, this interrupt is always masked. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Rabin Vincent 提交于
The i2c_client received in probe() should not be kfree()'d. Signed-off-by: NRabin Vincent <rabin@rab.in> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Phil Carmody 提交于
Accessing num_reg elements in the interval [reg .. reg+num_regs) is permitted if (reg+numregs <= array size), so barf when that excluded upper bound is > array size. The prior -1 would give access to one too many elements. Signed-off-by: NPhil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
The charger interrupts on the WM831x are unconditionally a wake source for the system. If the power driver is not able to monitor them (for example, due to the IRQ line not having been wired up on the system) then any charger interrupt will prevent the system suspending for any meaningful amount of time since nothing will ack them. Avoid this issue by manually acknowledging these interrupts when we suspend the WM831x core device if they are masked. If software is actually using the interrupts then they will be unmasked and this change will have no effect. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
Ensure that the hardware has interrupts masked if we are not using the interrupt controller on the WM831x by initialising the masks before we check for the setup data required for the IRQ line. This avoids signalling an unused IRQ line and improves the robustness of checks that the IRQ is in use. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Todd Fischer 提交于
Add touch screen input driver for TPS6507x family of multi-function chips. Uses the TPS6507x MFD driver. No interrupt support due to testing limitations of current hardware. Signed-off-by: NTodd Fischer <todd.fischer@ridgerun.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Todd Fischer 提交于
TPS6507x are multi function (PM, touchscreen) chipsets from TI. This commit also changes the corresponding regulator driver from being standalone to an MFD subdevice. Signed-off-by: NTodd Fischer <todd.fischer@ridgerun.com> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
Currently completion of WM831x AUXADC conversions is monitored by checking for convertor enable. Due to the mechanism used to ensure data corruption is avoided when reading AUXADC data there may under heavy I/O be a window where this bit has cleared but the conversion results have not been updated. Data availability is only guaranteed after the AUXADC data interrupt has been asserted. Avoid this by always using the interrupt to detect completion. If the chip IRQ is not set up then we poll the IRQ status register for up to 5ms. If it is set up then we rely on the data done interrupt with a vastly increased timeout, failing the conversion if the interrupt is not generated. This also saves a register read when using interrupts. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Ira W. Snyder 提交于
The Janz CMOD-IO PCI MODULbus carrier board is a PCI to MODULbus bridge, which may host many different types of MODULbus daughterboards, including CAN and GPIO controllers. Signed-off-by: NIra W. Snyder <iws@ovro.caltech.edu> Reviewed-by: NWolfgang Grandegger <wg@grandegger.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Dan Carpenter 提交于
"pcf->irq_handler" has PCF50633_NUM_IRQ elements. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Mark Brown 提交于
This was used by the old, pre-genirq IRQ implementation but is no longer required. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Richard Röjfors 提交于
Add platform data for timb-dma, and add it in to timb-dma in all configurations of timberdale. Also incremented the version number. Signed-off-by: NRichard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Henrik Kretzschmar 提交于
This patch fixes three section mismatches. WARNING: drivers/mfd/88pm860x.o(.text+0x12): Section mismatch in reference from the function pm860x_device_exit() to the function .devexit.text:device_irq_exit() The function pm860x_device_exit() references a function in an exit section. Often the function device_irq_exit() has valid usage outside the exit section and the fix is to remove the __devexit annotation of device_irq_exit. WARNING: drivers/mfd/88pm860x.o(.text+0xb0): Section mismatch in reference from the function pm860x_device_init() to the function .devinit.text:device_8606_init() The function pm860x_device_init() references the function __devinit device_8606_init(). This is often because pm860x_device_init lacks a __devinit annotation or the annotation of device_8606_init is wrong. WARNING: drivers/mfd/88pm860x.o(.text+0xbe): Section mismatch in reference from the function pm860x_device_init() to the function .devinit.text:device_8607_init() The function pm860x_device_init() references the function __devinit device_8607_init(). This is often because pm860x_device_init lacks a __devinit annotation or the annotation of device_8607_init is wrong. Signed-off-by: NHenrik Kretzschmar <henne@nachtwindheim.de> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-