public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox