The HAL Spec
David Zeuthen
david at fubar.dk
Mon May 8 09:06:28 PDT 2006
On Sun, 2006-05-07 at 14:23 -0400, Joe Marcus Clarke wrote:
> On Sun, 2006-05-07 at 19:12 +0100, Richard Hughes wrote:
> > On Fri, 2006-05-05 at 16:22 -0400, Joe Marcus Clarke wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > I'm about to start implementing Firewire support for HAL for FreeBSD,
> > > and I noticed a big disparity in the HAL spec and what Linux does. When
> > > I raised this kind of thing a few months ago, I was told to code to the
> > > spec, but I have since noticed many things that Linux does differently
> > > from the spec.
Yea, two things in retrospect
1. I really dunno if it's helpful having a separate spec document
because we all (myself in particular) suck at updating it. Maybe
it would be useful to have a self-documenting scheme a'la gconf
where the description of the property is just meta-data for the
property but that is a bit far out
2. Most of the properties like ieee1394, pcmcia_bus really isn't that
interesting for users of HAL. What they care about is functional
namespaces like storage.*, volume.* and things like block.*. The
only place it's interesting for is to set e.g. storage.bus so the
desktop bits know it's an ATA device. Even there we suck a bit
because we mix bus-types with command-set types.
> > Like what? We should either fix the spec if it's wrong, or fix the linux
> > stuff to match the spec if the spec if correct.
Yea, we really ought to update the spec.
> A few things. First, firewire. The spec defines three ieee1394
> objects: ieee1394_host, ieee1394_node, and ieee1394. There was a
> specific commit to the Linux backend and to hal-device-manager, to merge
> all of these under ieee1394. For example, the spec says an
> ieee1394_node has a guid property, but the Linux backend assigns this
> property to the same ieee1394 object.
Yea, for now, I'd just do what the Linux back-end does and patches for
the spec is welcome too. Again, ieee1394* properties are not really
interesting at this point, it's only used to be able to say
storage.bus='ieee1394' and the desktop selects the right icon / policy.
> Next, there's pcmcia_socket. The spec defines one property under this
> object: pcmcia_socket.number. However, the Linux backend uses the bus
> type of pcmcia, and adds multiple properties. No where in the spec do I
> see a bus type of "pcmcia". And the Linux backend does not use the
> pcmcia_socket class anywhere.
>
> Finally, and this is a clear typo in the spec, the oss class has a
> property alsa.device_file. I believe this should be oss.device_file.
Well, same story. Patches against the spec is welcome.
Cheers,
David
More information about the hal
mailing list