Hi Wolfram,
On Wed, May 21, 2014 at 4:05 PM, Wolfram Sang <[email protected]> wrote:
>
>> @@ -646,22 +646,19 @@ static int i2c_bfin_twi_probe(struct platform_device
>> *pdev)
>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> if (res == NULL) {
>> dev_err(&pdev->dev, "Cannot get IORESOURCE_MEM\n");
>> - rc = -ENOENT;
>> - goto out_error_get_res;
>> + return -ENOENT;
>
> You don't need to check the resource. devm_ioremap_resource will do it.
OK
>
>> - iface->regs_base = ioremap(res->start, resource_size(res));
>> - if (iface->regs_base == NULL) {
>> + iface->regs_base = devm_ioremap_resource(&pdev->dev, res);
>> + if (IS_ERR((void *)iface->regs_base)) {
>> dev_err(&pdev->dev, "Cannot map IO\n");
>> - rc = -ENXIO;
>> - goto out_error_ioremap;
>> + return PTR_ERR((void *)iface->regs_base);
>
> Do we need the casts?
No. I will remove the cast.
>
>> @@ -740,8 +728,6 @@ static int i2c_bfin_twi_remove(struct platform_device
>> *pdev)
>> i2c_del_adapter(&(iface->adap));
>> free_irq(iface->irq, iface);
>> peripheral_free_list(dev_get_platdata(&pdev->dev));
>> - iounmap(iface->regs_base);
>> - kfree(iface);
>
> You missed to remove the free irq.
>
> Have you actually tried unloading the module?
>
Ok. The free_irq should be removed.
I will send a new patch.
Thank you.
Sonic
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html