On 21/03/2019 17:23, Sameer Pujar wrote: ... >>> data = of_device_get_match_data(&pdev->dev); >>> if (!data) { >>> dev_err(&pdev->dev, "no device match found\n"); >>> return -ENODEV; >>> } >>> + chip_pm->clk_data = data; >>> + platform_set_drvdata(pdev, chip_pm); >> So why has this been moved? There is a comment in gic_runtime_resume() >> on why this was set after pm_runtime_get_sync() in probe. > This is moved up to make sure clk_data in chip_pm is populated by the time > gic_get_clocks() is called. The comment in runtime_resume() would still > hold > good, gic would be NULL till gic_of_init_child() is called. May be the > comment > needs to be slightly updated, because chip_pm is the new driver data now. I see, but I am not sure it is necessary as you are directly passing chip_pm to gic_get_clocks(). Cheers Jon -- nvpublic