[PATCH v2 1/5] i2c: i2c-davinci: switch to use platform_get_irq

Grygorii Strashko grygorii.strashko at ti.com
Wed Nov 26 08:28:05 PST 2014


On 11/26/2014 05:54 PM, Uwe Kleine-König wrote:
> Hello Grygorii,
>
> On Wed, Nov 26, 2014 at 03:59:49PM +0200, Grygorii Strashko wrote:
>> Switch Davinci I2C driver to use platform_get_irq(), because
>> it is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ, ..)
>> for requesting IRQ resources any more, as they can be not ready yet
>> in case of DT-boot.
>>
>> CC: Sekhar Nori <nsekhar at ti.com>
>> CC: Kevin Hilman <khilman at deeprootsystems.com>
>> CC: Santosh Shilimkar <ssantosh at kernel.org>
>> CC: Murali Karicheri <m-karicheri2 at ti.com>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko at ti.com>
>> ---
>>   drivers/i2c/busses/i2c-davinci.c | 20 ++++++++++++--------
>>   1 file changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
>> index 4d96147..7f54903 100644
>> --- a/drivers/i2c/busses/i2c-davinci.c
>> +++ b/drivers/i2c/busses/i2c-davinci.c
>> @@ -640,13 +640,17 @@ static int davinci_i2c_probe(struct platform_device *pdev)
>>   {
>>   	struct davinci_i2c_dev *dev;
>>   	struct i2c_adapter *adap;
>> -	struct resource *mem, *irq;
>> -	int r;
>> -
>> -	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
>> -	if (!irq) {
>> -		dev_err(&pdev->dev, "no irq resource?\n");
>> -		return -ENODEV;
>> +	struct resource *mem;
>> +	int r, irq;
>> +
>> +	irq = platform_get_irq(pdev, 0);
>> +	if (irq <= 0) {
>> +		if (irq == -EPROBE_DEFER)
>> +			return irq;
>> +		if (!irq)
>> +			irq = -ENXIO;
>> +		dev_err(&pdev->dev, "can't get irq resource ret=%d\n", irq);
>> +		return irq;
> The simpler and I think also more usual logic is:
>
> 	if (!irq)
> 		irq = -ENXIO;
> 	if (irq != -EPROBE_DEFER)
> 		dev_err(...);
> 	return irq;
>
> Other than that the patch looks fine.

Ok. will change and add your ack.

regards,
-grygorii




More information about the linux-arm-kernel mailing list