Re: [PATCH v5 2/2] media: hantro: use DEFINE_RUNTIME_DEV_PM_OPS
Frank Li <[email protected]> Wed, 29 Jul 2026 12:16:59 -0500
| Newsgroups | dev.linux.lists.linux-kernel-mentees,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-rockchip,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <amo1i5iEfwGZLuui@SMW015318> |
On Wed, Jul 29, 2026 at 06:04:40AM +0000, Tharit Tangkijwanichakul wrote: > The runtime suspend and resume callbacks are currently guarded by > CONFIG_PM. Removing the guard directly would leave the callbacks unused > when CONFIG_PM is disabled. > > Define the PM operations with DEFINE_RUNTIME_DEV_PM_OPS() and use > pm_ptr() when assigning them to the platform driver. This keeps the PM > callbacks available when needed while avoiding unused-function warnings > for CONFIG_PM=n builds. > > Signed-off-by: Tharit Tangkijwanichakul <[email protected]> > --- Reviewed-by: Frank Li <[email protected]> > drivers/media/platform/verisilicon/hantro_drv.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c > index d6fcd4f7f9da..35302cf9f233 100644 > --- a/drivers/media/platform/verisilicon/hantro_drv.c > +++ b/drivers/media/platform/verisilicon/hantro_drv.c > @@ -1284,7 +1284,6 @@ static void hantro_remove(struct platform_device *pdev) > pm_runtime_disable(vpu->dev); > } > > -#ifdef CONFIG_PM > static int hantro_runtime_resume(struct device *dev) > { > struct hantro_dev *vpu = dev_get_drvdata(dev); > @@ -1314,13 +1313,9 @@ static int hantro_runtime_suspend(struct device *dev) > clk_bulk_disable(vpu->variant->num_clocks, vpu->clocks); > return 0; > } > -#endif > > -static const struct dev_pm_ops hantro_pm_ops = { > - SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, > - pm_runtime_force_resume) > - SET_RUNTIME_PM_OPS(hantro_runtime_suspend, hantro_runtime_resume, NULL) > -}; > +static DEFINE_RUNTIME_DEV_PM_OPS(hantro_pm_ops, hantro_runtime_suspend, > + hantro_runtime_resume, NULL); > > static struct platform_driver hantro_driver = { > .probe = hantro_probe, > @@ -1328,7 +1323,7 @@ static struct platform_driver hantro_driver = { > .driver = { > .name = DRIVER_NAME, > .of_match_table = of_hantro_match, > - .pm = &hantro_pm_ops, > + .pm = pm_ptr(&hantro_pm_ops), > }, > }; > module_platform_driver(hantro_driver); > -- > 2.47.3 >