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 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.. Jason