From 66bcebae16314268dfc64ed89072feca862be108 Mon Sep 17 00:00:00 2001 From: Marcin Chrzanowski Date: Wed, 2 May 2018 14:24:12 +0200 Subject: Setup PCI device scaffold --- pci.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 pci.c (limited to 'pci.c') diff --git a/pci.c b/pci.c new file mode 100644 index 0000000..36f1ad8 --- /dev/null +++ b/pci.c @@ -0,0 +1,74 @@ +#include "pci.h" + +#include +#include + +#include "harddoom.h" + +int doom_probe(struct pci_dev *dev, const struct pci_device_id *id) +{ + printk(KERN_INFO "In probe\n"); + return 0; +} + +void doom_remove (struct pci_dev *dev) +{ + printk(KERN_INFO "In remove\n"); +} + +int doom_suspend (struct pci_dev *dev, pm_message_t state) +{ + printk(KERN_INFO "In suspend\n"); + return 0; +} + +int doom_suspend_late (struct pci_dev *dev, pm_message_t state) +{ + printk(KERN_INFO "In suspend_late\n"); + return 0; +} + +int doom_resume_early (struct pci_dev *dev) +{ + printk(KERN_INFO "In resume_early\n"); + return 0; +} + +int doom_resume (struct pci_dev *dev) +{ + printk(KERN_INFO "In resume\n"); + return 0; +} + +void doom_shutdown (struct pci_dev *dev) +{ + printk(KERN_INFO "In shutdown\n"); +} + +struct pci_device_id device_ids[1] = { + { PCI_DEVICE(HARDDOOM_VENDOR_ID, HARDDOOM_DEVICE_ID) } +}; + +struct pci_driver driver = { + .name = "harddoom", + .id_table = device_ids, + .probe = doom_probe, + .remove = doom_remove, + .suspend = doom_suspend, + .suspend_late = doom_suspend_late, + .resume_early = doom_resume_early, + .resume = doom_resume, + .shutdown = doom_shutdown +}; + +int pci_init(void) +{ + printk(KERN_INFO "In pci init\n"); + return pci_register_driver(&driver); +} + +void pci_cleanup(void) +{ + printk(KERN_INFO "In pci cleanup\n"); + pci_unregister_driver(&driver); +} -- cgit v1.2.3