diff mbox series

drm/st7735r: Fix module autoloading for Okaya RH128128T

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

Commit Message

Javier Martinez Canillas May 20, 2022, 9:16 a.m. UTC
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(+)

Comments

Geert Uytterhoeven May 20, 2022, 12:02 p.m. UTC | #1
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
David Lechner May 20, 2022, 3:33 p.m. UTC | #2
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>
Javier Martinez Canillas May 23, 2022, 2:11 p.m. UTC | #3
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 mbox series

Patch

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);