fake-device.c 659 B

123456789101112131415161718192021222324252627282930
  1. #include <linux/kernel.h>
  2. #include <linux/module.h>
  3. #include <linux/platform_device.h>
  4. static char *name = "fake-device";
  5. static struct platform_device *pdev;
  6. static int __init fake_device_init(void)
  7. {
  8. pdev = platform_device_register_simple(name, 0, NULL, 0);
  9. if (IS_ERR(pdev))
  10. return PTR_ERR(pdev);
  11. printk(KERN_INFO "%s: connected", name);
  12. return 0;
  13. }
  14. static void __exit fake_device_exit(void)
  15. {
  16. platform_device_unregister(pdev);
  17. printk(KERN_INFO "%s: disconnected", name);
  18. }
  19. module_param(name, charp, 0644);
  20. MODULE_PARM_DESC(name, "Device name");
  21. module_init(fake_device_init)
  22. module_exit(fake_device_exit)
  23. MODULE_LICENSE("GPL");