2003-07-15 19:55:07

by James Cloos

[permalink] [raw]
Subject: /sys/class/tty bugglet in 2.6.0-test1 +

It looks like sysfs is creating a dir in class/tty by the name of
usb/acm/0 for my acm modem:

:; ls -AF /sys/class/tty
total 0
0 console/
0 ptmx/
0 tty/
0 tty0/
[ tty1 to tty63 elided ]
0 ttyS0/
0 ttyS1/
0 ttyS2/
0 ttyS3/
0 usb/acm/0/

A [TAB] in bash will autocomplete /sys/class/tty/usb/acm/0.

W/ devfs the modem is at /dev/usb/acm/0, so it may be a sysfs
vs. devfs conflict. (Box is gentoo; devfs is required for the
init scripts to work.)

I think I'm at bk current, but may be off by a couple of csets.

-JimC


2003-07-15 20:55:00

by Greg KH

[permalink] [raw]
Subject: Re: /sys/class/tty bugglet in 2.6.0-test1 +

On Tue, Jul 15, 2003 at 04:09:45PM -0400, James H. Cloos Jr. wrote:
> It looks like sysfs is creating a dir in class/tty by the name of
> usb/acm/0 for my acm modem:
>
> :; ls -AF /sys/class/tty
> total 0
> 0 console/
> 0 ptmx/
> 0 tty/
> 0 tty0/
> [ tty1 to tty63 elided ]
> 0 ttyS0/
> 0 ttyS1/
> 0 ttyS2/
> 0 ttyS3/
> 0 usb/acm/0/

Ouch, someone forgot to fix up this driver's devfs_name logic. The
patch below should fix it. Let me know if it doesn't work for you.

greg k-h


# USB: fix up cdc-acm driver's tty and devfs names.

diff -Nru a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
--- a/drivers/usb/class/cdc-acm.c Tue Jul 15 14:08:30 2003
+++ b/drivers/usb/class/cdc-acm.c Tue Jul 15 14:08:30 2003
@@ -765,7 +765,8 @@
return -ENOMEM;
acm_tty_driver->owner = THIS_MODULE,
acm_tty_driver->driver_name = "acm",
- acm_tty_driver->name = "usb/acm/",
+ acm_tty_driver->name = "ttyACM",
+ acm_tty_driver->devfs_name = "usb/acm/",
acm_tty_driver->major = ACM_TTY_MAJOR,
acm_tty_driver->minor_start = 0,
acm_tty_driver->type = TTY_DRIVER_TYPE_SERIAL,