Re: [PATCH] Fix capi devicenames

From: Marc - A. Dahlhaus
Date: Thu Sep 30 2010 - 06:38:10 EST


Am Donnerstag, den 30.09.2010, 10:30 +0100 schrieb Alan Cox:
> On Wed, 29 Sep 2010 21:21:23 +0200
> "Marc - A. Dahlhaus" <mad@xxxxxx> wrote:
>
> > capi device names should get changed to what userspace expects.
>
> If userspace isn't following the spec (which has been the spec for many
> years) then thats not our problem.

Thanks Alan,

please read further, i think i didn't wrote the whole story in the patch
declarations.

> > Without this change recent udev versions can't produce working device
> > nodes as the capi control device node name "capi" collides with the
> > "capi" directory under which userspace expects to get the application
> > device nodes. This also fixes the Documentation.
>
> The documentation isn't broken, the documentation *is* the reference.

The Documentation doesn't even represent what is in the code right now.
kernelcapi.ko creates /dev/capi as the capi control device
and /dev/capi[0-9]+ for the applications. Documentation states the
Devices are /dev/capi20 and /dev/capi20.[0-9]+ for applications.

> NAK. Fix udev.

I don't think udev is the right place to fix this.

Udev creates symlinks and is no longer able to overwrite the name
attribute.

CCing Kay Sievers for that.

> We have a spec for a reason, if some distro didn't follow it then that's
> up to them but they can sort out their own udev.

The problem is that eg. the capi module for pppd expects the application
nodes in a capifs conform path. capifs was in charge to create
the /dev/capi/[0-9]+ nodes but was deprecated and replaced by udev.

Old udev versions contained a isdn-40.rules file to create the capifs
nodes.

There was a discussion here about where to fix the false naming of
devices. And as far as i know it was decided that the right place is to
change them inside of the kernel and not via udev. Because of this udev
removed the possibility to change devicenodes to new names without
keeping the kernels suggested devicenode name. I hope i got this right.

So IMO the documentation is wrong. And also the kernelcapi module is
wrong about that node it creates.

The ISDN4Linux userspace expects the devicenodes in the way the patch
renames them for years:

http://www.isdn4linux.de/cgi-bin/viewcvs.cgi/isdn4k-utils/capiinit/capiinit.c?revision=1.17&view=markup

I just want that it works with the latest upstream sources out of the
box and this isn't the case right now.
CCing Karsten Keil for this.

> Alan

thanks,

Marc

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/