[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