Re: [PATCH 3/3] drivers core: allow id match override when manually binding driver

From: Greg Kroah-Hartman
Date: Sun Jun 26 2016 - 14:54:49 EST


On Thu, Jun 23, 2016 at 05:41:20PM -0000, Michal Suchanek wrote:
> This allows binding spidev on any slave device by hand using sysfs
> without adding superfluous compatibles or any other needless
> complication.
>
> Note that any slave driver that requires configuration will fail to
> probe anyway. Only a driver that binds to anything can be bound
> successfully.
>
> Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx>
> ---
> drivers/base/Kconfig.debug | 14 +++++++++
> drivers/base/bus.c | 72 +++++++++++++++++++++++++++++++++++++++++++++-
> lib/Kconfig.debug | 2 ++
> 3 files changed, 87 insertions(+), 1 deletion(-)
> create mode 100644 drivers/base/Kconfig.debug
>
> diff --git a/drivers/base/Kconfig.debug b/drivers/base/Kconfig.debug
> new file mode 100644
> index 0000000..e21d3cc
> --- /dev/null
> +++ b/drivers/base/Kconfig.debug
> @@ -0,0 +1,14 @@
> +menuconfig DRIVER_MATCH_OVERRIDE
> + bool "Allow manual driver binding to override id match (DANGEROUS)"
> + default n
> + help
> + When binding a driver manually bypass the check of driver id table
> + against device id in driver core. This can be useful for development
> + or on buses that don't provide reliable device identification.

Ick, no no no. Why would you ever want to let this happen? If you
really want to override the check, just write things to the 'bind' file
in sysfs, that will skip the driver id check entirely, right?

> +
> +config DRIVER_MATCH_OVERRIDE_BUSES
> + string "Specify buses for which id matching will be overridden"
> + default "spi"
> + depends on DRIVER_MATCH_OVERRIDE
> + help
> + space separated bus names

Gotta love parsers of config items :(

Again, please no.

greg k-h