On Tue, Sep 03, 2024 at 08:04:49PM +0300, Andy Shevchenko wrote: > Explicit ifdeffery is ugly and theoretically might be not synchronised > with the rest of functions that are assigned via pm_sleep_ptr() macro. > Replace ifdeffery by pm_sleep_ptr() macro to improve this. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/pinctrl/intel/pinctrl-intel.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c > index 7a790c437f68..bfe891522044 100644 > --- a/drivers/pinctrl/intel/pinctrl-intel.c > +++ b/drivers/pinctrl/intel/pinctrl-intel.c > @@ -1482,7 +1482,6 @@ static int intel_pinctrl_add_padgroups_by_size(struct intel_pinctrl *pctrl, > > static int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) > { > -#ifdef CONFIG_PM_SLEEP > const struct intel_pinctrl_soc_data *soc = pctrl->soc; > struct intel_community_context *communities; > struct intel_pad_context *pads; > @@ -1497,7 +1496,6 @@ static int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) > if (!communities) > return -ENOMEM; > > - > for (i = 0; i < pctrl->ncommunities; i++) { > struct intel_community *community = &pctrl->communities[i]; > u32 *intmask, *hostown; > @@ -1519,7 +1517,6 @@ static int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) > > pctrl->context.pads = pads; > pctrl->context.communities = communities; > -#endif Can't we make this a stub when !PM_SLEEP? #ifdef CONFIG_PM_SLEEP static int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) { ... } #else static inline int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) { return 0; } #endif > > return 0; > } > @@ -1649,7 +1646,7 @@ int intel_pinctrl_probe(struct platform_device *pdev, > if (irq < 0) > return irq; > > - ret = intel_pinctrl_pm_init(pctrl); > + ret = pm_sleep_ptr(intel_pinctrl_pm_init) ? intel_pinctrl_pm_init(pctrl) : 0; Then this still looks like a function call and not like some weird conditional. > if (ret) > return ret; > > -- > 2.43.0.rc1.1336.g36b5255a03ac