diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-09-28 16:50:18 +0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-10-29 02:29:53 +0400 |
commit | 7e2bb82ee0d74b621bab452888cc3e7e8a013d0b (patch) | |
tree | 37617053f5e724e8f53ac67e2b2f06ac4516bcc0 | |
parent | 99ea2626a75e13ce926af69d96e9ae5bfb62b7ba (diff) | |
download | linux-7e2bb82ee0d74b621bab452888cc3e7e8a013d0b.tar.xz |
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>
-rw-r--r-- | drivers/mfd/mc13783-core.c | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/drivers/mfd/mc13783-core.c b/drivers/mfd/mc13783-core.c index 6df34989c1f6..2506e6888507 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) |