34a4958e4cfe1a379ed18fb3e2d0b93ba08f28d3 |
|
08-Sep-2014 |
Markus Pargmann <mpa@pengutronix.de> |
mfd: mc13xxx: Configure WDI reset Setup the PMIC to make a restart when a watchdog interrupt occures. If this is not configured, the PMIC will shut down the power supply without a restart. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
10f9edaeaa30468194e1dcd0e47e59b012f4cf8b |
|
18-Jun-2014 |
Alexander Shiyan <shc_work@mail.ru> |
mfd: mc13xxx: Use regmap irq framework for interrupts This patch convert mc13xxx MFD driver to use regmap irq framework for interrupt registration. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
a2ff8459f1f88283935e6bc3fb536820148c7d6a |
|
01-May-2014 |
Alexander Shiyan <shc_work@mail.ru> |
mfd: mc13xxx: Do not use platform data with devicetree This patch removes platform data usage for codec and touchscreen when driver is used with devicetree. This fixes possible "null pointer dereference" error if DTS uses "fsl,mc13xxx-uses-codec" or "fsl,mc13xxx-uses-touch" options. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
48ca9a52c58c088c7492185ef33d0675d6382b5a |
|
16-Apr-2014 |
Fabio Estevam <fabio.estevam@freescale.com> |
mfd: mc13xxx-core: Initialize the lock prior to using it After request_threaded_irq() is called there is a chance that an interrupt may occur before the 'mc13xxx->lock' is initialized, which will trigger a kernel oops. In order to prevent that, move the initialization of 'mc13xxx->lock' prior to requesting the interrupts. Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
780aaeff96819ca58e0cad830bfbe6eee9aef82c |
|
26-Apr-2014 |
Alexander Shiyan <shc_work@mail.ru> |
ASoC: mc13783: Add devicetree support This patch adds devicetree support for mc13783-codec. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
|
db9ef449aaa550389008c2020fba02e4440ce24b |
|
14-Dec-2013 |
Alexander Shiyan <shc_work@mail.ru> |
mfd: mc13xxx: Simplify probe() & remove() This patch simplifies probe() and remove() functions by moving some initialisation code out from the I2C/SPI init() and exit() functions and into the core driver. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
328fe79cac65331cbf22c8eefcb2a1f9164974ac |
|
07-Dec-2013 |
Alexander Shiyan <shc_work@mail.ru> |
mfd: mc13xxx: Remove redundant checks Checking for maximal register is already provided by regmap API, so remove redundant checks. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
b264a70eef880aff31652a10ffee9c03e949b69b |
|
23-Sep-2013 |
Mark Brown <broonie@linaro.org> |
mfd: mc13xxx: Don't require lock for simple register I/O Since the conversion to regmap there has been no need for device level locking for I/O as regmap provides locking so remove the locks. Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
c29c2d4e6ba4f8f5868a4c6dd75a4c23e1993721 |
|
23-Sep-2013 |
Mark Brown <broonie@linaro.org> |
mfd: mc13xxx: Don't require lock for simple register I/O Since the conversion to regmap there has been no need for device level locking for I/O as regmap provides locking so remove the locks. Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
0312e024d6cde5ef02900c4c6e2f5bb982e24af5 |
|
12-Jul-2012 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: mc13xxx: Add support for mc34708 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Marc Reilly <marc@cpdesign.com.au> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
cd0f34b08f98af72bb2f74fe4bd251558fc734d3 |
|
12-Jul-2012 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: mc13xxx: Change probing details for mc13xxx devices This removes auto-detection of which variant of mc13xxx is used because mc34708 uses a different layout in the revision register that doesn't allow differentiation any more. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Marc Reilly <marc@cpdesign.com.au> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
0cb166e0538b2b2fe746bfa3c82ef6fece9b8888 |
|
17-Sep-2012 |
Andreas Pretzsch <apr@cn-eng.de> |
mfd: Use devm_* APIs for mc13xxx: remove leftover kfree commit e7c706b1e5ccf28eaaf76c7a4613e80b0ca52863 migrated the allocation of struct mc13xxx to devm_* functions, but left a kfree(mc13xxx) in the mc13xxx_common_init error path. Remove it to prevent memory corruption. Signed-off-by: Andreas Pretzsch <apr@cn-eng.de> Reviewed-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
0848c94fb4a5cc213a7fb0fb3a5721ad6e16f096 |
|
11-Sep-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
mfd: core: Push irqdomain mapping out into devices Currently the MFD core supports remapping MFD cell interrupts using an irqdomain but only if the MFD is being instantiated using device tree and only if the device tree bindings use the pattern of registering IPs in the device tree with compatible properties. This will be actively harmful for drivers which support non-DT platforms and use this pattern for their DT bindings as it will mean that the core will silently change remapping behaviour and it is also limiting for drivers which don't do DT with this particular pattern. There is also a potential fragility if there are interrupts not associated with MFD cells and all the cells are omitted from the device tree for some reason. Instead change the code to take an IRQ domain as an optional argument, allowing drivers to take the decision about the parent domain for their interrupts. The one current user of this feature is ab8500-core, it has the domain lookup pushed out into the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
55692af5eb587f7592d6c2713e1e0eeaab0f6c31 |
|
11-Sep-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
mfd: core: Push irqdomain mapping out into devices Currently the MFD core supports remapping MFD cell interrupts using an irqdomain but only if the MFD is being instantiated using device tree and only if the device tree bindings use the pattern of registering IPs in the device tree with compatible properties. This will be actively harmful for drivers which support non-DT platforms and use this pattern for their DT bindings as it will mean that the core will silently change remapping behaviour and it is also limiting for drivers which don't do DT with this particular pattern. There is also a potential fragility if there are interrupts not associated with MFD cells and all the cells are omitted from the device tree for some reason. Instead change the code to take an IRQ domain as an optional argument, allowing drivers to take the decision about the parent domain for their interrupts. The one current user of this feature is ab8500-core, it has the domain lookup pushed out into the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
e7c706b1e5ccf28eaaf76c7a4613e80b0ca52863 |
|
29-Jun-2012 |
Axel Lin <axel.lin@gmail.com> |
mfd: Use devm_* APIs for mc13xxx Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
e3a0871c8f67e228ac227be02f8da580cfa0dc27 |
|
15-May-2012 |
Philippe Rétornaz <philippe.retornaz@epfl.ch> |
mfd: mc13xxx: add codec platform data Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
a0c7c1d48ea9f53c67c79eda498bb8eda1422748 |
|
01-Apr-2012 |
Marc Reilly <marc@cpdesign.com.au> |
mfd: Move the mc13xxx-core spi specific code into a separate module All spi specific code is moved into a new module. The mc13xxx struct moves to a new local include file by necessity. A new config choice selects the SPI bus type support and by default is value of SPI_MASTER to remain compatible with existing configs. Signed-off-by: Marc Reilly <marc@cpdesign.com.au> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
91b5e741184ea9836cd7d7509e4f9b6eefa27df2 |
|
01-Apr-2012 |
Marc Reilly <marc@cpdesign.com.au> |
mfd: Use regmap for the mc13xxx-core register access This change converts the mc13xxx core to use regmap rather than direct spi r/w. The spidev member of mc13xxx struct becomes redundant and is removed. Extra debugging aids are added to mc13xxx_reg_rmw. Mutex init is moved to before regmap init. Signed-off-by: Marc Reilly <marc@cpdesign.com.au> Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
5006fe546a4eb0393782b818d4e0e2a6b4fa3803 |
|
01-May-2012 |
Marc Reilly <marc@cpdesign.com.au> |
mfd: Prepare for separating spi and i2c mc13xxx-core backends This patch abstracts the bus specific operations from the driver core. Generic init and cleanup is consolidated into mc13xxx_common_*. spi specific functions are renamed to reflect such. (The irq member of the mc13xxx struct is no longer redundant, it's used to store the irq for cleanup time). Signed-off-by: Marc Reilly <marc@cpdesign.com.au> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
1039d762d03b573de4d46603c8583051c6d79094 |
|
20-Feb-2012 |
Michael Thalmeier <michael.thalmeier@hale.at> |
mfd: Add pdata to set mc13783-ts conversion delay MC13783 can be programmed to wait some clock cycles between the touchscreen polarization and the resistance conversion. This is needed to adjust for touchscreens with high capacitance between plates. Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
876989d58658858f27a461f0b4b43fa750a208f4 |
|
12-Dec-2011 |
Shawn Guo <shawn.guo@linaro.org> |
mfd: Add device tree probe support for mc13xxx This adds device tree probe support for mc13xxx mfd driver. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
2161891a0a7bcad6ee8819bb324ee4a031bc8a95 |
|
29-Nov-2011 |
Robin van der Gracht <robin@protonic.nl> |
mfd: Fixed unconditional reset of the mc13xxx ADC reading enable bits When the ADC is being prepared for a single or multiple channel reading, the adc0 register is reconfigured without taking the lithium cell, charge current and battery current reading enable bits into account. Which results in clearing the bits. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
f78d29f166f347154909c33ca527c50ba65c95f7 |
|
24-Nov-2011 |
Lars-Peter Clausen <lars@metafoo.de> |
mfd: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // <smpl> @@ identifier _driver; @@ struct spi_driver _driver = { .driver = { - .bus = &spi_bus_type, }, }; // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
bb3149a93be1703ddc77ba34633df731bda5f269 |
|
23-Sep-2011 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: Fix a sparse warning about mc13xxx_chipname not being declared Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
30fc7ac3f62945a714d9842edae313a757efb49d |
|
18-Sep-2011 |
Philippe Rétornaz <philippe.retornaz@epfl.ch> |
input: Add power button support for mc13783 This adds support for the power-on buttons of MC13783 PMIC. Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
f20a5ea8e3aa8cb5cfe74bd8705dbb609a24783c |
|
22-Jul-2011 |
Philippe Rétornaz <philippe.retornaz@epfl.ch> |
mfd: Implicitly register mc13xxx led subdevice A led subdevice is registered now iff the corresponding platform data is available. Without platform data the device isn't usable so this is a sound check. Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
4a2a734306a6e3cc7766d2117ec142de9262f217 |
|
22-Jul-2011 |
Philippe Rétornaz <philippe.retornaz@epfl.ch> |
mfd: Unconditionally register mc13xxx regulator subdevice Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
b46880e57b4c513adeb2608c3700b352860b5662 |
|
24-Aug-2011 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: Remove mc13783 API functions and symbols Now that all in-tree users are fixed to use the more general mc13xxx API the obsolete stuff can go away. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
fec316d63219f610e5385f5e54e6c3ea459e58e9 |
|
24-Aug-2011 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: Provide a generic version of mc13xxx adc_do_conversion This is needed to convert the touch driver away from using struct mc13783. Note this patch drops MC13783_ADC0_ADREFMODE. This is unused and doesn't exist on mc13892. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
c8a03c96b61bd03a3603bfe5381848c0b40e99be |
|
08-Apr-2011 |
Samuel Ortiz <sameo@linux.intel.com> |
mfd: Use mfd cell platform_data for mc13xxx cells platform bits With the addition of a platform device mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
6991ec255af960e1349a21ec2782ea67408b7eb6 |
|
28-Feb-2011 |
Axel Lin <axel.lin@gmail.com> |
mfd: Add MODULE_DEVICE_TABLE to mc13xxx-core The device table is required to load modules based on modaliases. After adding the MODULE_DEVICE_TABLE, below entries will be added to modules.alias: alias spi:mc13892 mc13xxx_core alias spi:mc13783 mc13xxx_core Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
65e523595a31813c0f20ffd249792c60e253438e |
|
18-Feb-2011 |
Andres Salomon <dilinger@queued.net> |
mfd: Rename platform_data field of mfd_cell to mfd_data Rename the platform_data variable to imply a distinction between common platform_data driver usage (typically accessed via pdev->dev.platform_data) and the way MFD passes data down to clients (using a wrapper named mfd_get_data). All clients have already been changed to use the wrapper function, so this can be a quick single-commit change that only touches things in drivers/mfd. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
4ec1b54c4d082d4bad19b55ca709da7e7138d542 |
|
18-Feb-2011 |
Andres Salomon <dilinger@queued.net> |
mfd: mfd_cell is now implicitly available to mc13xxx drivers The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Note that mfd-core no longer makes a copy of platform_data, but the mc13xxx-core driver creates the pdata structures on the stack. In order to get around that, the various ARM mach types that set the pdata have been changed to hold the variable in static (global) memory. Also note that __initdata references in aforementioned pdata structs have been dropped. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
e1b88eb0e08335d2f6c00b35b67b4ffc78fd46d6 |
|
11-Nov-2010 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: Don't open-code mc13xxx_unlock Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
cef92fe63836dcc63db6ccfbea0a6d9255f491a9 |
|
22-Oct-2010 |
Axel Lin <axel.lin@gmail.com> |
mfd: Fix a memory leak when unload mc13xxx-core module Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
00969f23dae70f62d7ce3f7abbbfb6d09ef92739 |
|
19-Oct-2010 |
Samuel Ortiz <sameo@linux.intel.com> |
mfd: Remove DEBUG defines from mc13xxx-core DEBUG and VERBOSE_DEBUG are not used. Reported-by: David Jander <david@protonic.nl> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
8e00593557c3c5a7bc6f636412a1cadcf4624232 |
|
28-Sep-2010 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
mfd: Add mc13892 support to mc13xxx 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>
|