Re: [PATCH v2 3/3] i2c: xilinx: Use devm_* functions

From: Michal Simek
Date: Fri Oct 04 2013 - 05:16:35 EST


On 10/04/2013 07:33 AM, Wolfram Sang wrote:
>
>> + i2c->base = devm_ioremap_resource(&pdev->dev, res);
>> + if (IS_ERR(i2c->base)) {
>> + dev_err(&pdev->dev, "Could not allocate iomem\n");
>
> devm_ioremap_resource already prints error messages.

you are right.

>
>> + ret = devm_request_irq(&pdev->dev, irq, xiic_isr, 0, pdev->name, i2c);
>
> This is too early. Can you find out why?

Why do you think that it is too early?
I am looking at origin code again and I think that the code
is also problematic because in xiic_reinit() interrupts are enabled
but they are requested later.
Shouldn't be there a logic that interrupts should be enabled when
interrupts are registered by the kernel?

>> + pdata = (struct xiic_i2c_platform_data *)dev_get_platdata(&pdev->dev);
>
> Casting a void pointer?

No problem with that.

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


Attachment: signature.asc
Description: OpenPGP digital signature