* Creating dev nodes from driver or via uevent?
@ 2008-10-15 6:39 Fabiano Sidler
2008-10-15 7:23 ` Jike Song
2008-10-15 8:45 ` Kay Sievers
0 siblings, 2 replies; 3+ messages in thread
From: Fabiano Sidler @ 2008-10-15 6:39 UTC (permalink / raw)
To: linux-kernel
Hi folks!
Probably a very basic question, but is it better to directly mknod from a
module's init funtion or to use the uevent/udev mechanism? If the latter,
are there good overviews, explanations and comprehensive code samples
especially for using udev, as well as how to package the userspace program
creating the nodes along with a driver?
Thank you for answering!
Greetings,
Fabiano
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Creating dev nodes from driver or via uevent?
2008-10-15 6:39 Creating dev nodes from driver or via uevent? Fabiano Sidler
@ 2008-10-15 7:23 ` Jike Song
2008-10-15 8:45 ` Kay Sievers
1 sibling, 0 replies; 3+ messages in thread
From: Jike Song @ 2008-10-15 7:23 UTC (permalink / raw)
To: linux-kernel
On Wed, Oct 15, 2008 at 2:39 PM, Fabiano Sidler <lists@fipscode.ch> wrote:
> Hi folks!
>
> Probably a very basic question, but is it better to directly mknod from a
> module's init funtion or to use the uevent/udev mechanism? If the latter,
> are there good overviews, explanations and comprehensive code samples
> especially for using udev,
You can refer to any in-tree driver that calls class_create() and
device_create_drvdata() afterwards. say drivers/char/raw.c
LDD3 by Greg has some descriptions on this, but since the interface
has changed..
--
Thanks,
Jike
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Creating dev nodes from driver or via uevent?
2008-10-15 6:39 Creating dev nodes from driver or via uevent? Fabiano Sidler
2008-10-15 7:23 ` Jike Song
@ 2008-10-15 8:45 ` Kay Sievers
1 sibling, 0 replies; 3+ messages in thread
From: Kay Sievers @ 2008-10-15 8:45 UTC (permalink / raw)
To: linux-kernel
On Wed, Oct 15, 2008 at 8:39 AM, Fabiano Sidler <lists@fipscode.ch> wrote:
> Probably a very basic question, but is it better to directly mknod from a
> module's init funtion or to use the uevent/udev mechanism?
You better do not touch any userspace managed filesystem from inside
the kernel. No driver is doing that.
> If the latter,
> are there good overviews, explanations and comprehensive code samples
> especially for using udev, as well as how to package the userspace program
> creating the nodes along with a driver?
You do not package anything along with the driver, unless you have
_very_ special requirements for userspace device setup. Then you could
ship a udev rules file.
There is nothing special to do, just run udev, and register a "struct
device" inside the kernel's driver core, and you will see a device
node in /dev/ with the name of your kernel device, and the major/minor
you assigned to the struct device before registration.
Almost every Linux distro, and every driver in the kernel works that
way. I suggest looking at the current kernel code and running a Linux
distro and loading/unloading an existing module, to see it working.
You can also run "/sbin/udevadm monitor --env --kernel" to see the
"raw" kernel events "struct device" registration causes, and which
lets userspace create the device nodes.
Kay
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-10-15 8:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-15 6:39 Creating dev nodes from driver or via uevent? Fabiano Sidler
2008-10-15 7:23 ` Jike Song
2008-10-15 8:45 ` Kay Sievers
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.