From: Vojtech Pavlik <vojtech@suse.cz>
To: linux-hotplug@vger.kernel.org
Subject: Re: Adding PCMCIA support to the kernel tree -- developers needed.
Date: Wed, 07 Feb 2001 09:37:07 +0000 [thread overview]
Message-ID: <marc-linux-hotplug-98153898707052@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-98118528107653@msgid-missing>
On Tue, Feb 06, 2001 at 06:11:07PM -0800, Miles Lane wrote:
> Andrew Morton wrote:
>
> [...]
>
>
> > - I'm only talking about netdevices. What happens with other
> > types of device if the discovery order is randomised? I
> > dunno.
>
> It appears that we currently only have representation of
> USB, PCI, PCMCIA and Network driver/bus developers in this
> discussion. Is that as it should be? It seems to me that
> the topic of device detection and configuration is quite
> important to get right for all hotpluggable busses.
> Should we be extending invitations to others?
Well, in my opinion we should also consider non-hotpluggable busses,
because even there it would make sense to use the same module loading
mechanism. It's more flexible than the current modules.conf way.
> It's clear that there are major usability problems that
> arise from the lack of a MAC address equivalent for all
> hardware devices.
Many devices do have serial numbers, that's OK. Other devices do at
least have bus topology placement, ie. slot number on PCI, hub port on
USB, etc.
If the devices can't be identified by a unique number, then bus topology
is the only way how to describe which device is which, and thus is the
right one.
> As David Brownell mentioned, the typical usage pattern
> (at least for USB) seems to be that just a few devices
> are connected and usually not more than one device of
> a given type. The confusion sets in when there are
> multiple USB mice, keyboards, videocams, etc. If XFree86
> ever gets support for multi-headed consoles with support
> for dedicated mice and keyboards per console, getting the
> mapping from physical device to logical device (for example,
> /dev/input/mouse[1-4]) to stay consistent would be really
> helpful. I believe that this feature is actively being
> developed for XFree86, BTW.
Yes, it is. And yes, we need this. And bus topology (head #1 uses port
#1 on the USB card, head #2 uses port #2, etc.) is the way how to find
out which mouse is which.
I imagine it this way:
0) PCI layer finds a new device, registers it, calls the hotplug daemon
passing the PCI IDs/class/prog-if and topology (/pci00.07.4)
1) Hotplug daemon checks the class/prog-if and loads usb-ohci module.
2) usb-ohci module senses a new device, registers it w/ USB layer.
3) USB layer calls hotplug daemon, telling it the USB IDs/descriptors
and bus topology position (/pci00.07.4/usb0).
4) Hoptlug module sees it's a hub and thus it's handled by a built-in
USB hub driver.
5) The hub driver enables the ports on the hub, usb-ohci sees a new
device, registers it w/ USB layer.
6) USB layer calls hotplug daemon, telling it the USB IDs/descriptors
and bus topology position (/pci00.07.4/usb0/usb3).
7) Hotplug daemon checks the descriptors and decides it's a HID device
and loads hid module.
8) The hid module registers a new device on the Input virtual bus.
9) Input layer calls hotplug daemon, telling it the Input IDs/bitmaps
and bus topology position (/pci00.07.4/usb0.3/input0).
10) Hotplug daemon checks the bitmaps and decides it's a mouse and loads
mousedev.o and evdev.o.
11) Mousedev.o registers a new chardevice minor, so does evdev.o.
I'm not completely sure where to fit the device naming in, I'm thinking
about two variants:
A) After step 11, Hotplug daemon is called by the
char/block/scsi/net-device layer and the hotplug daemon decides
about the minor number/name (based on IDs and topology path -
/pci00.07.4/usb0.3/input0/mousedev0).
B) At every time the hotplug daemon is loading a module, it
passes a name/number it wishes the new device that caused the load
to be registered under. Example: Loading hid.o, register as 'input4'.
I think A is simpler and easier to do. It also will be fairly easy to
configure.
B gives complete control of device numbering, even for devices on
virtual busses. In the B case, only the last part of the topology would
need to be passed. What do you think?
--
Vojtech Pavlik
SuSE Labs
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2001-02-07 9:37 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-03 7:28 Adding PCMCIA support to the kernel tree -- developers needed Miles Lane
2001-02-03 10:07 ` Jeff Garzik
2001-02-03 19:27 ` David Woodhouse
2001-02-03 23:59 ` Miles Lane
2001-02-04 0:00 ` David Hinds
2001-02-04 0:05 ` David Woodhouse
2001-02-04 1:19 ` David Brownell
2001-02-04 1:58 ` Miles Lane
2001-02-04 3:26 ` Keith Owens
2001-02-04 5:59 ` Miles Lane
2001-02-04 8:56 ` David Hinds
2001-02-04 9:55 ` David Woodhouse
2001-02-04 10:00 ` David Woodhouse
2001-02-04 10:10 ` Oliver Neukum
2001-02-04 10:53 ` David Woodhouse
2001-02-04 11:37 ` David Woodhouse
2001-02-04 17:34 ` David Hinds
2001-02-04 18:02 ` Miles Lane
2001-02-04 18:16 ` Oliver Neukum
2001-02-04 18:54 ` Miles Lane
2001-02-05 1:14 ` Jeff Garzik
2001-02-05 1:56 ` David Brownell
2001-02-05 2:43 ` Miles Lane
2001-02-05 8:42 ` Miles Lane
2001-02-05 10:01 ` Keith Owens
2001-02-05 10:13 ` Keith Owens
2001-02-05 23:43 ` David Woodhouse
2001-02-05 23:45 ` David Woodhouse
2001-02-05 23:59 ` Oliver Neukum
2001-02-06 0:27 ` Miles Lane
2001-02-06 1:10 ` David Brownell
2001-02-06 1:40 ` David Brownell
2001-02-06 6:55 ` Miles Lane
2001-02-06 7:11 ` David Woodhouse
2001-02-06 7:58 ` David Hinds
2001-02-06 8:02 ` David Hinds
2001-02-06 8:13 ` David Hinds
2001-02-06 9:51 ` Oliver Neukum
2001-02-06 13:46 ` Andrew Morton
2001-02-06 15:15 ` Jeff Garzik
2001-02-06 15:20 ` David Woodhouse
2001-02-06 15:33 ` Oliver Neukum
2001-02-06 15:35 ` David Woodhouse
2001-02-06 15:54 ` Oliver Neukum
2001-02-06 16:43 ` Jeff Garzik
2001-02-06 18:56 ` David Brownell
2001-02-06 19:22 ` David Brownell
2001-02-06 19:31 ` David Brownell
2001-02-06 22:09 ` Adam J. Richter
2001-02-06 22:10 ` Andrew Morton
2001-02-06 22:50 ` Oliver Neukum
2001-02-06 23:07 ` Andrew Morton
2001-02-06 23:12 ` Andrew Morton
2001-02-06 23:14 ` Andrew Morton
2001-02-06 23:20 ` David Woodhouse
2001-02-06 23:30 ` Oliver Neukum
2001-02-06 23:34 ` Oliver Neukum
2001-02-06 23:36 ` Andrew Morton
2001-02-07 1:33 ` David Brownell
2001-02-07 2:11 ` Miles Lane
2001-02-07 2:38 ` Adam J. Richter
2001-02-07 9:02 ` Oliver Neukum
2001-02-07 9:09 ` Vojtech Pavlik
2001-02-07 9:10 ` David Woodhouse
2001-02-07 9:35 ` Oliver Neukum
2001-02-07 9:37 ` Vojtech Pavlik [this message]
2001-02-07 9:57 ` Oliver Neukum
2001-02-07 10:11 ` Vojtech Pavlik
2001-02-07 10:27 ` David Woodhouse
2001-02-07 10:29 ` Oliver Neukum
2001-02-07 10:30 ` David Woodhouse
2001-02-07 14:45 ` Oliver Neukum
2001-02-07 15:19 ` Adam J. Richter
2001-02-07 16:11 ` Oliver Neukum
2001-02-07 17:37 ` Miles Lane
2001-02-07 17:48 ` Vojtech Pavlik
2001-02-07 18:24 ` David Brownell
2001-02-07 18:42 ` David Brownell
2001-02-07 18:47 ` David Brownell
2001-02-07 18:47 ` Oliver Neukum
2001-02-07 19:00 ` David Brownell
2001-02-07 19:29 ` Vojtech Pavlik
2001-02-07 19:59 ` Miles Lane
2001-02-07 21:02 ` Oliver Neukum
2001-02-07 21:14 ` David Brownell
2001-02-07 22:43 ` Oliver Neukum
2001-02-08 7:22 ` Miles Lane
2001-02-08 9:29 ` Adam J. Richter
2001-02-08 10:24 ` Oliver Neukum
2001-02-08 12:47 ` Andrew Morton
2001-02-08 13:22 ` Oliver Neukum
2001-02-08 13:49 ` Andrew Morton
2001-02-08 14:07 ` Oliver Neukum
2001-02-08 15:00 ` Vojtech Pavlik
2001-02-08 15:10 ` Vojtech Pavlik
2001-02-08 15:13 ` Vojtech Pavlik
2001-02-09 7:42 ` Vojtech Pavlik
2001-02-09 11:48 ` Oliver Neukum
2001-02-09 12:45 ` Vojtech Pavlik
2001-02-09 13:09 ` Oliver Neukum
2001-02-09 14:15 ` David Brownell
2001-02-09 15:45 ` Vojtech Pavlik
2001-02-26 17:47 ` David Brownell
2001-02-26 21:45 ` Chris Brand
2001-02-27 7:56 ` David Hinds
2001-02-28 16:56 ` David Brownell
2001-02-28 17:32 ` David Hinds
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=marc-linux-hotplug-98153898707052@msgid-missing \
--to=vojtech@suse.cz \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).