[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