Message ID | 20220520091602.179078-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Mainlined |
Headers | show |
Series | drm/st7735r: Fix module autoloading for Okaya RH128128T | expand |
Hi Javier, CC spi On Fri, May 20, 2022 at 11:16 AM Javier Martinez Canillas <javierm@redhat.com> wrote: > The SPI core always reports a "MODALIAS=spi:<foo>", even if the device was > registered via OF. This means that the st7735r.ko module won't autoload if > a DT has a node with a compatible "okaya,rh128128t" string. > > In that case, kmod expects a "MODALIAS=of:N*T*Cokaya,rh128128t" uevent but > instead will get a "MODALIAS=spi:rh128128t", which is not present in the > list of aliases: > > $ modinfo drivers/gpu/drm/tiny/st7735r.ko | grep alias > alias: of:N*T*Cokaya,rh128128tC* > alias: of:N*T*Cokaya,rh128128t > alias: of:N*T*Cjianda,jd-t18003-t01C* > alias: of:N*T*Cjianda,jd-t18003-t01 > alias: spi:jd-t18003-t01 > > To workaround this issue, add in the SPI table an entry for that device. > > Fixes: d1d511d516f7 ("drm: tiny: st7735r: Add support for Okaya RH128128T") > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Thanks for your patch! We really need to fix this at the subsystem level. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- a/drivers/gpu/drm/tiny/st7735r.c > +++ b/drivers/gpu/drm/tiny/st7735r.c > @@ -174,6 +174,7 @@ MODULE_DEVICE_TABLE(of, st7735r_of_match); > > static const struct spi_device_id st7735r_id[] = { > { "jd-t18003-t01", (uintptr_t)&jd_t18003_t01_cfg }, > + { "rh128128t", (uintptr_t)&rh128128t_cfg }, > { }, > }; > MODULE_DEVICE_TABLE(spi, st7735r_id); Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org 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
On 5/20/22 4:16 AM, Javier Martinez Canillas wrote: > The SPI core always reports a "MODALIAS=spi:<foo>", even if the device was > registered via OF. This means that the st7735r.ko module won't autoload if > a DT has a node with a compatible "okaya,rh128128t" string. > > In that case, kmod expects a "MODALIAS=of:N*T*Cokaya,rh128128t" uevent but > instead will get a "MODALIAS=spi:rh128128t", which is not present in the > list of aliases: > > $ modinfo drivers/gpu/drm/tiny/st7735r.ko | grep alias > alias: of:N*T*Cokaya,rh128128tC* > alias: of:N*T*Cokaya,rh128128t > alias: of:N*T*Cjianda,jd-t18003-t01C* > alias: of:N*T*Cjianda,jd-t18003-t01 > alias: spi:jd-t18003-t01 > > To workaround this issue, add in the SPI table an entry for that device. > > Fixes: d1d511d516f7 ("drm: tiny: st7735r: Add support for Okaya RH128128T") > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > --- Acked-by: David Lechner <david@lechnology.com>
Hello Geert, On 5/20/22 14:02, Geert Uytterhoeven wrote: > Hi Javier, > > CC spi > > On Fri, May 20, 2022 at 11:16 AM Javier Martinez Canillas > <javierm@redhat.com> wrote: >> The SPI core always reports a "MODALIAS=spi:<foo>", even if the device was >> registered via OF. This means that the st7735r.ko module won't autoload if >> a DT has a node with a compatible "okaya,rh128128t" string. >> >> In that case, kmod expects a "MODALIAS=of:N*T*Cokaya,rh128128t" uevent but >> instead will get a "MODALIAS=spi:rh128128t", which is not present in the >> list of aliases: >> >> $ modinfo drivers/gpu/drm/tiny/st7735r.ko | grep alias >> alias: of:N*T*Cokaya,rh128128tC* >> alias: of:N*T*Cokaya,rh128128t >> alias: of:N*T*Cjianda,jd-t18003-t01C* >> alias: of:N*T*Cjianda,jd-t18003-t01 >> alias: spi:jd-t18003-t01 >> >> To workaround this issue, add in the SPI table an entry for that device. >> >> Fixes: d1d511d516f7 ("drm: tiny: st7735r: Add support for Okaya RH128128T") >> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > > Thanks for your patch! > We really need to fix this at the subsystem level. > Yes, agreed. > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > Thanks! I've pushed this to drm-misc (drm-misc-next) with your Reviewed-by and David's Acked-by.
diff --git a/drivers/gpu/drm/tiny/st7735r.c b/drivers/gpu/drm/tiny/st7735r.c index 29d618093e94..e0f02d367d88 100644 --- a/drivers/gpu/drm/tiny/st7735r.c +++ b/drivers/gpu/drm/tiny/st7735r.c @@ -174,6 +174,7 @@ MODULE_DEVICE_TABLE(of, st7735r_of_match); static const struct spi_device_id st7735r_id[] = { { "jd-t18003-t01", (uintptr_t)&jd_t18003_t01_cfg }, + { "rh128128t", (uintptr_t)&rh128128t_cfg }, { }, }; MODULE_DEVICE_TABLE(spi, st7735r_id);
The SPI core always reports a "MODALIAS=spi:<foo>", even if the device was registered via OF. This means that the st7735r.ko module won't autoload if a DT has a node with a compatible "okaya,rh128128t" string. In that case, kmod expects a "MODALIAS=of:N*T*Cokaya,rh128128t" uevent but instead will get a "MODALIAS=spi:rh128128t", which is not present in the list of aliases: $ modinfo drivers/gpu/drm/tiny/st7735r.ko | grep alias alias: of:N*T*Cokaya,rh128128tC* alias: of:N*T*Cokaya,rh128128t alias: of:N*T*Cjianda,jd-t18003-t01C* alias: of:N*T*Cjianda,jd-t18003-t01 alias: spi:jd-t18003-t01 To workaround this issue, add in the SPI table an entry for that device. Fixes: d1d511d516f7 ("drm: tiny: st7735r: Add support for Okaya RH128128T") Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- drivers/gpu/drm/tiny/st7735r.c | 1 + 1 file changed, 1 insertion(+)