[PATCH 6/6] mach-ux500: remove intermediary add_platform_device* functions
Lee Jones
lee.jones at linaro.org
Wed Oct 19 10:43:04 EDT 2011
On 17/10/11 12:59, Jamie Iles wrote:
> Hi Lee,
>
> On Mon, Oct 17, 2011 at 12:52:58PM +0100, Lee Jones wrote:
>> These are no longer required since a 'parent' pointer is now
>> passed to each registering device.
>>
>> Signed-off-by: Lee Jones <lee.jones at linaro.org>
>> ---
>> 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);
>> -}
> [...]
>> 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!
Good spot.
I can't seem to find platform_device_register_full(). Does it exist?
More information about the linux-arm-kernel
mailing list