All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Crilly <jim@why.dont.jablowme.net>
To: KC <kcc1967@gmail.com>
Cc: Erik Mouw <erik@harddisk-recovery.com>, linux-kernel@vger.kernel.org
Subject: Re: proc_mknod() replacement
Date: Mon, 9 May 2005 18:04:12 -0400	[thread overview]
Message-ID: <20050509220411.GA15932@mail> (raw)
In-Reply-To: <5eb4b065050509100638bd7970@mail.gmail.com>

On 05/10/05 01:06:08AM +0800, KC wrote:
> Hi,
> 
> Thanks for reply.
> 
> On 5/9/05, Erik Mouw <erik@harddisk-recovery.com> wrote:
> > On Mon, May 09, 2005 at 07:17:44PM +0800, KC wrote:
> > > I found that proc_mknod() had been removed from kernel 2.6.x.
> > > Any replacement ?
> > >
> > > Or how can I create file, device node or dir from device driver ?
> > 
> > You don't do that from a device driver in the first place. Have a look
> > at udev, it will do what you want from userspace.
> 
> For regular file, I do agree with you.  But for device node, I don't see
> anything wrong by create it directly from kernel space.
> In fact, I do not understand why proc_mknod() is removed from
> 2.6.x ... I will be happy if someone can tell me why.

Because naming of devices is a policy that shouldn't be defined in the
kernel.

> 
> Why I want to use proc_mknod() in driver ?  I write a small package, ovi-dev,
> which can be downloaded from
> http://www.sourceforge.net/projects/ovi
> The ovi-dev will scan the PCI bus and if it found, eg, 3 PCI devices, it
> will create 3 device entries (nodes) automatically at module load time.
> So number of device entries (nodes) will match number of devices
> of the system ... well, UNIX/Linux doesn't work that way ... there are a lot
> of device entries ... but no corresponding hardware existed.

You must have not have converted to udev, it's sort of like devfs in that
device nodes are created dynamicly but it's a userspace daemon that
adds/removes device nodes in response to hotplug events generated by the kernel.
> 
> The proc_mknod() can fix the problems ... but it was removed from 2.6.x ...
> too bad ... at least for me.   So I'm looking for an alternative way to create
> device entry under /dev from drivers instead of /proc ... but still don't know
> how.   Anyone know how to do that ?  It should be done at module_init()
> and the entry should be removed at module_exit().

I believe if you use the driver core class stuff (i.e.
class_simple_device_add) it should add device nodes in sysfs and generate
hotplug events for udev.

> 
> 
> Thanks
> KC
> 

Jim.

  parent reply	other threads:[~2005-05-09 22:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-09 11:17 proc_mknod() replacement KC
2005-05-09 15:41 ` Erik Mouw
2005-05-09 17:06   ` KC
2005-05-09 21:07     ` Valdis.Kletnieks
2005-05-10  2:05       ` KC
2005-05-09 22:04     ` Jim Crilly [this message]
2005-05-10  2:43       ` KC

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=20050509220411.GA15932@mail \
    --to=jim@why.dont.jablowme.net \
    --cc=erik@harddisk-recovery.com \
    --cc=kcc1967@gmail.com \
    --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 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.