Re: [PATCH] drm/st7735r: Fix module autoloading for Okaya RH128128T

From: Geert Uytterhoeven
Date: Fri May 20 2022 - 08:02:40 EST


Hi Javier,

CC spi

On Fri, May 20, 2022 at 11:16 AM Javier Martinez Canillas
<javierm@xxxxxxxxxx> 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@xxxxxxxxxx>

Thanks for your patch!
We really need to fix this at the subsystem level.

Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>


> --- 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@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