Re: [PATCH] spi: Revert modalias changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 21, 2021 at 06:32:22PM +0100, Mark Brown wrote:
> During the v5.13 cycle we updated the SPI subsystem to generate OF style
> modaliases for SPI devices, replacing the old Linux style modalises we
> used to generate based on spi_device_id which are the DT style name with
> the vendor removed.  Unfortunately this means that we start only
> reporting OF style modalises and not the old ones and there is nothing
> that ensures that drivers list every possible OF compatible string in
> their OF ID table.  The result is that there are systems which have been
> relying on loading modules based on the old style that are now broken,
> as found by Russell King with spi-nor on Macchiatobin.
> 
> spi-nor is a particularly problematic case for this, it only lists a
> single generic DT compatible jedec,spi-nor in the driver but supports a
> huge raft of device specific compatibles, with a large set of part
> numbers many of which are offered by multiple vendors.  Russell's
> searches of upstream device trees has turned up examples with vendor
> names written in non-standard ways too.  To make matters worse up until
> 8ff16cf77ce3 ("Documentation: devicetree: m25p80: add "nor-jedec"
> binding") the generic compatible was not part of the binding so there
> are device trees out there written to that binding version which don't
> list it all.  The sheer number of parts supported together with our
> previous approach of ignoring the vendor ID makes robustly fixing this
> by adding compatibles to the spi-nor driver seem problematic, the
> current DT binding document does not list all the parts supported by the
> driver at the minute (further patches will fix this).
> 
> I've also investigated supporting both formats of modalias
> simultaneously but that doesn't seem possible, especially without
> breaking our userspace ABI which is obviously not viable.
> 
> Instead revert the relevant changes for now:
> 
> e09f2ab8eecc ("spi: update modalias_show after of_device_uevent_modalias support")
> 3ce6c9e2617e ("spi: add of_device_uevent_modalias support")
> 
> This will unfortunately mean that any system which had started having
> modules autoload based on the OF compatibles for drivers that list
> things there but not in the spi_device_ids will now not have those
> modules load which is itself a regression.  Since it affects a narrower
> time window and the particularly problematic spi-nor driver may be
> critical to system boot on smaller systems this seems the best of a
> series of bad options.  I will start an audit of SPI drivers to identify
> and fix cases where things won't autoload using spi_device_id, this is
> not great but seems to be the best way forward that anyone has been able
> to identify.
> 
> Thanks to Russell for both his report and the additional diagnostic and
> analysis work he has done here, the detailed research above was his
> work.
> 
> Fixes: e09f2ab8eecc ("spi: update modalias_show after of_device_uevent_modalias support")
> Fixes: 3ce6c9e2617e ("spi: add of_device_uevent_modalias support")
> Reported-by: Russell King (Oracle) <linux@xxxxxxxxxxxxxxx>
> Suggested-by: Russell King (Oracle) <linux@xxxxxxxxxxxxxxx>

This is exactly the change I have in my local tree to fix the issue,
so...

Tested-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>

Thanks!

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux