xref: /illumos-gate/usr/src/cmd/hal/fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi (revision 508a0e8cf1600b06c1f7361ad76e736710d3fdf8)
1<?xml version="1.0" encoding="UTF-8"?>
2
3<deviceinfo version="0.2">
4
5  <device>
6    <match key="info.category" string="laptop_panel">
7      <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.LaptopPanel</append>
8
9      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_names" type="strlist">SetBrightness</append>
10      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_signatures" type="strlist">i</append>
11      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_argnames" type="strlist">brightness_value</append>
12      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_execpaths" type="strlist">hal-system-lcd-set-brightness</append>
13
14      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_names" type="strlist">GetBrightness</append>
15      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_signatures" type="strlist"></append>
16      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_argnames" type="strlist"></append>
17      <append key="org.freedesktop.Hal.Device.LaptopPanel.method_execpaths" type="strlist">hal-system-lcd-get-brightness</append>
18    </match>
19  </device>
20
21  <!-- On some borken laptops, the brightness control is all done in hardware
22       but the hardware also synthesizes keypresses when the brightness is
23       changed. This gives power manager software problems as the brightness
24       can get into a feedback state so the panel flashes uncontrollably.
25       This is a hardware "feature" seen on IBM x31 laptops. -->
26  <device>
27    <match key="info.category" string="laptop_panel">
28      <match key="/org/freedesktop/Hal/devices/computer:smbios.system.manufacturer" string="IBM">
29        <match key="/org/freedesktop/Hal/devices/computer:smbios.system.version" string="ThinkPad X31">
30          <merge key="laptop_panel.brightness_in_hardware" type="bool">true</merge>
31        </match>
32      </match>
33    </match>
34  </device>
35
36  <!-- this is for Macbook Pro (LCD panel, light sensor, keyboard backlight) -->
37  <device>
38    <match key="system.kernel.name" string="Linux">
39      <match key="smbios.system.manufacturer" string="Apple Computer, Inc.">
40        <match key="smbios.system.product" string="MacBookPro1,1">
41          <spawn udi="/org/freedesktop/Hal/devices/macbook_pro_light_sensor"/>
42          <spawn udi="/org/freedesktop/Hal/devices/macbook_pro_keyboard_backlight"/>
43          <spawn udi="/org/freedesktop/Hal/devices/macbook_pro_lcd_panel"/>
44        </match>
45      </match>
46    </match>
47  </device>
48  <device>
49    <match key="info.udi" string="/org/freedesktop/Hal/devices/macbook_pro_lcd_panel">
50      <append key="info.capabilities" type="strlist">laptop_panel</append>
51      <merge key="info.product" type="string">MacBook Pro Laptop Panel</merge>
52      <merge key="laptop_panel.access_method" type="string">custom</merge>
53      <merge key="laptop_panel.num_levels" type="int">229</merge>
54      <append key="info.addons" type="strlist">hald-addon-macbookpro-backlight</append>
55    </match>
56  </device>
57  <device>
58    <match key="info.udi" string="/org/freedesktop/Hal/devices/macbook_pro_light_sensor">
59      <append key="info.capabilities" type="strlist">light_sensor</append>
60      <merge key="info.product" type="string">MacBook Pro Light Sensor</merge>
61      <merge key="light_sensor.num_sensors" type="int">2</merge>
62      <merge key="light_sensor.num_levels" type="int">256</merge>
63      <append key="light_sensor.sensor_locations" type="strlist">right</append>
64      <append key="light_sensor.sensor_locations" type="strlist">left</append>
65    </match>
66  </device>
67  <device>
68    <match key="info.udi" string="/org/freedesktop/Hal/devices/macbook_pro_keyboard_backlight">
69      <append key="info.capabilities" type="strlist">keyboard_backlight</append>
70      <merge key="info.product" type="string">MacBook Pro Keyboard Backlight</merge>
71      <merge key="keyboard_backlight.num_levels" type="int">256</merge>
72    </match>
73  </device>
74
75</deviceinfo>
76