X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Finput%2Fmouse%2Fpc110pad.c;h=0c74918fe2543ca23bfa922065948e93e9b4a121;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=fa8cff3df391c3be4bd824d5cfc4a0e8c8c60370;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c index fa8cff3df..0c74918fe 100644 --- a/drivers/input/mouse/pc110pad.c +++ b/drivers/input/mouse/pc110pad.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -107,8 +108,22 @@ static int pc110pad_open(struct input_dev *dev) return 0; } +/* + * We try to avoid enabling the hardware if it's not + * there, but we don't know how to test. But we do know + * that the PC110 is not a PCI system. So if we find any + * PCI devices in the machine, we don't have a PC110. + */ static int __init pc110pad_init(void) { + struct pci_dev *dev; + + dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, NULL); + if (dev) { + pci_dev_put(dev); + return -ENOENT; + } + if (!request_region(pc110pad_io, 4, "pc110pad")) { printk(KERN_ERR "pc110pad: I/O area %#x-%#x in use.\n", pc110pad_io, pc110pad_io + 4);