File hal-20070613-panasonic-acpi-suse.diff of Package hal
--- hald/linux/acpi.c
+++ hald/linux/acpi.c
@@ -1111,6 +1111,8 @@
acpi_synthesize_display ("acpi/toshiba", "lcd", ACPI_TYPE_TOSHIBA_DISPLAY);
acpi_synthesize_display ("acpi/asus", "brn", ACPI_TYPE_ASUS_DISPLAY);
acpi_synthesize_display ("acpi/pcc", "brightness", ACPI_TYPE_PANASONIC_DISPLAY);
+ /* keep this around for compatibility to SUSE 10.1/10.2 kernels */
+ acpi_synthesize_display ("acpi/panasonic", "ac_brightness", ACPI_TYPE_PANASONIC_DISPLAY);
acpi_synthesize_display ("acpi/ibm", "brightness", ACPI_TYPE_IBM_DISPLAY);
acpi_synthesize_display ("acpi/sony", "brightness", ACPI_TYPE_SONY_DISPLAY);
/* omnibook does not live under acpi GNOME#331458 */
--- tools/linux/hal-system-lcd-get-brightness-linux
+++ tools/linux/hal-system-lcd-get-brightness-linux
@@ -48,7 +48,8 @@
elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "panasonic" ]; then
# cat /proc/acpi/pcc/brightness
# 5
- value="`cat $HAL_PROP_LINUX_ACPI_PATH`"
+ read value < $HAL_PROP_LINUX_ACPI_PATH
+ value=$[($value-51)/13]
elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "ibm" ]; then
# cat /proc/acpi/ibm/brightness
# level: 5
--- tools/linux/hal-system-lcd-set-brightness-linux
+++ tools/linux/hal-system-lcd-set-brightness-linux
@@ -46,7 +46,7 @@
elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "panasonic" ]; then
# echo {0..15} > /proc/acpi/pcc/brightness
# http://readlist.com/lists/vger.kernel.org/linux-kernel/7/36405.html
- echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
+ echo "$[($value*136)/10+51]" > $HAL_PROP_LINUX_ACPI_PATH
elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "ibm" ]; then
# echo "level {0..7}" > /proc/acpi/ibm/brightness
# http://ibm-acpi.sourceforge.net/README