18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemThis file describe the layout of device information files in the hal
18c2aff776a775d34a4c9893a4c72e0434d68e36artemsource tree and their three different applications. It should serve as
18c2aff776a775d34a4c9893a4c72e0434d68e36artema brief guide for IHV's and third party open source projects on how to
18c2aff776a775d34a4c9893a4c72e0434d68e36artemintegrate with hal.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemSaid third parties need to name their files in a unique manner using
18c2aff776a775d34a4c9893a4c72e0434d68e36artemthe following format: <organization>-[<model>]-[<purpose>].fdi. As a
18c2aff776a775d34a4c9893a4c72e0434d68e36artemdevice information file can be used to match several models the model
18c2aff776a775d34a4c9893a4c72e0434d68e36artemfield may be omitted (the <purpose> field may be useful if the <model>
18c2aff776a775d34a4c9893a4c72e0434d68e36artemfield is omitted). The filename of a device information file must
18c2aff776a775d34a4c9893a4c72e0434d68e36artemcontain only lowercase alphanumeric characters, the '-' and '_'
18c2aff776a775d34a4c9893a4c72e0434d68e36artemcharacters, and not any whitespace.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemDevice information files are processed in the following order:
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem1. Preprobing
18c2aff776a775d34a4c9893a4c72e0434d68e36artem-------------
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemContains device information files that are used to handle exceptional
18c2aff776a775d34a4c9893a4c72e0434d68e36artemconditions such as telling hal to ignore a device and all children
18c2aff776a775d34a4c9893a4c72e0434d68e36artem(using info.ignore), run programs to upload firmware or configure
18c2aff776a775d34a4c9893a4c72e0434d68e36artemthe device in an otherwise non-standard way that is incompatible with
18c2aff776a775d34a4c9893a4c72e0434d68e36artemprobing routines in hal (using info.callouts.preprobing) [1].
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemThese files are processed BEFORE the device have been been probed.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemSubdirs are installed in $(sysconfdir)/hal/preprobe (e.g. /etc/hal/preprobe)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem preprobe
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 10osvendor # From the hal tarball and/or supplied by the os vendor
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/preprobe/10osvendor
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 20thirdparty # 3rd party projects and IHV's install here
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/preprobe/20thirdparty
18c2aff776a775d34a4c9893a4c72e0434d68e36artem `-- 30user # Installed by the user/admin
18c2aff776a775d34a4c9893a4c72e0434d68e36artem # -> installs into /etc/hal/fdi/preprobe/
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem[1] : http://lists.freedesktop.org/archives/hal/2004-August/000858.html
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem2. Information
18c2aff776a775d34a4c9893a4c72e0434d68e36artem--------------
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemContains device information files that describe hardware such as what
18c2aff776a775d34a4c9893a4c72e0434d68e36artemkind of media a card reader uses (compact flash, memorystick etc),
18c2aff776a775d34a4c9893a4c72e0434d68e36artemwhat out-of-tree kernel drivers are needed, whether the device is a
18c2aff776a775d34a4c9893a4c72e0434d68e36artemcamera and not just a harddrive.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemThese files are processed AFTER the device have been probed but before
18c2aff776a775d34a4c9893a4c72e0434d68e36artemany policy device information files.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemSubdirs are installed in $(datadir)/hal/fdi (e.g. /usr/share/hal/fdi)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem information
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 10freedesktop # From the hal tarball
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/information/10freedesktop
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 20thirdparty # 3rd party projects and IHV's install here
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/information/20thirdparty
18c2aff776a775d34a4c9893a4c72e0434d68e36artem `-- 30user # Installed by the user/admin
18c2aff776a775d34a4c9893a4c72e0434d68e36artem # -> installs into /etc/hal/fdi/information
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem3. Policy
18c2aff776a775d34a4c9893a4c72e0434d68e36artem---------
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemContains device information files that describe policy for hardware
18c2aff776a775d34a4c9893a4c72e0434d68e36artemsuch as what callouts and addons to run for a device.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemThese files are processed AFTER the device have been been probed and
18c2aff776a775d34a4c9893a4c72e0434d68e36artemalso AFTER the information device files have been processed
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemSubdirs are installed in $(sysconfdir)/hal/policy (e.g. /etc/hal/policy)
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem policy
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 10osvendor # From the hal tarball and/or supplied by the os vendor
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/policy/10freedesktop
18c2aff776a775d34a4c9893a4c72e0434d68e36artem |-- 20thirdparty # 3rd party projects and IHV's install here
18c2aff776a775d34a4c9893a4c72e0434d68e36artem | # -> installs into /usr/share/hal/fdi/policy/20thirdparty
18c2aff776a775d34a4c9893a4c72e0434d68e36artem `-- 30user # Installed by the user/admin
18c2aff776a775d34a4c9893a4c72e0434d68e36artem # -> installs into /etc/hal/fdi/policy
18c2aff776a775d34a4c9893a4c72e0434d68e36artem