Messages in this thread | | | Date | Fri, 21 Apr 2006 23:00:45 -0700 | From | Greg KH <> | Subject | Re: PCI device driver writing newbie trouble |
| |
On Thu, Apr 20, 2006 at 04:04:07PM +0100, Bert Thomas wrote: > Hi All, > > I'm attempting to write a PCI device driver. I've read chapters 2, 9 and > 12 of the linux device driver book (3rd ed) and it got me going with the > code below. However, I never see the message printed from cif50_probe, > so appearantly the kernel doesn't consider my driver the correct driver > for the hardware. > > I tried to load the driver with insmod, but I also rebooted the system > in the hope that some part of the kernel would find the hardware and try > to load my driver. Is that how it is supposed to work? At least my > driver is listed in /lib/modules/2.6.15.7/modules.pcimap. Modprobe > doesn't find it, I don't know why. The hardware contains a PLX chip. The > hardware is found by the kernel, as it correctly shows up in /proc/pci: > > Bus 1, device 13, function 0: > Class 0680: PCI device 10b5:9050 (rev 1). > IRQ 5. > Non-prefetchable 32 bit memory at 0xd1005000 [0xd100507f]. > I/O at 0xd100 [0xd17f]. > Non-prefetchable 32 bit memory at 0xd1000000 [0xd1001fff]. > > Also in the corresponding /sys files. > > Does anyone have a suggestion why my probe function is not being called? > > TIA > Bert > > #include <linux/init.h> > #include <linux/module.h> > #include <linux/pci.h> > MODULE_LICENSE("Dual BSD/GPL"); > > static const struct pci_device_id cif50_ids[] = { > { > .vendor = 0x10B5, > .device = 0x9050, > .subvendor = PCI_ANY_ID, //0x10B5, > .subdevice = PCI_ANY_ID, //0x1080, > .class = PCI_ANY_ID, > .class_mask = PCI_ANY_ID > },
Try the PCI_DEVICE() macro here instead.
But that should not matter, this should work, I don't know why it doesn't sorry.
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |