From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Thu, 18 Sep 2003 00:29:05 +0000 Subject: Re: Hardware Abstraction Layer Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Wed, Sep 17, 2003 at 02:40:12AM +0200, David Zeuthen wrote: > On Tue, 2003-09-16 at 18:39, Greg KH wrote: > > On Sat, Sep 13, 2003 at 03:30:38PM +0200, David Zeuthen wrote: > > > Hi, > > > > > > I'm currently working on a hardware abstraction layer, see > > > > > > http://pdx.freedesktop.org/~hal/ > > > > > > for use in desktop environments such as GNOME or KDE. The HAL project > > > is in it's early stages - there is a draft spec planned and I got an > > > implementation running as well. > > > > How does this differ from D-BUS? Hm, in looking at your page, it says > > you are using D-BUS messages. > > I use D-BUS as the IPC mechanism between hotplug agents and applications > wanting to query a device database. In the middle there is a daemon. > > In a sense I want the entire HAL not to care about specific hardware > issues at all, but build on existing software like linux-hotplug ;-) > (see my recent post to the xdg-list for detail) Hm, in looking over your post I think you are going to be duplicating a lot of existing information that is dynamically available to you from the kernel. For example, the kernel already knows what USB devices are supported by what drivers. It exports that info to userspace in the modules.*map files in /lib/modules// The existing hotplug scripts already handle the mapping from device to driver, so you don't need to duplicate that functionaity. > > Oh, have you looked at udev too? It will > > handle naming the devices for you in /dev. > > > > Excellent - will look into this later. Will this help me, e.g., getting > the information that my CF card reader is at /dev/sda1 when using the > kernel module usb-storage? Or have I misunderstood? Yes it will. See my OLS paper from this year for lots more information about it. > > Also, D-BUS messages will be > > created for all /sbin/hotplug events too. You might want to work with > > that if it's easier for you. > > > > I'll be interested in this, definately. Are you using the service > org.freedesktop.DBus.Broadcast for this? I'm not using anything :) There was a simple command line program that generated dbus messages. Someone needs to take that and have it convert hotplug messages into dbus messages. I think it's going to use the org.kernel namespace. > I'll also need a unique ID of each device being hotplugged, and I have > some problems seeing this is even possible on some busses like USB. The > unique ID must be the same over plugs/unplugs. What "unique ID"? In short, you are never guaranteed such a thing, but you can get close. See my udev paper for more info on this. > Say, that I plug two identical cameras into the system with no > device-instance specific information. Corner case, but nasty one... Use the bus topology to distinguish between those two devices. > In the event this is not possible the hotplug agent must somehow convey > this information so I can append a counter to make the ID unique in that > way.. The kernel will tell you that this is a new device. It's up to userspace to do something with that info. udev will determine the /dev name for the device. It's up to other programs to do other things with this info (which is what I'm thinking your proposal does, correct?) thanks, greg k-h ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ 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