Hello Michael, On Mon, Nov 30, 2020 at 09:17:52AM +0100, Michael Walle wrote: > Am 2020-11-24 22:24, schrieb Uwe Kleine-König: > > Currently .get_state() and .apply() use dev_get_drvdata() on the struct > > device related to the pwm chip. This only works after .probe() called > > platform_set_drvdata() which in this driver happens only after > > pwmchip_add() and so comes possibly too late. > > > > Instead of setting the driver data earlier use the traditional > > container_of approach as this way the driver data is conceptually and > > computational nearer. > > > > Fixes: 9db33d221efc ("pwm: Add support for sl28cpld PWM controller") > > Signed-off-by: Uwe Kleine-König > > --- > > Hello, > > > > in v4 of the driver Michael still used container_of and then changed to > > use dev_get_drvdata() as Lee suggested. I didn't notice this suggestion, > > otherwise I would have expressed my variance about this already earlier. > > > > I noticed this problem because Michael contacted me via irc and showed > > me the resulting oops, so I think applying this before 5.10 would be > > good. It's not entirely clear to me why .get_state() is called that > > early in his case, but the theory is clear: The callbacks can be called > > as soon as pwmchip_add() is called. > > > > Best regards > > Uwe > > Ping. Would be nice if this makes it into v5.10. Yes, fully agreed. @Thierry: Do you care to send it to Linus? Or are you ok if I do that? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |