The book of linux device driver says register_chrdev will go away and do not use it. Do you mean misc_register only can handle one device? For example, there are several wifi devices, misc_register can only deal one of them not all? --- On Thu, 6/18/09, Jiri Slaby <jirislaby at gmairl.com> wrote: > From: Jiri Slaby <jirislaby at gmail.com> > Subject: Re: char driver > To: "hong zhang" <henryzhang62 at yahoo.com> > Cc: devel at linuxdriverproject.org > Date: Thursday, June 18, 2009, 4:32 PM > On 06/18/2009 10:51 PM, hong zhang > wrote: > > I want to create a char driver but there are cdev, > register_chrdev and misc_register interfaces in 2.6 kernel. > "Linux device driver" recommends cdev. > > misc driver registers only one device/minor. I don't know > what you mean > by cdev (all are cdevs), but you should use dynamic major > allocator, > i.e. alloc_chrdev_region and add devices via cdev_add > later. > register_chrdev can alloc a dynamic major too, but adds all > 256 minors > at once. >