Re: [PATCH 4/5] driver core: inhibit automatic driver binding on reserved devices

From: Greg Kroah-Hartman
Date: Fri Oct 22 2021 - 02:47:04 EST


On Thu, Oct 21, 2021 at 07:00:31PM -0700, Zev Weiss wrote:
> Devices whose fwnodes are marked as reserved are instantiated, but
> will not have a driver bound to them unless userspace explicitly
> requests it by writing to a 'bind' sysfs file. This is to enable
> devices that may require special (userspace-mediated) preparation
> before a driver can safely probe them.
>
> Signed-off-by: Zev Weiss <zev@xxxxxxxxxxxxxxxxx>
> ---
> drivers/base/bus.c | 2 +-
> drivers/base/dd.c | 13 ++++++++-----
> drivers/dma/idxd/compat.c | 3 +--
> drivers/vfio/mdev/mdev_core.c | 2 +-
> include/linux/device.h | 14 +++++++++++++-
> 5 files changed, 24 insertions(+), 10 deletions(-)

Ugh, no, I don't really want to add yet-another-state to the driver core
like this. Why are these devices even in the kernel with a driver that
wants to bind to them registered if the driver somehow should NOT be
bound to it? Shouldn't all of that logic be in the crazy driver itself
as that is a very rare and odd thing to do that the driver core should
not care about at all.

And why does a device need userspace interaction at all? Again, why
would the driver not know about this and handle it all directly?

thanks,

greg k-h