On Fri, Feb 3, 2023 at 11:15 AM <equu@xxxxxxxxxxx> wrote: > > > I think this can be done a bit cleaner and like other drivers. I see 2 options. > > The first way is use VID/PID compatible strings and don't set the > > of_node pointer if there is a mismatch. > Where should I do this? In pci_set_of_node() from drivers/pci/of.c? Off the top of my head, I think so. > > Upon further thought, why can't you decide all this just on PCI > > VID/PID? The giant switch statement in ath10k_pci_probe() could all > > just be struct of driver_data from the PCI match table. > > I cannot decide all this just on PCI VID/PID because PCI VID/PID cannot tell whether calibration data are stored in the device (like most expansion cards) or not (for example, in an NVRAM cell referenced by the device tree). > For a given VID/PID, you could have calibration data in DT that you want to ignore sometimes and not other times (because the compatible is wrong)? Rob