Hello Martin, On Mon, Jul 27, 2020 at 10:56:31PM +0200, Martin Botka wrote: > Mo 27. 7. 2020 at 22:10 Uwe Kleine-König wrote: > > On Fri, Jul 24, 2020 at 11:36:51PM +0200, Martin Botka wrote: > > > +/* > > > + * pwm_output_type_support() > > > + * @pwm: PWM device > > > + * > > > + * Returns: output types supported by the PWM device > > > + */ > > > +static inline int pwm_get_output_type_supported(struct pwm_device *pwm) > > > +{ > > > + if (pwm->chip->ops->get_output_type_supported != NULL) > > > + return pwm->chip->ops->get_output_type_supported(pwm->chip, pwm); > > > + else > > > + return PWM_OUTPUT_FIXED; > > > +} > > > > I don't like this "advertising" for specific functions. I'd prefer to > > handle this in .apply(), fix all drivers to return -ESOMETHING when the > > request cannot be fulfilled. > > I will have to disagree on this one. As the functions are called in > multiple places it would just make mess in the driver. Note this is something where (I think) I don't agree with Thierry either. This popped up just yesterday, see https://www.spinics.net/lists/linux-pwm/msg13290.html For sure I want at most one such function per driver, so if we really want to go this path and introduce a capability indicator, this should be named differently and have a different prototype. > As the driver is even now not exactly the definition of clean driver i > would not like to make it even more messy. > > Having said that I wonder if this output pattern is a common enough > > property to add support for it in the PWM framework. > > > > I have gotten an email from Guru Das Srinagesh regarding this exact > issue you are pointing to. Yes the output pattern will be dropped in > V2. That's good. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |