From: Jim Cromie <jim.cromie@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: gregkh@suse.de, Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH 04/23] use register_chrdev_ids in drivers/tty/
Date: Thu, 19 May 2011 15:33:07 -0600 [thread overview]
Message-ID: <1305840792-25877-5-git-send-email-jim.cromie@gmail.com> (raw)
In-Reply-To: <1305840792-25877-1-git-send-email-jim.cromie@gmail.com>
cc: Greg Kroah-Hartman <gregkh@suse.de>
Convert register_chrdev_region(MKDEV(x,y)...) uses.
This patch brought to you by coccinelle-spatch.
Some manual post-work was needed; rules insert multiple dev_t
declarations if 2 different MKDEV()s are found.
@ rcr_md @
identifier f;
expression major, minor;
expression ct, name;
@@
f(...) {
++ dev_t devt; // ++ gives multiple inserts
++ devt = MKDEV(major,minor); // fresh identifier may help
<+...
- register_chrdev_region
+ register_chrdev_ids
(
- MKDEV(major,minor),
+ &devt,
ct, name)
...+>
}
@ all_md depends on rcr_md @ // where above changes made, also do
identifier f;
expression major, minor;
@@
f(...) {
dev_t devt;
devt = MKDEV(major,minor);
<+...
- MKDEV(major,minor)
+ devt
...+>
}
# Please enter the commit message for your
changes. Lines starting # with '#' will be ignored, and an empty
message aborts the commit. # Not currently on any branch. # Changes
to be committed: # (use "git reset HEAD^1 <file>..." to unstage) # #
modified: drivers/tty/pty.c # modified: drivers/tty/tty_io.c #
modified: drivers/tty/vt/vt.c # # Untracked files: # (use "git add
<file>..." to include in what will be committed) # # bar # boo # buc #
bum # buz # chrdev-inline.cocci # chrdev.cocci-expr #
chrdev.cocci-inline # foo # joe # joebob # junk # list # mkdev.cocci #
newconf # newconfig # spam.cocci
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
drivers/tty/pty.c | 8 +++++---
drivers/tty/tty_io.c | 23 +++++++++++++----------
drivers/tty/vt/vt.c | 8 +++++---
3 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
index 2107747..07034f2 100644
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
@@ -703,6 +703,8 @@ static struct file_operations ptmx_fops;
static void __init unix98_pty_init(void)
{
+ dev_t devt = MKDEV(TTYAUX_MAJOR, 2);
+
ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX);
if (!ptm_driver)
panic("Couldn't allocate Unix98 ptm driver");
@@ -757,10 +759,10 @@ static void __init unix98_pty_init(void)
ptmx_fops.open = ptmx_open;
cdev_init(&ptmx_cdev, &ptmx_fops);
- if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
- register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
+ if (cdev_add(&ptmx_cdev, devt, 1) ||
+ register_chrdev_ids(&devt, 1, "/dev/ptmx") < 0)
panic("Couldn't register /dev/ptmx driver\n");
- device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
+ device_create(tty_class, NULL, devt, NULL, "ptmx");
}
#else
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index d7d50b4..efbb5e0 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -3051,15 +3051,14 @@ int tty_register_driver(struct tty_driver *driver)
}
if (!driver->major) {
- error = alloc_chrdev_region(&dev, driver->minor_start,
- driver->num, driver->name);
+ error = register_chrdev_ids(&dev, driver->num, driver->name);
if (!error) {
driver->major = MAJOR(dev);
driver->minor_start = MINOR(dev);
}
} else {
dev = MKDEV(driver->major, driver->minor_start);
- error = register_chrdev_region(dev, driver->num, driver->name);
+ error = register_chrdev_ids(&dev, driver->num, driver->name);
}
if (error < 0) {
kfree(p);
@@ -3294,18 +3293,22 @@ void console_sysfs_notify(void)
*/
int __init tty_init(void)
{
+ dev_t devt;
+
+ devt = MKDEV(TTYAUX_MAJOR, 0);
cdev_init(&tty_cdev, &tty_fops);
- if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
- register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
+ if (cdev_add(&tty_cdev, devt, 1) ||
+ register_chrdev_ids(&devt, 1, "/dev/tty") < 0)
panic("Couldn't register /dev/tty driver\n");
- device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty");
+ device_create(tty_class, NULL, devt, NULL, "tty");
+ devt = MKDEV(TTYAUX_MAJOR, 1);
cdev_init(&console_cdev, &console_fops);
- if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
- register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
+ if (cdev_add(&console_cdev, devt, 1) ||
+ register_chrdev_ids(&devt, 1, "/dev/console") < 0)
panic("Couldn't register /dev/console driver\n");
- consdev = device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL,
- "console");
+ consdev = device_create(tty_class, NULL, devt, NULL, "console");
+
if (IS_ERR(consdev))
consdev = NULL;
else
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 4bea1ef..819b31c 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -2973,11 +2973,13 @@ static DEVICE_ATTR(active, S_IRUGO, show_tty_active, NULL);
int __init vty_init(const struct file_operations *console_fops)
{
+ dev_t devt = MKDEV(TTY_MAJOR, 0);
+
cdev_init(&vc0_cdev, console_fops);
- if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
- register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
+ if (cdev_add(&vc0_cdev, devt, 1) ||
+ register_chrdev_ids(&devt, 1, "/dev/vc/0") < 0)
panic("Couldn't register /dev/tty0 driver\n");
- tty0dev = device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
+ tty0dev = device_create(tty_class, NULL, devt, NULL, "tty0");
if (IS_ERR(tty0dev))
tty0dev = NULL;
else
--
1.7.4.4
next prev parent reply other threads:[~2011-05-19 21:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 21:33 [PATCH 00/23] add register_chrdev_ids() to char_dev.c, API Jim Cromie
2011-05-19 21:33 ` [PATCH 02/23] reimplement alloc_chrdev_region with register_chrdev_ids Jim Cromie
2011-05-19 21:33 ` [PATCH 03/23] use register_chrdev_ids to replace (register|alloc)_chrdev_region Jim Cromie
2011-05-19 21:33 ` Jim Cromie [this message]
2011-05-19 21:33 ` [PATCH 05/23] use register_chrdev_ids in drivers/infiniband/ Jim Cromie
2011-05-19 21:33 ` [PATCH 06/23] use register_chrdev_ids in drivers/media/ Jim Cromie
2011-05-21 12:48 ` Mauro Carvalho Chehab
2011-05-19 21:33 ` [PATCH 07/23] use register_chrdev_ids in drivers/s390/ Jim Cromie
2011-05-19 21:33 ` [PATCH 08/23] use register_chrdev_ids in drivers/scsi/ Jim Cromie
2011-05-20 15:42 ` Boaz Harrosh
2011-05-21 4:21 ` Jim Cromie
2011-05-21 7:59 ` Boaz Harrosh
2011-05-19 21:33 ` [PATCH 09/23] use register_chrdev_ids in drivers/staging/ Jim Cromie
2011-05-19 22:44 ` [PATCH 00/23] add register_chrdev_ids() to char_dev.c, API Greg KH
2011-05-21 5:15 ` Jim Cromie
2011-05-21 21:14 ` Greg KH
2011-05-22 14:55 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305840792-25877-5-git-send-email-jim.cromie@gmail.com \
--to=jim.cromie@gmail.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®