[Pommed-commits] r524 - trunk/pommed
jblache at alioth.debian.org
jblache at alioth.debian.org
Thu Dec 11 14:07:26 UTC 2008
Author: jblache
Date: 2008-12-11 14:07:26 +0000 (Thu, 11 Dec 2008)
New Revision: 524
Modified:
trunk/pommed/pommed.c
trunk/pommed/sysfs_backlight.c
Log:
Wire up nv8600mgt backlight driver for late 2008 laptops.
Modified: trunk/pommed/pommed.c
===================================================================
--- trunk/pommed/pommed.c 2008-12-11 14:04:24 UTC (rev 523)
+++ trunk/pommed/pommed.c 2008-12-11 14:07:26 UTC (rev 524)
@@ -242,25 +242,6 @@
#else
-int
-dummy_backlight_probe(void)
-{
- return 0;
-}
-
-void
-dummy_backlight_step(int dir)
-{
- return;
-}
-
-void
-dummy_backlight_toggle(int lvl)
-{
- return;
-}
-
-
struct machine_ops mb_mops[] = {
/* MacBook Pro machines */
@@ -298,9 +279,9 @@
{ /* MacBookPro5,1 (15" & 17", Core2 Duo, October 2008) */
.type = MACHINE_MACBOOKPRO_5,
- .lcd_backlight_probe = dummy_backlight_probe,
- .lcd_backlight_step = dummy_backlight_step,
- .lcd_backlight_toggle = dummy_backlight_toggle,
+ .lcd_backlight_probe = nv8600mgt_backlight_probe,
+ .lcd_backlight_step = nv8600mgt_backlight_step,
+ .lcd_backlight_toggle = nv8600mgt_backlight_toggle,
/* .evdev_identify = evdev_is_wellspring3, */
},
@@ -340,9 +321,9 @@
{ /* MacBook5,1 (Core2 Duo, October 2008) */
.type = MACHINE_MACBOOK_5,
- .lcd_backlight_probe = dummy_backlight_probe,
- .lcd_backlight_step = dummy_backlight_step,
- .lcd_backlight_toggle = dummy_backlight_toggle,
+ .lcd_backlight_probe = nv8600mgt_backlight_probe,
+ .lcd_backlight_step = nv8600mgt_backlight_step,
+ .lcd_backlight_toggle = nv8600mgt_backlight_toggle,
/* .evdev_identify = evdev_is_wellspring3, */
},
@@ -358,9 +339,9 @@
{ /* MacBookAir2,1 (October 2008) */
.type = MACHINE_MACBOOKAIR_2,
- .lcd_backlight_probe = dummy_backlight_probe,
- .lcd_backlight_step = dummy_backlight_step,
- .lcd_backlight_toggle = dummy_backlight_toggle,
+ .lcd_backlight_probe = nv8600mgt_backlight_probe,
+ .lcd_backlight_step = nv8600mgt_backlight_step,
+ .lcd_backlight_toggle = nv8600mgt_backlight_toggle,
/* .evdev_identify = evdev_is_wellspring3, */
}
};
Modified: trunk/pommed/sysfs_backlight.c
===================================================================
--- trunk/pommed/sysfs_backlight.c 2008-12-11 14:04:24 UTC (rev 523)
+++ trunk/pommed/sysfs_backlight.c 2008-12-11 14:07:26 UTC (rev 524)
@@ -36,10 +36,16 @@
#include "dbus.h"
-#define SYSFS_DRIVER_NONE 0
-#define SYSFS_DRIVER_ATY128 1
-#define SYSFS_DRIVER_RADEON 2
-#define SYSFS_DRIVER_NVIDIA 3
+enum {
+ SYSFS_DRIVER_NONE,
+#ifdef __powerpc__
+ SYSFS_DRIVER_ATY128,
+ SYSFS_DRIVER_RADEON,
+ SYSFS_DRIVER_NVIDIA,
+#else
+ SYSFS_DRIVER_MBP,
+#endif
+};
/* sysfs backlight driver in use */
@@ -49,27 +55,39 @@
static char *actual_brightness[] =
{
"/dev/null",
+#ifdef __powerpc__
"/sys/class/backlight/aty128bl0/actual_brightness",
"/sys/class/backlight/radeonbl0/actual_brightness",
- "/sys/class/backlight/nvidiabl0/actual_brightness"
+ "/sys/class/backlight/nvidiabl0/actual_brightness",
+#else
+ "/sys/class/backlight/mbp_backlight/actual_brightness",
+#endif
};
/* sysfs brightness node path */
static char *brightness[] =
{
"/dev/null",
+#ifdef __powerpc__
"/sys/class/backlight/aty128bl0/brightness",
"/sys/class/backlight/radeonbl0/brightness",
- "/sys/class/backlight/nvidiabl0/brightness"
+ "/sys/class/backlight/nvidiabl0/brightness",
+#else
+ "/sys/class/backlight/mbp_backlight/brightness",
+#endif
};
/* sysfs max_brightness node path */
static char *max_brightness[] =
{
"/dev/null",
+#ifdef __powerpc__
"/sys/class/backlight/aty128bl0/max_brightness",
"/sys/class/backlight/radeonbl0/max_brightness",
- "/sys/class/backlight/nvidiabl0/max_brightness"
+ "/sys/class/backlight/nvidiabl0/max_brightness",
+#else
+ "/sys/class/backlight/mbp_backlight/max_brightness",
+#endif
};
@@ -232,6 +250,7 @@
}
+#ifdef __powerpc__
/* When brightness keys are handled by the kernel itself,
* we're only updating our internal buffers
*/
@@ -254,6 +273,7 @@
{
return;
}
+#endif /* __powerpc__ */
/* We can't fix the config until we know the max backlight value,
@@ -324,6 +344,8 @@
return 0;
}
+
+#ifdef __powerpc__
int
aty128_sysfs_backlight_probe(void)
{
@@ -341,3 +363,32 @@
{
return sysfs_backlight_probe(SYSFS_DRIVER_NVIDIA);
}
+#else
+int
+mbp_sysfs_backlight_probe(void)
+{
+ int ret;
+
+ ret = sysfs_backlight_probe(SYSFS_DRIVER_MBP);
+
+ if (ret < 0)
+ {
+ switch (mops->type)
+ {
+ case MACHINE_MACBOOKPRO_3:
+ case MACHINE_MACBOOKPRO_4:
+ case MACHINE_MACBOOKPRO_5:
+ case MACHINE_MACBOOK_5:
+ case MACHINE_MACBOOKAIR_2:
+ logmsg(LOG_INFO, "sysfs backlight probe failed, falling back to native");
+ return zobe;
+
+ default:
+ logmsg(LOG_ERR, "sysfs backlight probe failed, no fallback for this machine");
+ return -1;
+ }
+ }
+
+ return 0;
+}
+#endif
More information about the Pommed-commits
mailing list