[Pommed-commits] r512 - in trunk: . pommed
jblache at alioth.debian.org
jblache at alioth.debian.org
Sun Nov 9 10:45:42 UTC 2008
Author: jblache
Date: 2008-11-09 10:45:42 +0000 (Sun, 09 Nov 2008)
New Revision: 512
Modified:
trunk/ChangeLog
trunk/README
trunk/pommed/evdev.c
trunk/pommed/evdev.h
trunk/pommed/kbd_backlight.h
trunk/pommed/pommed.c
trunk/pommed/pommed.h
Log:
Add partial support for the October 2008 laptops (MacBook5,1, MacBookPro5,1, MacBookAir2,1).
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/ChangeLog 2008-11-09 10:45:42 UTC (rev 512)
@@ -10,6 +10,8 @@
Nobuhiro Iwamatsu <iwamatsu at nigauri.org>.
- pommed: use a common sysfs power class routine in power.c, add
sysfs power class support for pmac machines.
+ - pommed: added partial support for the October 2008 laptops
+ (MacBook5,1, MacBookPro5,1, MacBookAir2,1), LCD backlight missing.
version 1.21:
- gpomme: use compositing if available, patch by Soeren Sonnenburg.
Modified: trunk/README
===================================================================
--- trunk/README 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/README 2008-11-09 10:45:42 UTC (rev 512)
@@ -15,20 +15,22 @@
pommed requires at least a 2.6.25 kernel, due to the use of the new timerfd
interface that was released as stable with this version.
+ February and October 2008 machines require a 2.6.28 kernel for full support.
+
Supported machines:
-------------------
- Intel machines
* MacBook Pro Core Duo 15" (January 2006)
* MacBook Pro Core Duo 17" (April 2006)
- * MacBook Pro Core2 Duo 15" (October 2006, June 2007, February 2008)
- * MacBook Pro Core2 Duo 17" (October 2006, June 2007, February 2008)
+ * MacBook Pro Core2 Duo 15" (October 2006, June 2007, February 2008, October 2008)
+ * MacBook Pro Core2 Duo 17" (October 2006, June 2007, February 2008, October 2008)
* MacBook Core Duo (May 2006)
* MacBook Core2 Duo (November 2006 & May 2007)
* MacBook Core2 Duo Santa Rosa (November 2007)
- * MacBook Core2 Duo (February 2008)
- * MacBook Air Core2 Duo (January 2008)
+ * MacBook Core2 Duo (February 2008, October 2008)
+ * MacBook Air Core2 Duo (January 2008, October 2008)
- PowerMac machines
Modified: trunk/pommed/evdev.c
===================================================================
--- trunk/pommed/evdev.c 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/pommed/evdev.c 2008-11-09 10:45:42 UTC (rev 512)
@@ -571,6 +571,34 @@
return 0;
}
+/* Core2 Duo MacBook Pro (MacBookPro5,1, October 2008)
+ * Core2 Duo MacBook (MacBook5,1, October 2008)
+ * MacBook Air (MacBookAir2,1, October 2008) */
+static int
+evdev_is_wellspring3(unsigned short *id)
+{
+ unsigned short product = id[ID_PRODUCT];
+
+ if (id[ID_BUS] != BUS_USB)
+ return 0;
+
+ if (id[ID_VENDOR] != USB_VENDOR_ID_APPLE)
+ return 0;
+
+ if ((product == USB_PRODUCT_ID_WELLSPRING3_ANSI)
+ || (product == USB_PRODUCT_ID_WELLSPRING3_ISO)
+ || (product == USB_PRODUCT_ID_WELLSPRING3_JIS))
+ {
+ logdebug(" -> WellSpring III USB assembly\n");
+
+ kbd_set_fnmode();
+
+ return 1;
+ }
+
+ return 0;
+}
+
/* Any internal keyboard */
static int
evdev_is_internal(unsigned short *id)
@@ -579,7 +607,8 @@
|| evdev_is_geyser4(id)
|| evdev_is_geyser4hf(id)
|| evdev_is_wellspring(id)
- || evdev_is_wellspring2(id));
+ || evdev_is_wellspring2(id)
+ || evdev_is_wellspring3(id));
}
Modified: trunk/pommed/evdev.h
===================================================================
--- trunk/pommed/evdev.h 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/pommed/evdev.h 2008-11-09 10:45:42 UTC (rev 512)
@@ -57,7 +57,12 @@
#define USB_PRODUCT_ID_WELLSPRING2_ISO 0x0231
#define USB_PRODUCT_ID_WELLSPRING2_JIS 0x0232
+/* Apple WellSpring III keyboard + trackpad */
+#define USB_PRODUCT_ID_WELLSPRING3_ANSI 0x0236
+#define USB_PRODUCT_ID_WELLSPRING3_ISO 0x0237
+#define USB_PRODUCT_ID_WELLSPRING3_JIS 0x0238
+
/* Apple external USB keyboard, white */
#define USB_PRODUCT_ID_APPLE_EXTKBD_WHITE 0x020c
Modified: trunk/pommed/kbd_backlight.h
===================================================================
--- trunk/pommed/kbd_backlight.h 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/pommed/kbd_backlight.h 2008-11-09 10:45:42 UTC (rev 512)
@@ -73,7 +73,10 @@
|| (mops->type == MACHINE_MACBOOKPRO_2)
|| (mops->type == MACHINE_MACBOOKPRO_3)
|| (mops->type == MACHINE_MACBOOKPRO_4)
- || (mops->type == MACHINE_MACBOOKAIR_1));
+ || (mops->type == MACHINE_MACBOOKPRO_5)
+ || (mops->type == MACHINE_MACBOOK_5)
+ || (mops->type == MACHINE_MACBOOKAIR_1)
+ || (mops->type == MACHINE_MACBOOKAIR_2));
}
#endif /* __powerpc__ */
Modified: trunk/pommed/pommed.c
===================================================================
--- trunk/pommed/pommed.c 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/pommed/pommed.c 2008-11-09 10:45:42 UTC (rev 512)
@@ -242,6 +242,25 @@
#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 */
@@ -277,6 +296,14 @@
/* .evdev_identify = evdev_is_wellspring2, */
},
+ { /* 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,
+ /* .evdev_identify = evdev_is_wellspring3, */
+ },
+
/* MacBook machines */
{ /* MacBook1,1 (Core Duo) */
@@ -311,6 +338,14 @@
/* .evdev_identify = evdev_is_geyser4hf, */
},
+ { /* 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,
+ /* .evdev_identify = evdev_is_wellspring3, */
+ },
+
/* MacBook Air machines */
{ /* MacBookAir1,1 (January 2008) */
@@ -319,6 +354,14 @@
.lcd_backlight_step = gma950_backlight_step,
.lcd_backlight_toggle = gma950_backlight_toggle,
/* .evdev_identify = evdev_is_wellspring, */
+ },
+
+ { /* 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,
+ /* .evdev_identify = evdev_is_wellspring3, */
}
};
#endif /* __powerpc__ */
@@ -641,6 +684,9 @@
/* Core2 Duo MacBook Pro 15" & 17" (February 2008) */
else if (strcmp(buf, "MacBookPro4,1") == 0)
ret = MACHINE_MACBOOKPRO_4;
+ /* Core2 Duo MacBook Pro 15" & 17" (October 2008) */
+ else if (strcmp(buf, "MacBookPro5,1") == 0)
+ ret = MACHINE_MACBOOKPRO_5;
/* Core Duo MacBook (May 2006) */
else if (strcmp(buf, "MacBook1,1") == 0)
ret = MACHINE_MACBOOK_1;
@@ -653,9 +699,15 @@
/* Core2 Duo MacBook (February 2008) */
else if (strcmp(buf, "MacBook4,1") == 0)
ret = MACHINE_MACBOOK_4;
+ /* Core2 Duo MacBook (October 2008) */
+ else if (strcmp(buf, "MacBook5,1") == 0)
+ ret = MACHINE_MACBOOK_5;
/* MacBook Air (January 2008) */
else if (strcmp(buf, "MacBookAir1,1") == 0)
ret = MACHINE_MACBOOKAIR_1;
+ /* MacBook Air (October 2008) */
+ else if (strcmp(buf, "MacBookAir2,1") == 0)
+ ret = MACHINE_MACBOOKAIR_2;
else
logmsg(LOG_ERR, "Unknown Apple machine: %s", buf);
Modified: trunk/pommed/pommed.h
===================================================================
--- trunk/pommed/pommed.h 2008-10-18 15:51:22 UTC (rev 511)
+++ trunk/pommed/pommed.h 2008-11-09 10:45:42 UTC (rev 512)
@@ -34,13 +34,16 @@
MACHINE_MACBOOKPRO_2,
MACHINE_MACBOOKPRO_3,
MACHINE_MACBOOKPRO_4,
+ MACHINE_MACBOOKPRO_5,
MACHINE_MACBOOK_1,
MACHINE_MACBOOK_2,
MACHINE_MACBOOK_3,
MACHINE_MACBOOK_4,
+ MACHINE_MACBOOK_5,
MACHINE_MACBOOKAIR_1,
+ MACHINE_MACBOOKAIR_2,
#else
MACHINE_POWERBOOK_32,
MACHINE_POWERBOOK_33,
More information about the Pommed-commits
mailing list