Message ID | aadbd32c-c0ab-4c8a-c590-3334f736f224@gmail.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | staging: fbtft: add spi_device_id table | expand |
Hi Heiner, On Mon, Nov 29, 2021 at 10:12 PM Heiner Kallweit <hkallweit1@gmail.com> wrote: > After 5fa6863ba692 ("spi: Check we have a spi_device_id for each DT > compatible") we need the following to make the SPI core happy. > > Works for me with a SH1106-based OLED display. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Thanks for your patch! > --- a/drivers/staging/fbtft/fbtft.h > +++ b/drivers/staging/fbtft/fbtft.h > @@ -307,12 +307,19 @@ static const struct of_device_id dt_ids[] = { \ > \ > MODULE_DEVICE_TABLE(of, dt_ids); \ > \ > +static const struct spi_device_id spi_ids[] = { \ > + { .name = _compatible }, \ Shouldn't this be the part of _compatible after the "<vendor>," prefix? > + {}, \ > +}; \ > + \ > +MODULE_DEVICE_TABLE(spi, spi_ids); \ > \ > static struct spi_driver fbtft_driver_spi_driver = { \ > .driver = { \ > .name = _name, \ > .of_match_table = dt_ids, \ > }, \ > + .id_table = spi_ids, \ > .probe = fbtft_driver_probe_spi, \ > .remove = fbtft_driver_remove_spi, \ > }; \ 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 30.11.2021 09:16, Geert Uytterhoeven wrote: > Hi Heiner, > > On Mon, Nov 29, 2021 at 10:12 PM Heiner Kallweit <hkallweit1@gmail.com> wrote: >> After 5fa6863ba692 ("spi: Check we have a spi_device_id for each DT >> compatible") we need the following to make the SPI core happy. >> >> Works for me with a SH1106-based OLED display. >> >> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > > Thanks for your patch! > >> --- a/drivers/staging/fbtft/fbtft.h >> +++ b/drivers/staging/fbtft/fbtft.h >> @@ -307,12 +307,19 @@ static const struct of_device_id dt_ids[] = { \ >> \ >> MODULE_DEVICE_TABLE(of, dt_ids); \ >> \ >> +static const struct spi_device_id spi_ids[] = { \ >> + { .name = _compatible }, \ > > Shouldn't this be the part of _compatible after the "<vendor>," prefix? > You're right. I was fooled by a new bug in SPI core that made the warning suddenly disappear: https://patchwork.kernel.org/project/spi-devel-general/patch/44b2ad71-dc4b-801c-237f-9c233f675c0d@gmail.com/ >> + {}, \ >> +}; \ >> + \ >> +MODULE_DEVICE_TABLE(spi, spi_ids); \ >> \ >> static struct spi_driver fbtft_driver_spi_driver = { \ >> .driver = { \ >> .name = _name, \ >> .of_match_table = dt_ids, \ >> }, \ >> + .id_table = spi_ids, \ >> .probe = fbtft_driver_probe_spi, \ >> .remove = fbtft_driver_remove_spi, \ >> }; \ > > 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 >
diff --git a/drivers/staging/fbtft/fbtft.h b/drivers/staging/fbtft/fbtft.h index 6869f3603..3f1fbdd48 100644 --- a/drivers/staging/fbtft/fbtft.h +++ b/drivers/staging/fbtft/fbtft.h @@ -307,12 +307,19 @@ static const struct of_device_id dt_ids[] = { \ \ MODULE_DEVICE_TABLE(of, dt_ids); \ \ +static const struct spi_device_id spi_ids[] = { \ + { .name = _compatible }, \ + {}, \ +}; \ + \ +MODULE_DEVICE_TABLE(spi, spi_ids); \ \ static struct spi_driver fbtft_driver_spi_driver = { \ .driver = { \ .name = _name, \ .of_match_table = dt_ids, \ }, \ + .id_table = spi_ids, \ .probe = fbtft_driver_probe_spi, \ .remove = fbtft_driver_remove_spi, \ }; \
After 5fa6863ba692 ("spi: Check we have a spi_device_id for each DT compatible") we need the following to make the SPI core happy. Works for me with a SH1106-based OLED display. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/staging/fbtft/fbtft.h | 7 +++++++ 1 file changed, 7 insertions(+)