I am trying to develop a very basic PCI device driver for a dummy device I have created in qemu. The device has no functionality except that it sits on the PCI bus behind two bridges (bridge 0 on root bus, bridge 1 only device behind bridge 0, and device behind bridge 1 as the only device). It is a single function do nothing device with one MMIO BAR of 0x10000 size. The BAR is initialized by the kernel at some MMIO location but the device is not disabled, as there is no driver. I have used one of the available vendor ids for my work. My driver is not loaded automatically, so I load the driver manually after the boot of the VM, and then issues a rescan of the entire PCI bus using "echo 1 > /sys/bus/pci/rescan", but nothing happens. The probe function of my driver is never invoked, neither does the device gets visible in lspci output. Can someone help me identify what I might be doing wrong? I have attached the driver code, the lspci output, the lspci -H1 output, the lspci -H1 -xxx -s 02:02.0 output that details the registers of the device. -- Adhyas ******************************************************************** Two types have compatible type if their types are the same. — ANSI C Standard, 3.1.2.6. ********************************************************************