[PATCH 6/6] mach-ux500: remove intermediary add_platform_device* functions
From: Jamie Iles <hidden>
Date: 2011-10-17 11:59:14
Also in:
lkml
Hi Lee, On Mon, Oct 17, 2011 at 12:52:58PM +0100, Lee Jones wrote:
quoted hunk ↗ jump to hunk
These are no longer required since a 'parent' pointer is now passed to each registering device. Signed-off-by: Lee Jones <redacted> --- arch/arm/mach-ux500/devices-common.c | 53 ---------------------------------- arch/arm/mach-ux500/devices-common.h | 34 +++++++++------------ arch/arm/mach-ux500/devices-db8500.h | 10 ++++-- 3 files changed, 22 insertions(+), 75 deletions(-)diff --git a/arch/arm/mach-ux500/devices-common.c b/arch/arm/mach-ux500/devices-common.c index b8d9a99..170975f 100644 --- a/arch/arm/mach-ux500/devices-common.c +++ b/arch/arm/mach-ux500/devices-common.c@@ -59,59 +59,6 @@ dbx500_add_amba_device(struct device *parent, const char *name, } static struct platform_device * -dbx500_add_platform_device(const char *name, int id, void *pdata, - struct resource *res, int resnum) -{ - struct platform_device *dev; - int ret; - - dev = platform_device_alloc(name, id); - if (!dev) - return ERR_PTR(-ENOMEM); - - dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); - dev->dev.dma_mask = &dev->dev.coherent_dma_mask; - - ret = platform_device_add_resources(dev, res, resnum); - if (ret) - goto out_free; - - dev->dev.platform_data = pdata; - - ret = platform_device_add(dev); - if (ret) - goto out_free; - - return dev; - -out_free: - platform_device_put(dev); - return ERR_PTR(ret); -}
[...]
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/mach-ux500/devices-common.h b/arch/arm/mach-ux500/devices-common.h index f8adff8..089371e 100644 --- a/arch/arm/mach-ux500/devices-common.h +++ b/arch/arm/mach-ux500/devices-common.h
[...]
-static inline struct platform_device *
-dbx500_add_msp_i2s(int id, resource_size_t base, int irq,
- struct msp_i2s_platform_data *pdata)
-{
- return dbx500_add_platform_device_4k1irq("MSP_I2S", id, base, irq,
- pdata);
+ struct resource resources[] = {
+ DEFINE_RES_MEM(base, SZ_4K),
+ DEFINE_RES_IRQ(irq),
+ };
+
+ return platform_device_register_resndata(parent, "nmk-i2c",
+ id, resources,
+ ARRAY_SIZE(resources),
+ pdata, sizeof(*pdata));
}I think you need platform_device_register_full() rather than platform_device_register_resndata() here as dbx500_add_platform_device() also set a dma mask which platform_device_register_resndata() doesn't do. Otherwise a nice diffstat! Jamie