From: "Randy.Dunlap" <rddunlap@osdl.org>
To: Hanna Linder <hannal@us.ibm.com>
Cc: linux-kernel@vger.kernel.org, hannal@us.ibm.com, greg@kroah.com,
mhw@wittsend.com
Subject: Re: [PATCH 2.6.5] Add class support to drivers/char/ip2main.c
Date: Tue, 13 Apr 2004 17:34:06 -0700 [thread overview]
Message-ID: <20040413173406.6d62c782.rddunlap@osdl.org> (raw)
In-Reply-To: <116700000.1081902014@w-hlinder.beaverton.ibm.com>
On Tue, 13 Apr 2004 17:20:14 -0700 Hanna Linder wrote:
|
| Here is a patch to add class support to ip2main.c which is the Linux tty Device Driver for
| IntelliPort family of multiport serial I/O controllers. This will enable udev to see these devices.
|
| I have compiled but do not have the hardware to test. Please consider for testing or inclusion.
|
| ------
| diff -Nrup -Xdontdiff linux-2.6.5/drivers/char/ip2main.c linux-2.6.5p/drivers/char/ip2main.c
| --- linux-2.6.5/drivers/char/ip2main.c 2004-04-03 19:38:27.000000000 -0800
| +++ linux-2.6.5p/drivers/char/ip2main.c 2004-04-13 17:07:41.000000000 -0700
| @@ -683,7 +690,14 @@ ip2_loadmain(int *iop, int *irqp, unsign
| /* Register the IPL driver. */
| if ( ( err = register_chrdev ( IP2_IPL_MAJOR, pcIpl, &ip2_ipl ) ) ) {
| printk(KERN_ERR "IP2: failed to register IPL device (%d)\n", err );
| - } else
| + } else {
| + /* create the sysfs class */
| + ip2_class = class_simple_create(THIS_MODULE, "ip2");
| + if (IS_ERR(ip2_class)) {
| + err = PTR_ERR(ip2_class);
| + goto out_chrdev;
| + }
* indent that entire block.
| + }
| /* Register the read_procmem thing */
| if (!create_proc_info_entry("ip2mem",0,&proc_root,ip2_read_procmem)) {
| printk(KERN_ERR "IP2: failed to register read_procmem\n");
| @@ -700,13 +714,23 @@ ip2_loadmain(int *iop, int *irqp, unsign
| }
|
| if ( NULL != ( pB = i2BoardPtrTable[i] ) ) {
| - devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i),
| + class_simple_device_add(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i), NULL, "ipl%d", i);
* line is too long. break it up.
| + err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i),
| S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
| "ip2/ipl%d", i);
| + if (err) {
| + class_simple_device_remove(MKDEV(IP2_IPL_MAJOR, 4 * i));
| + goto out_class;
| + }
|
| - devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
| + class_simple_device_add(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1), NULL, "stat%d", i);
* line is too long. break it up.
| + err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
| S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
| "ip2/stat%d", i);
| + if (err) {
| + class_simple_device_remove(MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
| + goto out_class;
| + }
|
| for ( box = 0; box < ABS_MAX_BOXES; ++box )
| {
| @@ -759,8 +783,15 @@ retry:
| }
| }
| ip2trace (ITRC_NO_PORT, ITRC_INIT, ITRC_RETURN, 0 );
| + goto out;
|
| - return 0;
| +out_class:
| + class_simple_destroy(ip2_class);
| +
| +out_chrdev:
| + unregister_chrdev(IP2_IPL_MAJOR, "ip2");
| +out:
| + return err;
| }
* use consistent spacing (lines) before labels. None needed here (before out_chrdev:).
--
~Randy
next prev parent reply other threads:[~2004-04-14 0:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-14 0:20 Hanna Linder
2004-04-14 0:34 ` Randy.Dunlap [this message]
2004-04-14 17:28 ` Hanna Linder
2004-05-02 6:32 ` 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=20040413173406.6d62c782.rddunlap@osdl.org \
--to=rddunlap@osdl.org \
--cc=greg@kroah.com \
--cc=hannal@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhw@wittsend.com \
/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®