Re: RFC: (re-)binding the VFIO platform driver to a platform device

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Wed Oct 02 2013 - 17:16:23 EST


On Wed, Oct 02, 2013 at 04:08:41PM -0500, Scott Wood wrote:
> On Wed, 2013-10-02 at 13:37 -0700, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > On Wed, Oct 02, 2013 at 11:43:30AM -0700, Christoffer Dall wrote:
> > > > What's wrong with a non-vfio-specific flag that a driver can set, that
> > > > indicates that the driver is willing to try to bind to any device on the
> > > > bus if explicitly requested via the existing sysfs bind mechanism?
> > > >
> > > It sounds more hackish to me to invent some 'generic' flag to solve a
> > > very specific case. What you're suggesting would let users specify that
> > > a serial driver should handle a NIC hardware, no? That sounds much much
> > > worse to me.
> >
> > You can do that today, with any PCI driver (or USB driver as well), just
> > use the bind/unbind files in sysfs and you had better "know" what you
> > are doing...
>
> sysfs bind won't work if it driver_match_device() fails. PCI has
> PCI_ANY_ID, so the missing piece for PCI is a way to say that the driver
> should not bind to a device except when explicitly requested via sysfs
> bind.
>
> I don't see any equivalent functionality to PCI_ANY_ID for platform
> devices.

Nor should it. If you are wanting to bind platform devices to different
things based on "ids" or "strings" or something else, then you had
better not be using a platform device because that is not what you have
anymore.

Yes, I know the OF stuff uses platform devices, and again, it's one
reason why I don't like it at all. So fix OF devices "properly",
creating your own bus and device type, and then you will not have these
issues.

thanks,

greg "I should never have let platform devices be created" k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/