Re: [PATCH v5 6/7] pwm: lpss: Add devm_pwm_lpss_probe() stub

From: Uwe Kleine-König
Date: Tue Nov 22 2022 - 13:15:06 EST


Hello Andy,

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:
> > > In case the PWM LPSS module is not provided, allow users to be
> > > compiled with the help of the devm_pwm_lpss_probe() stub.
>
> ...
>
> > > +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.

The build isn't done yet, but I don't expect surprises.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature