動態登記法
如果想申請的主編號已經被註冊走以後,可以讓核心動態配置一個主編號讓你使用,以 alloc_chrdev_region() 動態取得 major number。
int alloc_chrdev_region(dev_t *dev, unsigned firstminor, unsigned count, const char *name);
此函式中的dev是一個僅供輸出的參數,當配置成功時,此參數會持有配置範圍的第一個裝置編號。firstminor是你想申請的第一個次編號(通常是0)。count與name參數的意義與register_chrdev_region()相同。範例:
int driverno;
dev_t dev=MKDEV(driverno,0);
alloc_chrdev_region(&dev,0,1,DRIVER_NAME);
driverno=MAJOR(dev);