Hi Niklas, CC LinusW On Mon, Jul 2, 2018 at 6:15 PM Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> wrote: > On 2018-07-02 15:03:02 +0200, Geert Uytterhoeven wrote: > > CC Sergei, > > > > Thanks for your patch! > > > > On Mon, Jul 2, 2018 at 10:06 AM Niklas Söderlund > > <niklas.soderlund+renesas@xxxxxxxxxxxx> wrote: > > > The datasheet do not document any registers to control drive strength, > > > > does > > > > > and no drive strength registers are for this reason described for this > > > SoC. The flag indicating that drive strength can be controlled are > > > > flags > > > > > however set for some pins in the driver. > > > > > > This leads to a NULL pointer dereference when the sh-pfc core tries to > > > access the struct describing the drive strength registers, for example > > > when reading the sysfs file pinconf-pins. > > > > > > Fix this by removing the SH_PFC_PIN_CFG_DRIVE_STRENGTH from all pins. > > > > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > > > > Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > > > I'll wait a bit for Sergei's response. > > Perhaps his version of the datasheet does document drive strength registers? > > Do you wish for a v2 addressing the spelling above or can you fix that > when applying? Given this fixes a crash, I think this is a fix for v4.18. So please send a v2 straight to LinusW, with Fixes: b92ac66a1819602b ("pinctrl: sh-pfc: Add R8A77970 PFC support") Unfortunately the code has changed since the issue was introduced, so please send an applicable fix for v4.16/v4.17 to stable after the fix has entered upstream. Thanks! > > > --- a/drivers/pinctrl/sh-pfc/pfc-r8a77970.c > > > +++ b/drivers/pinctrl/sh-pfc/pfc-r8a77970.c > > > @@ -21,15 +21,13 @@ > > > #include "core.h" > > > #include "sh_pfc.h" > > > > > > -#define CFG_FLAGS SH_PFC_PIN_CFG_DRIVE_STRENGTH > > > - > > > #define CPU_ALL_PORT(fn, sfx) \ > > > - PORT_GP_CFG_22(0, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > - PORT_GP_CFG_28(1, fn, sfx, CFG_FLAGS), \ > > > - PORT_GP_CFG_17(2, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > - PORT_GP_CFG_17(3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > - PORT_GP_CFG_6(4, fn, sfx, CFG_FLAGS), \ > > > - PORT_GP_CFG_15(5, fn, sfx, CFG_FLAGS) > > > + PORT_GP_CFG_22(0, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > + PORT_GP_28(1, fn, sfx), \ > > > + PORT_GP_CFG_17(2, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > + PORT_GP_CFG_17(3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \ > > > + PORT_GP_6(4, fn, sfx), \ > > > + PORT_GP_15(5, fn, sfx) > > > /* > > > * F_() : just information > > > * FM() : macro for FN_xxx / xxx_MARK Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html