On Tue, 15 Jun 2021 20:32:57 -0300 Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > On Tue, Jun 15, 2021 at 05:22:42PM -0600, Alex Williamson wrote: > > > > > b) alone is a functional, runtime difference. > > > > > > I would state b) differently: > > > > > > b) Ignore the driver-override-only match entries in the ID table. > > > > No, pci_match_device() returns NULL if a match is found that is marked > > driver-override-only and a driver_override is not specified. That's > > the same as no match at all. We don't then go on to search past that > > match in the table, we fail to bind the driver. That's effectively an > > anti-match when there's no driver_override on the device. > > anti-match isn't the intention. The deployment will have match tables > where all entires are either flags=0 or are driver-override-only. I'd expect pci-pf-stub to have one of each, an any-id with override-only flag and the one device ID currently in the table with no flag. > I would say that mixed match tables make driver-override-only into an > anti-match is actually a minor bug in the patch. > > The series isn't about adding some new anti-match scheme. > > > I understand that's not your intended use case, but I think this allows > > that and justifies handling a dynamic ID the same as a static ID. > > Adding a field to pci_device_id, which is otherwise able to be fully > > specified via new_id, except for this field, feels like a bug. Thanks, > > Okay, I see what you are saying clearly now. > > Your example usage seems legit to me, but I really don't want to > entangle it with this series. It is a seperate idea, it can go as a > seperate work that uses the new flags and an updated new_id and > related parts by someone who wants it. > > I hope you'll understand that having NVIDIA Mellanox persue what you > describe above is just not going to work.. I understand that use case might hit a nerve, but I don't particularly see why handling static and dynamic IDs consistently wrt to this new flags field is controversial. Thanks, Alex