On 22/03/2019 04:37, Sameer Pujar wrote: > > On 3/21/2019 11:03 PM, Jon Hunter wrote: >> 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(). > Ah yes, chip_pm need not be passed for gic_get_clocks(). But driver data > needs > to be set before runtime_resume() happens. OK yes indeed. Then that should be fine. Thanks Jon -- nvpublic