[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <p2hzb3ysmthgfi4j6ehwulzk44zf4s5d6bm3nqs2rww47boshl@jr6aqmas4l5p>
Date: Tue, 31 Dec 2024 16:36:34 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Javier Martinez Canillas <javierm@...hat.com>
Cc: linux-kernel@...r.kernel.org, Mark Brown <broonie@...nel.org>,
David Airlie <airlied@...il.com>, Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Simona Vetter <simona@...ll.ch>,
Thomas Zimmermann <tzimmermann@...e.de>, dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH] drm/ssd130x: Set SPI .id_table to prevent an SPI core
warning
On Tue, Dec 31, 2024 at 12:44:58PM +0100, Javier Martinez Canillas wrote:
> The only reason for the ssd130x-spi driver to have an spi_device_id table
> is that the SPI core always reports an "spi:" MODALIAS, even when the SPI
> device has been registered via a Device Tree Blob.
>
> Without spi_device_id table information in the module's metadata, module
> autoloading would not work because there won't be an alias that matches
> the MODALIAS reported by the SPI core.
>
> This spi_device_id table is not needed for device matching though, since
> the of_device_id table is always used in this case. For this reason, the
> struct spi_driver .id_table field is currently not set in the SPI driver.
>
> Because the spi_device_id table is always required for module autoloading,
> the SPI core checks during driver registration that both an of_device_id
> table and a spi_device_id table are present and that they contain the same
> entries for all the SPI devices.
>
> Not setting the .id_table field in the driver then confuses the core and
> leads to the following warning when the ssd130x-spi driver is registered:
>
> [ 41.091198] SPI driver ssd130x-spi has no spi_device_id for sinowealth,sh1106
> [ 41.098614] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1305
> [ 41.105862] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1306
> [ 41.113062] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1307
> [ 41.120247] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1309
> [ 41.127449] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1322
> [ 41.134627] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1325
> [ 41.141784] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1327
> [ 41.149021] SPI driver ssd130x-spi has no spi_device_id for solomon,ssd1331
>
> To prevent the warning, set the .id_table even though it's not necessary.
>
> Since the check is done even for built-in drivers, drop the condition to
> only define the ID table when the driver is built as a module. Finally,
> rename the variable to use the "_spi_id" convention used for ID tables.
>
> Signed-off-by: Javier Martinez Canillas <javierm@...hat.com>
Fixes: 74373977d2ca ("drm/solomon: Add SSD130x OLED displays SPI support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> ---
>
> drivers/gpu/drm/solomon/ssd130x-spi.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists