spi: Add driver_override SPI device attribute
authorTrent Piepho <tpiepho@impinj.com>
Thu, 20 Sep 2018 19:18:32 +0000 (19:18 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 10 Oct 2018 12:40:45 +0000 (13:40 +0100)
commit5039563e7c25eccd7fec1de6706011009d1c5665
tree61b932c9effd7539770d341e9f62a9706c2c4f6f
parentbed2e8f4e851e26680234e4e1e9eaba62a9f0846
spi: Add driver_override SPI device attribute

This attribute works the same was as the identically named attribute
for PCI, AMBA, and platform devices.  For reference, see:

commit 3cf385713460 ("ARM: 8256/1: driver coamba: add device binding
path 'driver_override'")
commit 3d713e0e382e ("driver core: platform: add device binding path
'driver_override'")
commit 782a985d7af2 ("PCI: Introduce new device binding path using
pci_dev.driver_override")

If the name of a driver is written to this attribute, then the device
will bind to the named driver and only the named driver.

The device will bind to the driver even if the driver does not list the
device in its id table.  This behavior is different than the driver's
bind attribute, which only allows binding to devices that are listed as
supported by the driver.

It can be used to bind a generic driver, like spidev, to a device.

Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz>
Tested-by: Jan Kundrát <jan.kundrat@cesnet.cz>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c
include/linux/spi/spi.h