Skip to content
Snippets Groups Projects
  1. Jan 09, 2025
  2. Jan 08, 2025
    • Javier Martinez Canillas's avatar
      drm/ssd130x: Set SPI .id_table to prevent an SPI core warning · 5d40d4fa
      Javier Martinez Canillas authored
      
      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 member 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 member 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.
      
      Fixes: 74373977 ("drm/solomon: Add SSD130x OLED displays SPI support")
      Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20241231114516.2063201-1-javierm@redhat.com
      
      
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
  3. Jan 07, 2025
  4. Jan 06, 2025
Loading