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 return value is > neither -ENOSYS (which I would expect for a stub function like that) This is not a generic library registration / addition of the device. I don't see how ENOSYS and esp. EINVAL fits here. > nor > -EINVAL (which for reasons unknown to me is used in the stub for > pwmchip_add()). This I explained already that _add() != _probe() semantically, I do not see the link between their error codes. > I would have a better feeling with -ENOSYS in your stub, but I don't > feel really strong here. -- With Best Regards, Andy Shevchenko