Commit Graph

299950 Commits

Author SHA1 Message Date
Samuel Ortiz
78302a194c mfd: Fix max77693 build failure
Without it we get:

drivers/mfd/max77693.c: In function ‘max77693_i2c_probe’:
drivers/mfd/max77693.c:157:2: error: implicit declaration of function
‘max77693_irq_init’ [-Werror=implicit-function-declaration]
drivers/mfd/max77693.c: In function ‘max77693_resume’:
drivers/mfd/max77693.c:215:2: error: implicit declaration of function
‘max77693_irq_resume’ [-Werror=implicit-function-declaration]
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_lock’:
drivers/mfd/max77693-irq.c:104:2: error: ‘struct max77693_dev’ has no member
named ‘irqlock’
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_sync_unlock’:
drivers/mfd/max77693-irq.c:119:11: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cache’
drivers/mfd/max77693-irq.c:119:42: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:122:13: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:125:24: error: ‘struct max77693_dev’ has no member
named ‘irqlock’
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_mask’:
drivers/mfd/max77693-irq.c:141:11: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:143:11: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_unmask’:
drivers/mfd/max77693-irq.c:153:11: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:155:11: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_thread’:
drivers/mfd/max77693-irq.c:209:26: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:211:27: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:217:39: error: ‘struct max77693_dev’ has no member
named ‘irq_domain’
drivers/mfd/max77693-irq.c: In function ‘max77693_irq_init’:
drivers/mfd/max77693-irq.c:260:2: error: ‘struct max77693_dev’ has no member
named ‘irqlock’
drivers/mfd/max77693-irq.c:268:12: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:269:12: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cache’
drivers/mfd/max77693-irq.c:271:12: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cur’
drivers/mfd/max77693-irq.c:272:12: error: ‘struct max77693_dev’ has no member
named ‘irq_masks_cache’
drivers/mfd/max77693-irq.c:292:10: error: ‘struct max77693_dev’ has no member
named ‘irq_domain’

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-23 13:32:20 +02:00
Lee Jones
21f082a661 mfd: ab8500-core should depend on MFD_DB8500_PRCMU
A recent move to eliminate excess historical baggage from ab8500 core
code resulting in errors when building with x86_64 allmodconfig:

In file included from drivers/mfd/ab8500-core.c:21:0:
include/linux/mfd/dbx500-prcmu.h:614:19: error: redefinition of 'prcmu_abb_read'
include/linux/mfd/db8500-prcmu.h:673:19: note: previous definition of 'prcmu_abb_read' was here
include/linux/mfd/dbx500-prcmu.h:619:19: error: redefinition of 'prcmu_abb_write'
include/linux/mfd/db8500-prcmu.h:678:19: note: previous definition of 'prcmu_abb_write' was here
include/linux/mfd/dbx500-prcmu.h:630:19: error: redefinition of 'prcmu_config_clkout'
include/linux/mfd/db8500-prcmu.h:643:19: note: previous definition of 'prcmu_config_clkout' was here
include/linux/mfd/dbx500-prcmu.h:692:20: error: redefinition of 'prcmu_ac_wake_req'
include/linux/mfd/db8500-prcmu.h:683:20: note: previous definition of 'prcmu_ac_wake_req' was here
include/linux/mfd/dbx500-prcmu.h:694:20: error: redefinition of 'prcmu_ac_sleep_req'
include/linux/mfd/db8500-prcmu.h:685:20: note: previous definition of 'prcmu_ac_sleep_req' was here

Problem:
When CONFIG_AB8500_CORE is set, building ab8500-core.c and
!(CONFIG_UX500_SOC_DB8500 | CONFIG_MFD_DB8500_PRCMU), both db8500-prcmu.h
and dbx500-prcmu.h take it upon themselves to _both_ create 'return 0'
inline functions for the following:

prcmu_abb_read()
prcmu_abb_write()
prcmu_config_clkout()
prcmu_ac_wake_req()
prcmu_ac_sleep_req()

Solution:
Depend on MFD_DB8500_PRCMU, which in turn depends on UX500_SOC_DB8500.

Reported-By: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-23 12:04:09 +02:00
Laxman Dewangan
6fe02e9f46 gpio: tps65910: dt: process gpio specific device node info
Parse the gpio specific device node information locally.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-22 23:50:13 +02:00
Laxman Dewangan
dcc7dabd8e mfd: Remove the parsing of dt info for tps65910 gpio
Remove the parsing of device node information for sub devices
from core file.
The sub devices will parse the information as per the sub-devices
specific information.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-22 23:49:52 +02:00
Laxman Dewangan
cb8d865457 mfd: Save device node parsed platform data for tps65910 sub devices
Save the allocated memory to store the parsed device node information
to the global device structure so that sub devices can directly use this
pointer.
In this way, the sub devices does not require to re-allocate the
memory for storing the sub-devices specific device node information.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-22 23:49:13 +02:00
Johan Hovold
730a3d01b1 mfd: Add r_select to lm3533 platform data
Add resistor-select parameter to the platform data.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-22 23:47:42 +02:00
Seth Heasley
77820ffae6 gpio: Add Intel Centerton support to gpio-sch
This patch adds the Intel Centerton processor device ID for GPIO.
The device ID is defined in include/linux/pci_ids.h

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-22 23:39:14 +02:00
Mark Brown
1fe17a24e2 mfd: Emulate active low IRQs as well as active high IRQs for wm831x
As with the existing emulation this should not be used in production
systems but is useful for test purposes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:14 +02:00
Johan Hovold
c48bf153f2 mfd: Mark two lm3533 zone registers as volatile
Mark the two currently unused zone registers as volatile in regmap for
completeness.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:14 +02:00
Johan Hovold
6090885597 mfd: Fix return type of lm533 attribute is_visible
Since commit 587a1f1659 ("switch ->is_visible() to returning umode_t")
the return type of is_visible is umode_t rather than mode_t.

This silences a compiler warning on some architectures where these types
are not compatible.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:14 +02:00
Lee Jones
3770c75a68 mfd: Enable Device Tree support in the ab8500-pwm driver
This patch ensures probing of the ab8500-pwm driver during a DT
enabled boot, so long as the associated nodes are present in the
Device Tree binary.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:13 +02:00
Lee Jones
01247ef7ec mfd: Enable Device Tree support in the ab8500-sysctrl driver
This patch ensures probing of the ab8500-sysctrl driver during a DT
enabled boot, so long as the associated nodes are present in the
Device Tree binary.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:13 +02:00
Peter Ujfalusi
37e13cecaa mfd: Add support for Device Tree to twl6040
Device tree based probing support for the core twl6040 driver. Child
devices will be created as MFD devices:
- ASoC codec is always created
- Vibra child is only created if the vibra section present in the DT blob.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:12 +02:00
Peter Ujfalusi
1f01d60e4c mfd: Register the twl6040 child for the ASoC codec unconditionally
The main function of the twl6040 is to provide audio on OMAP4+ platforms.
Since the ASoC codec driver can work without the pdata we can register the
child to load the codec driver whenever the twl6040 MFD driver is loaded.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:12 +02:00
Peter Ujfalusi
6712419d69 mfd: Allocate twl6040 IRQ numbers dynamically
Use irq_alloc_descs() to get the IRQ number range dynamically instead of
the hardwired use if pdata->irq_base.
The twl6040 only provides interrupts for it's internal components which
means that it is not working as an IRQ expander type of device.
The client drivers will receive their interrupt numbers as resource which
is configured based on the received IRQ range we got from irq_alloc_descs()

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:12 +02:00
Peter Ujfalusi
68029c6cf9 mfd: twl6040 code cleanup in interrupt initialization part
No functional change, just to make the code a bit more uniform and
remove wrapped lines.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:11 +02:00
Lee Jones
3690fb2ca5 mfd: Enable ab8500-gpadc driver for Device Tree
This patch will allow the ab8500-gpadc driver to be probed during
Device Tree enabled boot.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:11 +02:00
Lee Jones
6dff11e5ab mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
Before this patch if probe failed to find the platform IRQ it
would attempt to print a message out using dev_err, which in
turn was being passed an unassigned pointer. This patch
ensures the information passed to dev_err is correct.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:11 +02:00
Lee Jones
5a8fea031e mfd: Enable ab8500-debug when Device Tree is enabled
Allow the ab8500-debugfs driver to be probed during DT start-up.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:10 +02:00
Lee Jones
6bc4a56841 mfd: Enable Device Tree for ab8500-core driver
This patch will allow the ab8500-core driver to be probed and set up
when booting when Device Tree is enabled. This includes platform ID
look-up which identifies the machine it is currently running on. If
we are undergoing a DT enabled boot, we will refuse to setup each of
the other ab8500-* devices, as they will be probed individually by DT.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:10 +02:00
Lee Jones
d28f1db818 mfd: Remove confusing ab8500-i2c file and merge into ab8500-core
ab8500-i2c is used as core code to register the ab8500 device.
After allocating ab8500 memory, it immediately calls into
ab8500-core where the real initialisation takes place. This
patch moves all core registration and memory allocation into
the true ab8500-core file and removes ab8500-i2c completely.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:10 +02:00
Mark Brown
1cb3642a68 mfd: mc13xxx core should not be user visible
Since the core is not usable without one of the bus modules it should not
be presented in the UI but should instead be selected by the bus modules.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:09 +02:00
Johan Hovold
65ee362cb2 mfd: Fix double free in wm8350 error path
Fix double free in probe error path introduced by the recent conversion
of wm8350 to use regmap.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:09 +02:00
Johan Hovold
fa648e51f8 mfd: Convert lm3533 to use devres
Use devres to manage core driver data and regmap.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:08 +02:00
Ashish Jangam
16e5e204c9 mfd: Add ADC support to the DA9052/53 core
This patch adds ADC support to the DA9052/53 core.

Tested on smdkv6410 and i.mx53 QS boards.

Signed-off-by: Ashish Jangam <ashish.jangam@kpitcummins.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:08 +02:00
Rhyland Klein
21f7541d88 mfd: Add tps65910-irq devicetree init and irqdomain support
This change changes the tps65910-irq code to use irqdomain, and support
initialization from devicetree. This assumes that the irq_base in the
platform data is -1 if devicetree is used.

Signed-off-by: Rhyland Klein <rklein@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:08 +02:00
Richard Zhao
b09530ef84 mfd: Make anatop register accessor more flexible and rename meaningfully
- rename to anatop_read_reg and anatop_write_reg
 - anatop_read_reg directly return reg value
 - anatop_write_reg write reg with mask

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Reviewed-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:07 +02:00
Mark Brown
08b4c118af mfd: wm8400 needs to depend on I2C=y
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:07 +02:00
Mark Brown
cd99758ba3 mfd: Convert wm831x to irq_domain
The modern idiom is to use irq_domain to allocate interrupts. This is
useful partly to allow further infrastructure to be based on the domains
and partly because it makes it much easier to allocate virtual interrupts
to devices as we don't need to allocate a contiguous range of interrupt
numbers.

Convert the wm831x driver over to this infrastructure, using a legacy
IRQ mapping if an irq_base is specified in platform data and otherwise
using a linear mapping, always registering the interrupts even if they
won't ever be used. Only boards which need to use the GPIOs as
interrupts should need to use an irq_base.

This means that we can't use the MFD irq_base management since the
unless we're using an explicit irq_base from platform data we can't rely
on a linear mapping of interrupts.  Instead we need to map things via
the irq_domain - provide a conveniencem function wm831x_irq() to save a
small amount of typing when doing so. Looking at this I couldn't clearly
see anything the MFD core could do to make this nicer.

Since we're not supporting device tree yet there's no meaningful
advantage if we don't do this conversion in one, the fact that the
interrupt resources are used for repeated IP blocks makes accessor
functions for the irq_domain more trouble to do than they're worth.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:07 +02:00
Mark Brown
4492c4c3ff mfd: Don't try to flag IRQ 0 as a wm831x wake source
If we've not got a primary IRQ we shouldn't be trying to flag IRQ 0 as a
wake source.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:06 +02:00
Chanwoo Choi
6592ebb397 mfd: Add MAX77693 irq handler
This patch supports IRQ handling for MAX77693.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
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>
2012-05-20 17:27:06 +02:00
Chanwoo Choi
83871c00bb mfd: Add MAX77693 driver
This patch adds MFD driver for MAX77693 to enable its sub devices.

The MAX77693 is a multi-function devices. It includes PMIC,
MUIC(Micro USB Interface Controller), flash LED control and
haptic motor control.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
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>
2012-05-20 17:27:05 +02:00
Mark Brown
ebd29c6cc0 mfd: Export wm8400_block_read()
Used by the regulator driver.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:05 +02:00
Mark Brown
eee0e4b44f mfd: Don't support non-modular wm8400 build
It's relying on non-exported symbols.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:05 +02:00
Dan Carpenter
168755ebb1 mfd: Silence an lm3533 gcc warning
This is supposed to be umode_t.  It causes a GCC warning:
drivers/mfd/lm3533-core.c:440:2: warning: initialization from incompatible pointer type [enabled by default]
drivers/mfd/lm3533-core.c:440:2: warning: (near initialization for ‘lm3533_attribute_group.is_visible’) [enabled by default]

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:04 +02:00
Laxman Dewangan
10bbc48d7a gpio: Convert tps65910 to a platform driver
Make the gpio-tps65910 as platform driver and register
this from tps65910 core driver as mfd sub device.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:04 +02:00
Axel Lin
aa4603a0a7 mfd: Convert pcf50633-core to use devm_* APIs
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:04 +02:00
Axel Lin
6608a5e2dd mfd: Convert da9052 to use devm_* APIs
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:03 +02:00
Wim Van Sebroeck
805b237a63 mfd: Change tunnelcreek watchdog name on the lpc_sch subdevices array
The name of the tunnelcreek watchdog device is not tunnelcreek_wdt but
ie6xx_wdt.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:03 +02:00
Axel Lin
664dd0665e mfd: Fix lm3533 regmap_update_bits() call
Current code calls regmap_update_bits() with mask and val arguments swapped.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:02 +02:00
Johan Hovold
6fa4b9d802 mfd: Use SI-units for the lm3533 max-current interface
Use SI-units (uA) for max-current interface (5000 - 29800 uA).

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:02 +02:00
Johan Hovold
7af5e87dc5 mfd: Remove unused max-current lm3533 function
The max-current attributes of the subdrivers have been dropped so
remove the no longer used lm3533_ctrlbank_get_max_current function.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:02 +02:00
Johan Hovold
f4cf18ca59 mfd: Remove lm3533 boost attributes
Remove boost-frequency and ovp attributes, which can be set through
platform data, from sysfs.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:01 +02:00
Johan Hovold
d9055dc501 mfd: Add boost frequency and ovp to lm3533 platform data
Add boost-frequency and over-voltage-protection settings to platform
data.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:01 +02:00
Mark Brown
879eed6826 mfd: Remove wm8400 custom cache implementation
Save a useful amount of code by removing the custom cache implementation
for wm8400 and using the regmap cache. Also simplify things by not
separately reseting the CODEC registers, this is a sufficiently infrequent
operation that we can simply invalidate the entire cache when this happens.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:01 +02:00
Mark Brown
27757e8262 mfd: Staticise non-exported tps65217_update_bits()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:00 +02:00
Samuel Ortiz
7f65f74cce mfd: Fix tps65910 build failure
The tps65910_parse_dt() prototype for !CONFIG_OF was not correct, leading to:

drivers/mfd/tps65910.c: In function ‘tps65910_i2c_probe’:
drivers/mfd/tps65910.c:218:3: error: too many arguments to function ‘tps65910_parse_dt’

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:27:00 +02:00
Laxman Dewangan
32df986e98 mfd: Register tps65910 gpios as an mfd device
As gpio support for tps65910 is on gpio driver, registering
gpio support as the mfd sub devices instead of calling gpio_init()
from the core probe.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:26:59 +02:00
Laxman Dewangan
63fe7dee91 mfd: Convert all tps65910 allocation to devm_*
Convert memory allocation and regmap initialization to
use devm_* functions.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:26:59 +02:00
Laxman Dewangan
3bf6bf9be5 mfd: Cache tps65910 register when we need it
During regmap initialization, we do not provide the default value and
hence in place of caching register during regmap_init(), cache it
when actually we need it i.e. after reading of that register.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-20 17:26:59 +02:00