From: Greg KH <greg@kroah.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: issues getting I/O device to work with udev....
Date: Wed, 30 Aug 2006 17:51:06 +0000 [thread overview]
Message-ID: <20060830175106.GA5366@kroah.com> (raw)
In-Reply-To: <20060823222620.GA1164@seberino.org>
On Wed, Aug 30, 2006 at 03:52:39PM +0200, Jan Zwiegers wrote:
> > -----Original Message-----
> > From: linux-hotplug-devel-bounces@lists.sourceforge.net [mailto:linux-
> > hotplug-devel-bounces@lists.sourceforge.net] On Behalf Of Kay Sievers
> > Sent: 27 August 2006 02:18 AM
> > To: jan@eagle.co.za
> > Cc: 'John Thomas'; linux-hotplug-devel@lists.sourceforge.net; 'Ray
> > Schumacher'; md@Linux.IT
> > Subject: RE: issues getting I/O device to work with udev....
> >
> > On Fri, 2006-08-25 at 21:22 +0200, Jan Zwiegers wrote:
> > > > > > Oh, that all sounds very much like you don't use the right driver
> > core
> > > > > > functions and you create the "dev" file yourself in sysfs. You
> > must use
> > > > > > the right functions in the kernel and pass the correct dev_t to
> > the
> > > > > > device registration. That will automatically create the "dev" file
> > and
> > > > > > add the needed data to the uevent environment, to let udev create
> > the
> > > > > > node.
> > > > > >
> > > > > > But again, to verify this, we need the output of "udevmonitor --
> > env",
> > > > > > while you plug in a device or re-trigger the event by writing
> > "add" to
> > > > > > the "uevent" file in the sysfs device directory.
> > > > >
> > > > >
> > > > > I just create a simple device class by making use of:
> > > > >
> > > > > 'class_device_register' &
> > > > > 'class_device_createfile'
> > > > > to create /sys/class/edredaq/device0 &
> > > > > /sys/class/edredaq/device0/edredaq_nodename
> > > >
> > > > See how class_device_create() works and fills in dev_t, you need to
> > > > convert to that function or do the same with the dev_t value. You also
> > > > need to set the 'device' pointer like that function does, to make
> > > > userspace happy.
> >
> > > Do you say that I need to look at how I implemented the
> > > class_device_create_file? Mine seems the same as others. Do you think
> > this
> > > is the cause of my problem?
> >
> > I'm just guessing, but I expect you create the file with the name "dev"
> > which contains the major/minor number yourself in your driver. If that's
> > the case, you shouldn't do that and just set the dev_t value in the
> > device structure before registering the device, that will instruct the
> > driver core to create that file, along with environment variables needed
> > for udev to create a node.
> >
> > The best way to do this, would probably be to use the
> > class_device_create() function in /linux/drivers/base/class.c, which
> > expects all the needed values as parameters.
> [Jan Zwiegers]
> Hi Kay & Greg
>
> Sorry for taking so long to get back to you.
>
> The source code is downloadable at
> http://www.eagle.co.za/download/download/edre_linux_drivers_2_0_8.tar.gz
>
> If you can maybe have a quick look at the class driver. The code is very
> short, so you should be able to quickly understand what is wrong.
Just like Kay guessed, you are not using the proper function call.
Please use the class_device_create() call instead of rolling your own.
That will fix your problem.
And why aren't these drivers in the main kernel tree? That would make
this a whole lot easier, and save you a lot of time on maintenance.
As it is, I get a whole lot of warnings and errors when trying to build
this code against the latest kernel version :(
If you want, I can help you out in getting this into the kernel tree.
Overall the code looks pretty sane, only a few small cleanups would be
needed (becides the warning fixes...)
thanks,
greg k-h
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2006-08-30 17:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-23 22:26 issues getting I/O device to work with udev chris
2006-08-23 22:34 ` Marco d'Itri
2006-08-23 23:02 ` chris
2006-08-23 23:10 ` Kay Sievers
2006-08-23 23:14 ` chris
2006-08-23 23:18 ` Kay Sievers
2006-08-23 23:47 ` chris
2006-08-25 9:19 ` Jan Zwiegers
2006-08-25 10:36 ` Kay Sievers
2006-08-25 11:38 ` Jan Zwiegers
2006-08-25 11:41 ` Jan Zwiegers
2006-08-25 12:59 ` Kay Sievers
2006-08-25 13:47 ` Jan Zwiegers
2006-08-25 14:02 ` Kay Sievers
2006-08-25 19:22 ` Jan Zwiegers
2006-08-26 4:48 ` Greg KH
2006-08-26 6:04 ` Jan Zwiegers
2006-08-26 18:08 ` Greg KH
2006-08-26 19:33 ` Jan Zwiegers
2006-08-27 0:18 ` Kay Sievers
2006-08-30 13:52 ` Jan Zwiegers
2006-08-30 17:51 ` Greg KH [this message]
2006-08-31 11:44 ` Jan Zwiegers
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=20060830175106.GA5366@kroah.com \
--to=greg@kroah.com \
--cc=linux-hotplug@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.