Re: [PATCH net-next v1 1/1] net: dsa: sja1105: silent spi_device_id warnings

From: Vladimir Oltean
Date: Thu Jun 30 2022 - 12:11:08 EST


On Thu, Jun 30, 2022 at 09:10:13AM +0200, Oleksij Rempel wrote:
> Add spi_device_id entries to silent following warnings:
> SPI driver sja1105 has no spi_device_id for nxp,sja1105e
> SPI driver sja1105 has no spi_device_id for nxp,sja1105t
> SPI driver sja1105 has no spi_device_id for nxp,sja1105p
> SPI driver sja1105 has no spi_device_id for nxp,sja1105q
> SPI driver sja1105 has no spi_device_id for nxp,sja1105r
> SPI driver sja1105 has no spi_device_id for nxp,sja1105s
> SPI driver sja1105 has no spi_device_id for nxp,sja1110a
> SPI driver sja1105 has no spi_device_id for nxp,sja1110b
> SPI driver sja1105 has no spi_device_id for nxp,sja1110c
> SPI driver sja1105 has no spi_device_id for nxp,sja1110d
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> ---
> drivers/net/dsa/sja1105/sja1105_main.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
> index b253e27bcfb4..b03d0d0c3dbf 100644
> --- a/drivers/net/dsa/sja1105/sja1105_main.c
> +++ b/drivers/net/dsa/sja1105/sja1105_main.c
> @@ -3382,12 +3382,28 @@ static const struct of_device_id sja1105_dt_ids[] = {
> };
> MODULE_DEVICE_TABLE(of, sja1105_dt_ids);
>
> +static const struct spi_device_id sja1105_spi_ids[] = {
> + { "sja1105e" },
> + { "sja1105t" },
> + { "sja1105p" },
> + { "sja1105q" },
> + { "sja1105r" },
> + { "sja1105s" },
> + { "sja1110a" },
> + { "sja1110b" },
> + { "sja1110c" },
> + { "sja1110d" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(spi, sja1105_spi_ids);
> +
> static struct spi_driver sja1105_driver = {
> .driver = {
> .name = "sja1105",
> .owner = THIS_MODULE,
> .of_match_table = of_match_ptr(sja1105_dt_ids),
> },
> + .id_table = sja1105_spi_ids,
> .probe = sja1105_probe,
> .remove = sja1105_remove,
> .shutdown = sja1105_shutdown,
> --
> 2.30.2
>

Do we also need these?

MODULE_ALIAS("spi:sja1105e");
MODULE_ALIAS("spi:sja1105t");
MODULE_ALIAS("spi:sja1105p");
MODULE_ALIAS("spi:sja1105q");
MODULE_ALIAS("spi:sja1105r");
MODULE_ALIAS("spi:sja1105s");
MODULE_ALIAS("spi:sja1110a");
MODULE_ALIAS("spi:sja1110b");
MODULE_ALIAS("spi:sja1110c");
MODULE_ALIAS("spi:sja1110d");

To be honest I don't do much testing with modules at all, so I'm not
sure if udev-based module loading is broken or not. I remember becoming
vaguely curious after commit 5fa6863ba692 ("spi: Check we have a
spi_device_id for each DT compatible"), and I did some basic testing
without the spi_device_id table and MODULE_ALIASes, and it appeared that
udev could still autoload the sja1105 kernel module just fine.
So I'm not really sure what's broken.