xref: /onnv-gate/usr/src/cmd/hal/fdi/README (revision 2912:85ea316d9c18)
1*2912Sartem
2*2912SartemThis file describe the layout of device information files in the hal
3*2912Sartemsource tree and their three different applications. It should serve as
4*2912Sartema brief guide for IHV's and third party open source projects on how to
5*2912Sartemintegrate with hal.
6*2912Sartem
7*2912SartemSaid third parties need to name their files in a unique manner using
8*2912Sartemthe following format: <organization>-[<model>]-[<purpose>].fdi. As a
9*2912Sartemdevice information file can be used to match several models the model
10*2912Sartemfield may be omitted (the <purpose> field may be useful if the <model>
11*2912Sartemfield is omitted). The filename of a device information file must
12*2912Sartemcontain only lowercase alphanumeric characters, the '-' and '_'
13*2912Sartemcharacters, and not any whitespace.
14*2912Sartem
15*2912SartemDevice information files are processed in the following order:
16*2912Sartem
17*2912Sartem1. Preprobing
18*2912Sartem-------------
19*2912Sartem
20*2912SartemContains device information files that are used to handle exceptional
21*2912Sartemconditions such as telling hal to ignore a device and all children
22*2912Sartem(using info.ignore), run programs to upload firmware or configure
23*2912Sartemthe device in an otherwise non-standard way that is incompatible with
24*2912Sartemprobing routines in hal (using info.callouts.preprobing) [1].
25*2912Sartem
26*2912SartemThese files are processed BEFORE the device have been been probed.
27*2912Sartem
28*2912SartemSubdirs are installed in $(sysconfdir)/hal/preprobe (e.g. /etc/hal/preprobe)
29*2912Sartem
30*2912Sartem  preprobe
31*2912Sartem  |-- 10osvendor    # From the hal tarball and/or supplied by the os vendor
32*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/preprobe/10osvendor
33*2912Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
34*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/preprobe/20thirdparty
35*2912Sartem  `-- 30user        # Installed by the user/admin
36*2912Sartem                    # -> installs into /etc/hal/fdi/preprobe/
37*2912Sartem
38*2912Sartem[1] : http://lists.freedesktop.org/archives/hal/2004-August/000858.html
39*2912Sartem
40*2912Sartem2. Information
41*2912Sartem--------------
42*2912Sartem
43*2912SartemContains device information files that describe hardware such as what
44*2912Sartemkind of media a card reader uses (compact flash, memorystick etc),
45*2912Sartemwhat out-of-tree kernel drivers are needed, whether the device is a
46*2912Sartemcamera and not just a harddrive.
47*2912Sartem
48*2912SartemThese files are processed AFTER the device have been probed but before
49*2912Sartemany policy device information files.
50*2912Sartem
51*2912SartemSubdirs are installed in $(datadir)/hal/fdi (e.g. /usr/share/hal/fdi)
52*2912Sartem
53*2912Sartem  information
54*2912Sartem  |-- 10freedesktop # From the hal tarball
55*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/information/10freedesktop
56*2912Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
57*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/information/20thirdparty
58*2912Sartem  `-- 30user        # Installed by the user/admin
59*2912Sartem                    # -> installs into /etc/hal/fdi/information
60*2912Sartem
61*2912Sartem
62*2912Sartem3. Policy
63*2912Sartem---------
64*2912Sartem
65*2912SartemContains device information files that describe policy for hardware
66*2912Sartemsuch as what callouts and addons to run for a device.
67*2912Sartem
68*2912SartemThese files are processed AFTER the device have been been probed and
69*2912Sartemalso AFTER the information device files have been processed
70*2912Sartem
71*2912SartemSubdirs are installed in $(sysconfdir)/hal/policy (e.g. /etc/hal/policy)
72*2912Sartem
73*2912Sartem  policy
74*2912Sartem  |-- 10osvendor    # From the hal tarball and/or supplied by the os vendor
75*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/policy/10freedesktop
76*2912Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
77*2912Sartem  |                 # -> installs into /usr/share/hal/fdi/policy/20thirdparty
78*2912Sartem  `-- 30user        # Installed by the user/admin
79*2912Sartem                    # -> installs into /etc/hal/fdi/policy
80*2912Sartem
81