public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Brad Hards <bhards@bigpond.net.au>
Cc: Brian Craft <bcboy@thecraftstudio.com>, linux-kernel@vger.kernel.org
Subject: Re: delay before open() works
Date: Sat, 14 Sep 2002 23:10:27 -0700	[thread overview]
Message-ID: <20020915061026.GA484@kroah.com> (raw)
In-Reply-To: <200209151525.01920.bhards@bigpond.net.au>

On Sun, Sep 15, 2002 at 03:25:01PM +1000, Brad Hards wrote:
> 
> After discussions with Oliver Neukem at Linux Kongress, the idea of a second 
> hotplug event emerges. This is signalled by the driver that actually 
> registers the interface after the interface is properly established (so in 
> your example, USB core does one call_usermode_helper(), which probably does 
> something like "modprobe scanner"; and the scanner driver does a second 
> call_usermode_helper(), which loads xsane).

This "second" hotplug event will happen when the driver registers with
the "class".  So for the example of the USB scanner driver, it registers
itself with the USB "class" to set up the file_ops structure (this is
done in usb_register_dev().  At that point in time, /sbin/hotplug will
be called again.

Ok, the scanner driver isn't the best example, as it's both a USB
device, and uses the USB class interface.  A better example would be a
USB keyboard, which would get the USB device /sbin/hotplug call when it
is first seen, and then after the driver is loaded, and registered with
the input layer, a input layer class event would be called through
/sbin/hotplug.  And right now, there is the start of input class support
in the 2.5 kernel, if people want to play with it.

> BTW: I'm not sure who actually came up with the idea - it was in the hotplug 
> BoF, but I missed this part of it.

I'm pretty sure it's documented in Pat Mochel's OLS 2002 paper.  If not,
I know we talked about it at the OLS and Kernel Summit talks about
device naming and driverfs.

> Solves this race. Unfortunately requires some janitorial work. Patch away...

I have a patch around here somewhere for this, for the USB class only,
but I've been focusing on the struct device_driver work lately.  After
that's done, I'll be adding class support (and the /sbin/hotplug class
support).  But I'd gladly accept help if anyone's offering :)

thanks,

greg k-h

  reply	other threads:[~2002-09-15  6:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-14 16:42 delay before open() works Brian Craft
2002-09-15  5:25 ` Brad Hards
2002-09-15  6:10   ` Greg KH [this message]
2002-09-15  6:38     ` Brad Hards
2002-09-15  6:49       ` Greg KH
2002-09-15  6:20   ` Greg KH

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=20020915061026.GA484@kroah.com \
    --to=greg@kroah.com \
    --cc=bcboy@thecraftstudio.com \
    --cc=bhards@bigpond.net.au \
    --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