mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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


  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®