summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-09-28 14:50:18 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-10-29 00:29:53 +0200
commit7e2bb82ee0d74b621bab452888cc3e7e8a013d0b (patch)
tree37617053f5e724e8f53ac67e2b2f06ac4516bcc0 /drivers/mfd
parent99ea2626a75e13ce926af69d96e9ae5bfb62b7ba (diff)
mfd: Remove obsolete mc13783 private data
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>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/mc13783-core.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/drivers/mfd/mc13783-core.c b/drivers/mfd/mc13783-core.c
index 6df34989c1f..2506e688850 100644
--- a/drivers/mfd/mc13783-core.c
+++ b/drivers/mfd/mc13783-core.c
@@ -22,14 +22,10 @@ struct mc13783 {
struct spi_device *spidev;
struct mutex lock;
int irq;
- int flags;
+ int adcflags;
irq_handler_t irqhandler[MC13783_NUM_IRQ];
void *irqdata[MC13783_NUM_IRQ];
-
- /* XXX these should go as platformdata to the regulator subdevice */
- struct mc13783_regulator_init_data *regulators;
- int num_regulators;
};
#define MC13783_REG_REVISION 7
@@ -250,7 +246,10 @@ EXPORT_SYMBOL(mc13783_reg_rmw);
int mc13783_get_flags(struct mc13783 *mc13783)
{
- return mc13783->flags;
+ struct mc13783_platform_data *pdata =
+ dev_get_platdata(&mc13783->spidev->dev);
+
+ return pdata->flags;
}
EXPORT_SYMBOL(mc13783_get_flags);
@@ -493,7 +492,7 @@ static irqreturn_t mc13783_handler_adcdone(int irq, void *data)
return IRQ_HANDLED;
}
-#define MC13783_ADC_WORKING (1 << 16)
+#define MC13783_ADC_WORKING (1 << 0)
int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
unsigned int channel, unsigned int *sample)
@@ -509,12 +508,12 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
mc13783_lock(mc13783);
- if (mc13783->flags & MC13783_ADC_WORKING) {
+ if (mc13783->adcflags & MC13783_ADC_WORKING) {
ret = -EBUSY;
goto out;
}
- mc13783->flags |= MC13783_ADC_WORKING;
+ mc13783->adcflags |= MC13783_ADC_WORKING;
mc13783_reg_read(mc13783, MC13783_ADC0, &old_adc0);
@@ -578,7 +577,7 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
/* restore TSMOD */
mc13783_reg_write(mc13783, MC13783_REG_ADC_0, old_adc0);
- mc13783->flags &= ~MC13783_ADC_WORKING;
+ mc13783->adcflags &= ~MC13783_ADC_WORKING;
out:
mc13783_unlock(mc13783);
@@ -675,14 +674,6 @@ err_revision:
return ret;
}
- /* This should go away (BEGIN) */
- if (pdata) {
- mc13783->flags = pdata->flags;
- mc13783->regulators = pdata->regulators;
- mc13783->num_regulators = pdata->num_regulators;
- }
- /* This should go away (END) */
-
mc13783_unlock(mc13783);
if (pdata->flags & MC13783_USE_ADC)