cppro.c 1020 B

123456789101112131415161718192021222324252627282930313233
  1. #include <linux/module.h> // included for all kernel modules
  2. #include <linux/kernel.h> // included for KERN_INFO
  3. #include <linux/init.h> // included for __init and __exit macros
  4. #include <linux/interrupt.h>
  5. #include <linux/irq.h>
  6. #include "cppro.h"
  7. MODULE_LICENSE("GPL");
  8. MODULE_AUTHOR("Joseph D. Anderson");
  9. MODULE_DESCRIPTION("CP Protection Device");
  10. MODULE_VERSION("0.01");
  11. static int __init cppro_init(void)
  12. {
  13. printk(KERN_INFO "[cppro]installed\n");
  14. //request_irq(7, (irq_handler_t)cppro_ISR, IRQF_TRIGGER_RISING, "power failure", NULL);
  15. //#define IRQF_TRIGGER_NONE 0x00000000
  16. //#define IRQF_TRIGGER_RISING 0x00000001
  17. //#define IRQF_TRIGGER_FALLING 0x00000002
  18. //#define IRQF_TRIGGER_HIGH 0x00000004
  19. //#define IRQF_TRIGGER_LOW 0x00000008
  20. return 0; // Non-zero return means that the module couldn't be loaded.
  21. }
  22. static void __exit cppro_cleanup(void)
  23. {
  24. printk(KERN_INFO "[cppro]uninstalled\n");
  25. }
  26. module_init(cppro_init);
  27. module_exit(cppro_cleanup);