On Mon, Feb 15, 2016 at 02:27:27PM +0000, Mark Rutland wrote:
quoted
quoted
quoted
1) The PMU detection solely relies on PCI device detection. If a
matching PCI device is found the PMU is created. The code can deal
with multiple units of the same type, e.g. more than one memory
controller.
I see below that the driver has an initcall that runs regardless of
whether the PCI device exists, and looks at the MIDR. That's clearly not
string PCI device detection.
Why is this not a true PCI driver that only gets probed if the PCI
device exists?
It is not a PCI driver because there are already drivers like edac that
will access these PCI devices. The uncore driver only accesses the
performance counters, which are not used by the other drivers.
Several drivers are accessing the same device?
That sounds somewhat scary.
I've double checked that the edac drivers do not access the performance
counters at all. It felt cleaner to me to keep the performance counter code
seperated from edac.
Jan