Thread (27 messages) flat view 27 messages, 4 authors, 2011-10-19

[PATCH 6/6] mach-ux500: remove intermediary add_platform_device* functions

From: Lee Jones <hidden>
Date: 2011-10-19 14:43:12
Also in: lkml

On 17/10/11 12:59, Jamie Iles wrote:
Hi Lee,

On Mon, Oct 17, 2011 at 12:52:58PM +0100, Lee Jones wrote:
quoted
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
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
[...]
quoted
-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!
Good spot.

I can't seem to find platform_device_register_full(). Does it exist?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help