LWN.net Logo

add register_chrdev_ids() to char_dev.c, API

From:  Jim Cromie <jim.cromie@gmail.com>
To:  linux-kernel@vger.kernel.org
Subject:  [PATCH 00/23] add register_chrdev_ids() to char_dev.c, API
Date:  Thu, 19 May 2011 15:33:03 -0600
Message-ID:  <1305840792-25877-1-git-send-email-jim.cromie@gmail.com>
Cc:  gregkh@suse.de
Archive-link:  Article, Thread

over on kernelnewbies, gregkh said:

     The chardev stuff is a mess, I keep meaning for years to clean it
     up.  Any proposals on a sane interface for this stuff is greatly
     appreciated.

this is a 1st step.

register_chrdev_ids() replaces and deprecates register_chrdev_region()
and alloc_chrdev_region() with a single function that works for both
dynamic and static major numbers.

Like alloc_chrdev_region(), 1st arg is a dev_t*, but its an in/out
parameter, and expects both major and minor to be preset, and thus the
separate minor arg is dropped.  If major == 0, a dynamic major is
reserved, saved into 1st arg, and thus available to caller afterwards.

[PATCH 01/23] add register_chrdev_ids() to char_dev.c, API
[PATCH 02/23] reimplement alloc_chrdev_region with
[PATCH 03/23] use register_chrdev_ids to replace
[PATCH 04/23] use register_chrdev_ids in drivers/tty/
[PATCH 05/23] use register_chrdev_ids in drivers/infiniband/
[PATCH 06/23] use register_chrdev_ids in drivers/media/
[PATCH 07/23] use register_chrdev_ids in drivers/s390/
[PATCH 08/23] use register_chrdev_ids in drivers/scsi/
[PATCH 09/23] use register_chrdev_ids in drivers/staging/

Ive held back the rest, no point in spamming.


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds