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);
查看路徑註冊成功:
/sys/bus # ls
i2c monkey_bus scsi spi
mdio_bus platform serio usb