Mail: bookworepeng@Hotmail.com
Qq: 196568501
Author: Driver Monkey
Phone: 13410905075
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/device.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("Driver Monkey");static int monkey_match(struct device *dev, struct device_driver *driver){printk(KERN_INFO"monkey_match()++\n");printk(KERN_INFO"monkey_match()--\n");return 0;}static int monkey_uevent(struct device *dev, struct kobj_uevent_env *env){printk(KERN_INFO"monkey_hotplug()++\n");printk(KERN_INFO"monkey_hotplug()++\n");return 0;}struct bus_type monkey_bus_type = {.name = "monkey_bus",.match = monkey_match,.uevent = monkey_uevent,};static int monkey_init(void){int err = 0;printk("monkey_init()++\n");err = bus_register(&monkey_bus_type);if(err < 0)return err;printk("monkey_init()--\n");return 0;}static void monkey_exit(void){printk(KERN_INFO"monkey_exit()++\n");bus_unregister(&monkey_bus_type);printk(KERN_INFO"monkey_exit()--\n");}module_init(monkey_init);module_exit(monkey_exit);
Check that the path is successfully registered:
/Sys/bus # ls
I2c monkey_bus scsi spi
Mdio_bus platform serio usb