Re: [RFC v1 2/6] platform/x86: intel_pmc_ipc: Use devm_* calls in driver probe

From: Andy Shevchenko
Date: Tue Aug 22 2017 - 05:45:36 EST


On Tue, Aug 22, 2017 at 8:05 AM, sathya <sathyaosid@xxxxxxxxx> wrote:
> On 08/18/2017 05:24 AM, Andy Shevchenko wrote:
>> On Tue, Aug 1, 2017 at 9:13 PM,
>> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:

>>> This patch cleans up unnecessary free/alloc calls in this driver
>>> by using devm_* calls.

>>> static int ipc_plat_remove(struct platform_device *pdev)
>>> {
>>> - struct resource *res;
>>> -
>>> sysfs_remove_group(&pdev->dev.kobj, &intel_ipc_group);
>>> - free_irq(ipcdev.irq, &ipcdev);
>>
>> Can we get an IRQ at any time here?
>
> Yes, if the ipc_plat_probe() is successful then ipcdev.irq will have valid
> IRQ in all cases.

...which effectively means you can't remove free_irq() here. OTOH you
may replace it by explicit devm_free_irq() call.

>>> platform_device_unregister(ipcdev.tco_dev);
>>> platform_device_unregister(ipcdev.punit_dev);
>>> platform_device_unregister(ipcdev.telemetry_dev);
>>> ipcdev.dev = NULL;
>>> return 0;
>>> }


--
With Best Regards,
Andy Shevchenko