On Tue, Nov 22, 2022 at 07:14:44PM +0100, Uwe Kleine-König wrote: > On Tue, Nov 22, 2022 at 07:35:38PM +0200, Andy Shevchenko wrote: > > On Tue, Nov 22, 2022 at 05:47:03PM +0100, Uwe Kleine-König wrote: > > > On Thu, Nov 17, 2022 at 01:08:05PM +0200, Andy Shevchenko wrote: ... > > > > +static inline > > > > +struct pwm_lpss_chip *devm_pwm_lpss_probe(struct device *dev, void __iomem *base, > > > > + const struct pwm_lpss_boardinfo *info) > > > > +{ > > > > + return ERR_PTR(-ENODEV); > > > > +} > > > > +#endif /* CONFIG_PWM_LPSS */ > > > > > > Hmm, this is actually never used, because if > > > !IS_REACHABLE(CONFIG_PWM_LPSS), the only caller (that is added in patch > > > 7) has: > > > > > > if (!IS_REACHABLE(CONFIG_PWM_LPSS)) > > > return 0; > > > > > > before devm_pwm_lpss_probe() is called. > > > > > > Not sure if it's safe to just drop this patch. > > > > How is it supposed to be compiled and linked then? > > The compiler optimizes everything away after that return 0 and so > doesn't need that symbol at all. > > I just tested compiling your series without patch #6, x86_64 allmodconfig + PWM=n. > > nm doesn't report the need for devm_pwm_lpss_probe in > drivers/pinctrl/intel/pinctrl-intel.o. Sounds like you are right. I tried a brief test with m/m, y/m, m/y, and m/n variants between PINCTRL_INTEL and PWM_LPSS and all were built fine. That said, I will drop this patch and send a PR with the rest. Thank you for thorough review! -- With Best Regards, Andy Shevchenko