title: Why somewhere between linux kernel 3.14 and 4.9 PCI devices naming has changed?
body: <p>i have device with two xilinx PCI cards connected to PCIe and the device architecture is PowerPC. I can switch the kernel version by making symlink in the /boot directory.</p>
  
  <p>On 3.14 kernel lspci produces:</p>
  
  <pre><code>0000:00:00.0 Class 0604: Device 1957:0070 (rev 21)
  0000:01:00.0 Class 0200: Device 1234:0045 (rev 78)
  0001:02:00.0 Class 0604: Device 1957:0070 (rev 21)
  0001:03:00.0 Class 0200: Device 1234:0100 (rev 63)
  </code></pre>
  
  <p>And on 4.9 kernel lspci produces:</p>
  
  <pre><code>9000:00:00.0 Class 0604: Device 1957:0070 (rev 21)
  9000:01:00.0 Class 0200: Device 1234:0045 (rev 78)
  a000:02:00.0 Class 0604: Device 1957:0070 (rev 21)
  a000:03:00.0 Class 0200: Device 1234:0100 (rev 63)
  </code></pre>
  
  <p>lspci output corresponds to /sys/bus/pci/devices/ directory content. My question is why somwehere between kernel 3.14 and 4.9 pci device naming has changed? For both kernels we have same hardware, dtb device tree and everything else common.</p>