[meego-commits] 10637: Changes to Trunk/kernel-mid

Rolla Selbak no_reply at build.meego.com
Tue Dec 7 04:26:19 UTC 2010


Hi,
I have made the following changes to kernel-mid in project Trunk. Please review and accept ASAP.

Thank You,
Rolla Selbak

[This message was auto-generated]

---

Request #10637:

  submit:   Trunk:Testing/kernel-mid(r4) -> Trunk/kernel-mid


Message:
    Trunk promotion

State:   new          2010-12-06T20:26:18 rolla
Comment: None



changes files:
--------------
--- kernel.changes
+++ kernel.changes
@@ -0,0 +1,7 @@
+* Sat Dev 4 2010 Arjan van de Ven <arjan at linux.intel.com> - 2.6.35.3
+- enable LP5523 config option
+
+* Fri Dec 3 2010 Arjan van de Ven <arjan at linux.intel.com> - 2.6.35.3
+- Add 2 more touchscreen patches
+- add the APDS990X ALS driver
+

new:
----
  linux-2.6.36-atmel-2.patch
  linux-2.6.36-atmel-3.patch
  linux-2.6.37-APDS990X-backport.patch
  linux-2.6.37-APDS990X-driver-name.patch
  linux-2.6.37-APDS990X-mrst-c-part.patch
  linux-2.6.37-APDS990X-resource-setup.patch
  linux-2.6.37-APDS990X-upstream.patch

spec files:
-----------
--- kernel-ivi.spec
+++ kernel-ivi.spec
@@ -494,57 +494,59 @@
 Patch423: linux-2.6.36-atmel-touch-backport.patch
 Patch424: linux-2.6.36-atmel-use-factory-settings.patch
 Patch425: linux-2.6.36-atmel-mrst-integration.patch
+Patch426: linux-2.6.36-atmel-2.patch
+Patch427: linux-2.6.36-atmel-3.patch
 
-Patch426: linux-2.6.36-cyttsp-add-sTMA3406.patch
-Patch427: linux-2.6.36-cyttsp-mrst-c.patch
-Patch428: linux-2.6.36-cyttsp-low-power-mode.patch
+Patch428: linux-2.6.36-cyttsp-add-sTMA3406.patch
+Patch429: linux-2.6.36-cyttsp-mrst-c.patch
+Patch430: linux-2.6.36-cyttsp-low-power-mode.patch
 
 # Various sensors connected to i2c
-Patch429: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-Patch430: linux-2.6.35-lednames.patch
-Patch431: linux-2.6.36-mfd-led-flash.patch
-Patch432: linux-2.6.36-apds9802als-runtime-pm.patch
-Patch433: linux-2.6.36-ak8974-add-runtime-pm.patch
-Patch434: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-Patch435: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-Patch436: linux-2.6.36-apds9802als-fix-runtime-pm.patch
-Patch437: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-
-
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+Patch431: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch432: linux-2.6.35-lednames.patch
+Patch433: linux-2.6.36-mfd-led-flash.patch
+Patch434: linux-2.6.36-apds9802als-runtime-pm.patch
+Patch435: linux-2.6.36-ak8974-add-runtime-pm.patch
+Patch436: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
+Patch437: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
+Patch438: linux-2.6.36-apds9802als-fix-runtime-pm.patch
+Patch439: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
+
+
+Patch440: linux-2.6.37-APDS990X-upstream.patch
+Patch441: linux-2.6.37-APDS990X-backport.patch
+Patch442: linux-2.6.37-APDS990X-driver-name.patch
+Patch443: linux-2.6.37-APDS990X-resource-setup.patch
+Patch444: linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.
-Patch438: linux-2.6.36-broadcom-gps.patch
-Patch439: linux-2.6.36-nfc-NXP-PN544.patch
+Patch445: linux-2.6.36-broadcom-gps.patch
+Patch446: linux-2.6.36-nfc-NXP-PN544.patch
 
-Patch440: linux-2.6.35-lis-pm-init-fix.patch
-Patch441: linux-2.6.36-lis-single-click.patch
-Patch442: linux-2.6.36-lis3-6d-support.patch
+Patch447: linux-2.6.35-lis-pm-init-fix.patch
+Patch448: linux-2.6.36-lis-single-click.patch
+Patch449: linux-2.6.36-lis3-6d-support.patch
 
 # Various devices connected to SPI
-Patch443: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch450: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
 
 
 # wifi/bluetooth connectivity
-Patch444: linux-2.6.36-wl1271-add-platform_data.patch
-Patch445: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-Patch446: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
+Patch451: linux-2.6.36-wl1271-add-platform_data.patch
+Patch452: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+Patch453: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
 
 
 
 # other drivers
-Patch447: linux-2.6.36-medfield-battery.patch
-Patch448: linux-2.6.35-keycodes-fixup.patch
-Patch449: linux-2.6.35-backlight-fixup.patch 
-Patch450: 0001-staging-sep-update-sep-driver-for-Medfield.patch
+Patch454: linux-2.6.36-medfield-battery.patch
+Patch455: linux-2.6.35-keycodes-fixup.patch
+Patch456: linux-2.6.35-backlight-fixup.patch 
+Patch457: 0001-staging-sep-update-sep-driver-for-Medfield.patch
 
-Patch451: 0001-Medfield_Current_Monitoring_Driver.patch
-Patch452: 0001-Medfield_Thermal_Driver_Rework.patch
+Patch458: 0001-Medfield_Current_Monitoring_Driver.patch
+Patch459: 0001-Medfield_Thermal_Driver_Rework.patch
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
@@ -1423,84 +1425,93 @@
 %patch424 -p1
 # linux-2.6.36-atmel-mrst-integration.patch
 %patch425 -p1
+# linux-2.6.36-atmel-2.patch
+%patch426 -p1
+# linux-2.6.36-atmel-3.patch
+%patch427 -p1
 
 # linux-2.6.36-cyttsp-add-sTMA3406.patch
-%patch426 -p1
+%patch428 -p1
 # linux-2.6.36-cyttsp-mrst-c.patch
-%patch427 -p1
+%patch429 -p1
 # linux-2.6.36-cyttsp-low-power-mode.patch
-%patch428 -p1
+%patch430 -p1
 
 # Various sensors connected to i2c
 # linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-%patch429 -p1
+%patch431 -p1
 # linux-2.6.35-lednames.patch
-%patch430 -p1
+%patch432 -p1
 # linux-2.6.36-mfd-led-flash.patch
-%patch431 -p1
+%patch433 -p1
 # linux-2.6.36-apds9802als-runtime-pm.patch
-%patch432 -p1
+%patch434 -p1
 # linux-2.6.36-ak8974-add-runtime-pm.patch
-%patch433 -p1
+%patch435 -p1
 # linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-%patch434 -p1
+%patch436 -p1
 # linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-%patch435 -p1
+%patch437 -p1
 # linux-2.6.36-apds9802als-fix-runtime-pm.patch
-%patch436 -p1
+%patch438 -p1
 # linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-%patch437 -p1
+%patch439 -p1
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+# linux-2.6.37-APDS990X-upstream.patch
+%patch440 -p1
+# linux-2.6.37-APDS990X-backport.patch
+%patch441 -p1
+# linux-2.6.37-APDS990X-driver-name.patch
+%patch442 -p1
+# linux-2.6.37-APDS990X-resource-setup.patch
+%patch443 -p1
+# linux-2.6.37-APDS990X-mrst-c-part.patch
+%patch444 -p1
 
 # if only life was so simple that patches that get submitted actually
 # compile.
 # linux-2.6.36-broadcom-gps.patch
-%patch438 -p1
+%patch445 -p1
 # linux-2.6.36-nfc-NXP-PN544.patch
-%patch439 -p1
+%patch446 -p1
 
 # linux-2.6.35-lis-pm-init-fix.patch
-%patch440 -p1
+%patch447 -p1
 # linux-2.6.36-lis-single-click.patch
-%patch441 -p1
+%patch448 -p1
 # linux-2.6.36-lis3-6d-support.patch
-%patch442 -p1
+%patch449 -p1
 
 # Various devices connected to SPI
 # linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
-%patch443 -p1
+%patch450 -p1
 
 
 # wifi/bluetooth connectivity
 # linux-2.6.36-wl1271-add-platform_data.patch
-%patch444 -p1
+%patch451 -p1
 # linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-%patch445 -p1
+%patch452 -p1
 # linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
-%patch446 -p1
+%patch453 -p1
 
 
 
 # other drivers
 # linux-2.6.36-medfield-battery.patch
-%patch447 -p1
+%patch454 -p1
 # linux-2.6.35-keycodes-fixup.patch
-%patch448 -p1
+%patch455 -p1
 # linux-2.6.35-backlight-fixup.patch 
-%patch449 -p1
+%patch456 -p1
 # 0001-staging-sep-update-sep-driver-for-Medfield.patch
-%patch450 -p1
+%patch457 -p1
 
 # 0001-Medfield_Current_Monitoring_Driver.patch
-%patch451 -p1
+%patch458 -p1
 # 0001-Medfield_Thermal_Driver_Rework.patch
-%patch452 -p1
+%patch459 -p1
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
--- kernel-mid.spec
+++ kernel-mid.spec
@@ -495,57 +495,59 @@
 Patch423: linux-2.6.36-atmel-touch-backport.patch
 Patch424: linux-2.6.36-atmel-use-factory-settings.patch
 Patch425: linux-2.6.36-atmel-mrst-integration.patch
+Patch426: linux-2.6.36-atmel-2.patch
+Patch427: linux-2.6.36-atmel-3.patch
 
-Patch426: linux-2.6.36-cyttsp-add-sTMA3406.patch
-Patch427: linux-2.6.36-cyttsp-mrst-c.patch
-Patch428: linux-2.6.36-cyttsp-low-power-mode.patch
+Patch428: linux-2.6.36-cyttsp-add-sTMA3406.patch
+Patch429: linux-2.6.36-cyttsp-mrst-c.patch
+Patch430: linux-2.6.36-cyttsp-low-power-mode.patch
 
 # Various sensors connected to i2c
-Patch429: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-Patch430: linux-2.6.35-lednames.patch
-Patch431: linux-2.6.36-mfd-led-flash.patch
-Patch432: linux-2.6.36-apds9802als-runtime-pm.patch
-Patch433: linux-2.6.36-ak8974-add-runtime-pm.patch
-Patch434: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-Patch435: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-Patch436: linux-2.6.36-apds9802als-fix-runtime-pm.patch
-Patch437: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-
-
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+Patch431: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch432: linux-2.6.35-lednames.patch
+Patch433: linux-2.6.36-mfd-led-flash.patch
+Patch434: linux-2.6.36-apds9802als-runtime-pm.patch
+Patch435: linux-2.6.36-ak8974-add-runtime-pm.patch
+Patch436: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
+Patch437: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
+Patch438: linux-2.6.36-apds9802als-fix-runtime-pm.patch
+Patch439: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
+
+
+Patch440: linux-2.6.37-APDS990X-upstream.patch
+Patch441: linux-2.6.37-APDS990X-backport.patch
+Patch442: linux-2.6.37-APDS990X-driver-name.patch
+Patch443: linux-2.6.37-APDS990X-resource-setup.patch
+Patch444: linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.
-Patch438: linux-2.6.36-broadcom-gps.patch
-Patch439: linux-2.6.36-nfc-NXP-PN544.patch
+Patch445: linux-2.6.36-broadcom-gps.patch
+Patch446: linux-2.6.36-nfc-NXP-PN544.patch
 
-Patch440: linux-2.6.35-lis-pm-init-fix.patch
-Patch441: linux-2.6.36-lis-single-click.patch
-Patch442: linux-2.6.36-lis3-6d-support.patch
+Patch447: linux-2.6.35-lis-pm-init-fix.patch
+Patch448: linux-2.6.36-lis-single-click.patch
+Patch449: linux-2.6.36-lis3-6d-support.patch
 
 # Various devices connected to SPI
-Patch443: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch450: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
 
 
 # wifi/bluetooth connectivity
-Patch444: linux-2.6.36-wl1271-add-platform_data.patch
-Patch445: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-Patch446: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
+Patch451: linux-2.6.36-wl1271-add-platform_data.patch
+Patch452: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+Patch453: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
 
 
 
 # other drivers
-Patch447: linux-2.6.36-medfield-battery.patch
-Patch448: linux-2.6.35-keycodes-fixup.patch
-Patch449: linux-2.6.35-backlight-fixup.patch 
-Patch450: 0001-staging-sep-update-sep-driver-for-Medfield.patch
+Patch454: linux-2.6.36-medfield-battery.patch
+Patch455: linux-2.6.35-keycodes-fixup.patch
+Patch456: linux-2.6.35-backlight-fixup.patch 
+Patch457: 0001-staging-sep-update-sep-driver-for-Medfield.patch
 
-Patch451: 0001-Medfield_Current_Monitoring_Driver.patch
-Patch452: 0001-Medfield_Thermal_Driver_Rework.patch
+Patch458: 0001-Medfield_Current_Monitoring_Driver.patch
+Patch459: 0001-Medfield_Thermal_Driver_Rework.patch
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
@@ -1424,84 +1426,93 @@
 %patch424 -p1
 # linux-2.6.36-atmel-mrst-integration.patch
 %patch425 -p1
+# linux-2.6.36-atmel-2.patch
+%patch426 -p1
+# linux-2.6.36-atmel-3.patch
+%patch427 -p1
 
 # linux-2.6.36-cyttsp-add-sTMA3406.patch
-%patch426 -p1
+%patch428 -p1
 # linux-2.6.36-cyttsp-mrst-c.patch
-%patch427 -p1
+%patch429 -p1
 # linux-2.6.36-cyttsp-low-power-mode.patch
-%patch428 -p1
+%patch430 -p1
 
 # Various sensors connected to i2c
 # linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-%patch429 -p1
+%patch431 -p1
 # linux-2.6.35-lednames.patch
-%patch430 -p1
+%patch432 -p1
 # linux-2.6.36-mfd-led-flash.patch
-%patch431 -p1
+%patch433 -p1
 # linux-2.6.36-apds9802als-runtime-pm.patch
-%patch432 -p1
+%patch434 -p1
 # linux-2.6.36-ak8974-add-runtime-pm.patch
-%patch433 -p1
+%patch435 -p1
 # linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-%patch434 -p1
+%patch436 -p1
 # linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-%patch435 -p1
+%patch437 -p1
 # linux-2.6.36-apds9802als-fix-runtime-pm.patch
-%patch436 -p1
+%patch438 -p1
 # linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-%patch437 -p1
+%patch439 -p1
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+# linux-2.6.37-APDS990X-upstream.patch
+%patch440 -p1
+# linux-2.6.37-APDS990X-backport.patch
+%patch441 -p1
+# linux-2.6.37-APDS990X-driver-name.patch
+%patch442 -p1
+# linux-2.6.37-APDS990X-resource-setup.patch
+%patch443 -p1
+# linux-2.6.37-APDS990X-mrst-c-part.patch
+%patch444 -p1
 
 # if only life was so simple that patches that get submitted actually
 # compile.
 # linux-2.6.36-broadcom-gps.patch
-%patch438 -p1
+%patch445 -p1
 # linux-2.6.36-nfc-NXP-PN544.patch
-%patch439 -p1
+%patch446 -p1
 
 # linux-2.6.35-lis-pm-init-fix.patch
-%patch440 -p1
+%patch447 -p1
 # linux-2.6.36-lis-single-click.patch
-%patch441 -p1
+%patch448 -p1
 # linux-2.6.36-lis3-6d-support.patch
-%patch442 -p1
+%patch449 -p1
 
 # Various devices connected to SPI
 # linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
-%patch443 -p1
+%patch450 -p1
 
 
 # wifi/bluetooth connectivity
 # linux-2.6.36-wl1271-add-platform_data.patch
-%patch444 -p1
+%patch451 -p1
 # linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-%patch445 -p1
+%patch452 -p1
 # linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
-%patch446 -p1
+%patch453 -p1
 
 
 
 # other drivers
 # linux-2.6.36-medfield-battery.patch
-%patch447 -p1
+%patch454 -p1
 # linux-2.6.35-keycodes-fixup.patch
-%patch448 -p1
+%patch455 -p1
 # linux-2.6.35-backlight-fixup.patch 
-%patch449 -p1
+%patch456 -p1
 # 0001-staging-sep-update-sep-driver-for-Medfield.patch
-%patch450 -p1
+%patch457 -p1
 
 # 0001-Medfield_Current_Monitoring_Driver.patch
-%patch451 -p1
+%patch458 -p1
 # 0001-Medfield_Thermal_Driver_Rework.patch
-%patch452 -p1
+%patch459 -p1
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
--- kernel-n900.spec
+++ kernel-n900.spec
@@ -494,57 +494,59 @@
 Patch423: linux-2.6.36-atmel-touch-backport.patch
 Patch424: linux-2.6.36-atmel-use-factory-settings.patch
 Patch425: linux-2.6.36-atmel-mrst-integration.patch
+Patch426: linux-2.6.36-atmel-2.patch
+Patch427: linux-2.6.36-atmel-3.patch
 
-Patch426: linux-2.6.36-cyttsp-add-sTMA3406.patch
-Patch427: linux-2.6.36-cyttsp-mrst-c.patch
-Patch428: linux-2.6.36-cyttsp-low-power-mode.patch
+Patch428: linux-2.6.36-cyttsp-add-sTMA3406.patch
+Patch429: linux-2.6.36-cyttsp-mrst-c.patch
+Patch430: linux-2.6.36-cyttsp-low-power-mode.patch
 
 # Various sensors connected to i2c
-Patch429: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-Patch430: linux-2.6.35-lednames.patch
-Patch431: linux-2.6.36-mfd-led-flash.patch
-Patch432: linux-2.6.36-apds9802als-runtime-pm.patch
-Patch433: linux-2.6.36-ak8974-add-runtime-pm.patch
-Patch434: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-Patch435: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-Patch436: linux-2.6.36-apds9802als-fix-runtime-pm.patch
-Patch437: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-
-
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+Patch431: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch432: linux-2.6.35-lednames.patch
+Patch433: linux-2.6.36-mfd-led-flash.patch
+Patch434: linux-2.6.36-apds9802als-runtime-pm.patch
+Patch435: linux-2.6.36-ak8974-add-runtime-pm.patch
+Patch436: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
+Patch437: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
+Patch438: linux-2.6.36-apds9802als-fix-runtime-pm.patch
+Patch439: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
+
+
+Patch440: linux-2.6.37-APDS990X-upstream.patch
+Patch441: linux-2.6.37-APDS990X-backport.patch
+Patch442: linux-2.6.37-APDS990X-driver-name.patch
+Patch443: linux-2.6.37-APDS990X-resource-setup.patch
+Patch444: linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.
-Patch438: linux-2.6.36-broadcom-gps.patch
-Patch439: linux-2.6.36-nfc-NXP-PN544.patch
+Patch445: linux-2.6.36-broadcom-gps.patch
+Patch446: linux-2.6.36-nfc-NXP-PN544.patch
 
-Patch440: linux-2.6.35-lis-pm-init-fix.patch
-Patch441: linux-2.6.36-lis-single-click.patch
-Patch442: linux-2.6.36-lis3-6d-support.patch
+Patch447: linux-2.6.35-lis-pm-init-fix.patch
+Patch448: linux-2.6.36-lis-single-click.patch
+Patch449: linux-2.6.36-lis3-6d-support.patch
 
 # Various devices connected to SPI
-Patch443: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch450: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
 
 
 # wifi/bluetooth connectivity
-Patch444: linux-2.6.36-wl1271-add-platform_data.patch
-Patch445: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-Patch446: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
+Patch451: linux-2.6.36-wl1271-add-platform_data.patch
+Patch452: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+Patch453: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
 
 
 
 # other drivers
-Patch447: linux-2.6.36-medfield-battery.patch
-Patch448: linux-2.6.35-keycodes-fixup.patch
-Patch449: linux-2.6.35-backlight-fixup.patch 
-Patch450: 0001-staging-sep-update-sep-driver-for-Medfield.patch
+Patch454: linux-2.6.36-medfield-battery.patch
+Patch455: linux-2.6.35-keycodes-fixup.patch
+Patch456: linux-2.6.35-backlight-fixup.patch 
+Patch457: 0001-staging-sep-update-sep-driver-for-Medfield.patch
 
-Patch451: 0001-Medfield_Current_Monitoring_Driver.patch
-Patch452: 0001-Medfield_Thermal_Driver_Rework.patch
+Patch458: 0001-Medfield_Current_Monitoring_Driver.patch
+Patch459: 0001-Medfield_Thermal_Driver_Rework.patch
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
@@ -1423,84 +1425,93 @@
 %patch424 -p1
 # linux-2.6.36-atmel-mrst-integration.patch
 %patch425 -p1
+# linux-2.6.36-atmel-2.patch
+%patch426 -p1
+# linux-2.6.36-atmel-3.patch
+%patch427 -p1
 
 # linux-2.6.36-cyttsp-add-sTMA3406.patch
-%patch426 -p1
+%patch428 -p1
 # linux-2.6.36-cyttsp-mrst-c.patch
-%patch427 -p1
+%patch429 -p1
 # linux-2.6.36-cyttsp-low-power-mode.patch
-%patch428 -p1
+%patch430 -p1
 
 # Various sensors connected to i2c
 # linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-%patch429 -p1
+%patch431 -p1
 # linux-2.6.35-lednames.patch
-%patch430 -p1
+%patch432 -p1
 # linux-2.6.36-mfd-led-flash.patch
-%patch431 -p1
+%patch433 -p1
 # linux-2.6.36-apds9802als-runtime-pm.patch
-%patch432 -p1
+%patch434 -p1
 # linux-2.6.36-ak8974-add-runtime-pm.patch
-%patch433 -p1
+%patch435 -p1
 # linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-%patch434 -p1
+%patch436 -p1
 # linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-%patch435 -p1
+%patch437 -p1
 # linux-2.6.36-apds9802als-fix-runtime-pm.patch
-%patch436 -p1
+%patch438 -p1
 # linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-%patch437 -p1
+%patch439 -p1
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+# linux-2.6.37-APDS990X-upstream.patch
+%patch440 -p1
+# linux-2.6.37-APDS990X-backport.patch
+%patch441 -p1
+# linux-2.6.37-APDS990X-driver-name.patch
+%patch442 -p1
+# linux-2.6.37-APDS990X-resource-setup.patch
+%patch443 -p1
+# linux-2.6.37-APDS990X-mrst-c-part.patch
+%patch444 -p1
 
 # if only life was so simple that patches that get submitted actually
 # compile.
 # linux-2.6.36-broadcom-gps.patch
-%patch438 -p1
+%patch445 -p1
 # linux-2.6.36-nfc-NXP-PN544.patch
-%patch439 -p1
+%patch446 -p1
 
 # linux-2.6.35-lis-pm-init-fix.patch
-%patch440 -p1
+%patch447 -p1
 # linux-2.6.36-lis-single-click.patch
-%patch441 -p1
+%patch448 -p1
 # linux-2.6.36-lis3-6d-support.patch
-%patch442 -p1
+%patch449 -p1
 
 # Various devices connected to SPI
 # linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
-%patch443 -p1
+%patch450 -p1
 
 
 # wifi/bluetooth connectivity
 # linux-2.6.36-wl1271-add-platform_data.patch
-%patch444 -p1
+%patch451 -p1
 # linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-%patch445 -p1
+%patch452 -p1
 # linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
-%patch446 -p1
+%patch453 -p1
 
 
 
 # other drivers
 # linux-2.6.36-medfield-battery.patch
-%patch447 -p1
+%patch454 -p1
 # linux-2.6.35-keycodes-fixup.patch
-%patch448 -p1
+%patch455 -p1
 # linux-2.6.35-backlight-fixup.patch 
-%patch449 -p1
+%patch456 -p1
 # 0001-staging-sep-update-sep-driver-for-Medfield.patch
-%patch450 -p1
+%patch457 -p1
 
 # 0001-Medfield_Current_Monitoring_Driver.patch
-%patch451 -p1
+%patch458 -p1
 # 0001-Medfield_Thermal_Driver_Rework.patch
-%patch452 -p1
+%patch459 -p1
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
--- kernel-netbook.spec
+++ kernel-netbook.spec
@@ -494,57 +494,59 @@
 Patch423: linux-2.6.36-atmel-touch-backport.patch
 Patch424: linux-2.6.36-atmel-use-factory-settings.patch
 Patch425: linux-2.6.36-atmel-mrst-integration.patch
+Patch426: linux-2.6.36-atmel-2.patch
+Patch427: linux-2.6.36-atmel-3.patch
 
-Patch426: linux-2.6.36-cyttsp-add-sTMA3406.patch
-Patch427: linux-2.6.36-cyttsp-mrst-c.patch
-Patch428: linux-2.6.36-cyttsp-low-power-mode.patch
+Patch428: linux-2.6.36-cyttsp-add-sTMA3406.patch
+Patch429: linux-2.6.36-cyttsp-mrst-c.patch
+Patch430: linux-2.6.36-cyttsp-low-power-mode.patch
 
 # Various sensors connected to i2c
-Patch429: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-Patch430: linux-2.6.35-lednames.patch
-Patch431: linux-2.6.36-mfd-led-flash.patch
-Patch432: linux-2.6.36-apds9802als-runtime-pm.patch
-Patch433: linux-2.6.36-ak8974-add-runtime-pm.patch
-Patch434: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-Patch435: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-Patch436: linux-2.6.36-apds9802als-fix-runtime-pm.patch
-Patch437: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-
-
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+Patch431: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch432: linux-2.6.35-lednames.patch
+Patch433: linux-2.6.36-mfd-led-flash.patch
+Patch434: linux-2.6.36-apds9802als-runtime-pm.patch
+Patch435: linux-2.6.36-ak8974-add-runtime-pm.patch
+Patch436: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
+Patch437: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
+Patch438: linux-2.6.36-apds9802als-fix-runtime-pm.patch
+Patch439: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
+
+
+Patch440: linux-2.6.37-APDS990X-upstream.patch
+Patch441: linux-2.6.37-APDS990X-backport.patch
+Patch442: linux-2.6.37-APDS990X-driver-name.patch
+Patch443: linux-2.6.37-APDS990X-resource-setup.patch
+Patch444: linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.
-Patch438: linux-2.6.36-broadcom-gps.patch
-Patch439: linux-2.6.36-nfc-NXP-PN544.patch
+Patch445: linux-2.6.36-broadcom-gps.patch
+Patch446: linux-2.6.36-nfc-NXP-PN544.patch
 
-Patch440: linux-2.6.35-lis-pm-init-fix.patch
-Patch441: linux-2.6.36-lis-single-click.patch
-Patch442: linux-2.6.36-lis3-6d-support.patch
+Patch447: linux-2.6.35-lis-pm-init-fix.patch
+Patch448: linux-2.6.36-lis-single-click.patch
+Patch449: linux-2.6.36-lis3-6d-support.patch
 
 # Various devices connected to SPI
-Patch443: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch450: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
 
 
 # wifi/bluetooth connectivity
-Patch444: linux-2.6.36-wl1271-add-platform_data.patch
-Patch445: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-Patch446: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
+Patch451: linux-2.6.36-wl1271-add-platform_data.patch
+Patch452: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+Patch453: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
 
 
 
 # other drivers
-Patch447: linux-2.6.36-medfield-battery.patch
-Patch448: linux-2.6.35-keycodes-fixup.patch
-Patch449: linux-2.6.35-backlight-fixup.patch 
-Patch450: 0001-staging-sep-update-sep-driver-for-Medfield.patch
+Patch454: linux-2.6.36-medfield-battery.patch
+Patch455: linux-2.6.35-keycodes-fixup.patch
+Patch456: linux-2.6.35-backlight-fixup.patch 
+Patch457: 0001-staging-sep-update-sep-driver-for-Medfield.patch
 
-Patch451: 0001-Medfield_Current_Monitoring_Driver.patch
-Patch452: 0001-Medfield_Thermal_Driver_Rework.patch
+Patch458: 0001-Medfield_Current_Monitoring_Driver.patch
+Patch459: 0001-Medfield_Thermal_Driver_Rework.patch
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
@@ -1423,84 +1425,93 @@
 %patch424 -p1
 # linux-2.6.36-atmel-mrst-integration.patch
 %patch425 -p1
+# linux-2.6.36-atmel-2.patch
+%patch426 -p1
+# linux-2.6.36-atmel-3.patch
+%patch427 -p1
 
 # linux-2.6.36-cyttsp-add-sTMA3406.patch
-%patch426 -p1
+%patch428 -p1
 # linux-2.6.36-cyttsp-mrst-c.patch
-%patch427 -p1
+%patch429 -p1
 # linux-2.6.36-cyttsp-low-power-mode.patch
-%patch428 -p1
+%patch430 -p1
 
 # Various sensors connected to i2c
 # linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-%patch429 -p1
+%patch431 -p1
 # linux-2.6.35-lednames.patch
-%patch430 -p1
+%patch432 -p1
 # linux-2.6.36-mfd-led-flash.patch
-%patch431 -p1
+%patch433 -p1
 # linux-2.6.36-apds9802als-runtime-pm.patch
-%patch432 -p1
+%patch434 -p1
 # linux-2.6.36-ak8974-add-runtime-pm.patch
-%patch433 -p1
+%patch435 -p1
 # linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-%patch434 -p1
+%patch436 -p1
 # linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-%patch435 -p1
+%patch437 -p1
 # linux-2.6.36-apds9802als-fix-runtime-pm.patch
-%patch436 -p1
+%patch438 -p1
 # linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-%patch437 -p1
+%patch439 -p1
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+# linux-2.6.37-APDS990X-upstream.patch
+%patch440 -p1
+# linux-2.6.37-APDS990X-backport.patch
+%patch441 -p1
+# linux-2.6.37-APDS990X-driver-name.patch
+%patch442 -p1
+# linux-2.6.37-APDS990X-resource-setup.patch
+%patch443 -p1
+# linux-2.6.37-APDS990X-mrst-c-part.patch
+%patch444 -p1
 
 # if only life was so simple that patches that get submitted actually
 # compile.
 # linux-2.6.36-broadcom-gps.patch
-%patch438 -p1
+%patch445 -p1
 # linux-2.6.36-nfc-NXP-PN544.patch
-%patch439 -p1
+%patch446 -p1
 
 # linux-2.6.35-lis-pm-init-fix.patch
-%patch440 -p1
+%patch447 -p1
 # linux-2.6.36-lis-single-click.patch
-%patch441 -p1
+%patch448 -p1
 # linux-2.6.36-lis3-6d-support.patch
-%patch442 -p1
+%patch449 -p1
 
 # Various devices connected to SPI
 # linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
-%patch443 -p1
+%patch450 -p1
 
 
 # wifi/bluetooth connectivity
 # linux-2.6.36-wl1271-add-platform_data.patch
-%patch444 -p1
+%patch451 -p1
 # linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-%patch445 -p1
+%patch452 -p1
 # linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
-%patch446 -p1
+%patch453 -p1
 
 
 
 # other drivers
 # linux-2.6.36-medfield-battery.patch
-%patch447 -p1
+%patch454 -p1
 # linux-2.6.35-keycodes-fixup.patch
-%patch448 -p1
+%patch455 -p1
 # linux-2.6.35-backlight-fixup.patch 
-%patch449 -p1
+%patch456 -p1
 # 0001-staging-sep-update-sep-driver-for-Medfield.patch
-%patch450 -p1
+%patch457 -p1
 
 # 0001-Medfield_Current_Monitoring_Driver.patch
-%patch451 -p1
+%patch458 -p1
 # 0001-Medfield_Thermal_Driver_Rework.patch
-%patch452 -p1
+%patch459 -p1
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
--- kernel.spec
+++ kernel.spec
@@ -506,57 +506,59 @@
 Patch423: linux-2.6.36-atmel-touch-backport.patch
 Patch424: linux-2.6.36-atmel-use-factory-settings.patch
 Patch425: linux-2.6.36-atmel-mrst-integration.patch
+Patch426: linux-2.6.36-atmel-2.patch
+Patch427: linux-2.6.36-atmel-3.patch
 
-Patch426: linux-2.6.36-cyttsp-add-sTMA3406.patch
-Patch427: linux-2.6.36-cyttsp-mrst-c.patch
-Patch428: linux-2.6.36-cyttsp-low-power-mode.patch
+Patch428: linux-2.6.36-cyttsp-add-sTMA3406.patch
+Patch429: linux-2.6.36-cyttsp-mrst-c.patch
+Patch430: linux-2.6.36-cyttsp-low-power-mode.patch
 
 # Various sensors connected to i2c
-Patch429: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-Patch430: linux-2.6.35-lednames.patch
-Patch431: linux-2.6.36-mfd-led-flash.patch
-Patch432: linux-2.6.36-apds9802als-runtime-pm.patch
-Patch433: linux-2.6.36-ak8974-add-runtime-pm.patch
-Patch434: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-Patch435: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-Patch436: linux-2.6.36-apds9802als-fix-runtime-pm.patch
-Patch437: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-
-
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+Patch431: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch432: linux-2.6.35-lednames.patch
+Patch433: linux-2.6.36-mfd-led-flash.patch
+Patch434: linux-2.6.36-apds9802als-runtime-pm.patch
+Patch435: linux-2.6.36-ak8974-add-runtime-pm.patch
+Patch436: linux-2.6.36-ak8974-optimize-i2c-transaction.patch
+Patch437: linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
+Patch438: linux-2.6.36-apds9802als-fix-runtime-pm.patch
+Patch439: linux-2.6.36-apds9802ps-fix-runtime-pm.patch
+
+
+Patch440: linux-2.6.37-APDS990X-upstream.patch
+Patch441: linux-2.6.37-APDS990X-backport.patch
+Patch442: linux-2.6.37-APDS990X-driver-name.patch
+Patch443: linux-2.6.37-APDS990X-resource-setup.patch
+Patch444: linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.
-Patch438: linux-2.6.36-broadcom-gps.patch
-Patch439: linux-2.6.36-nfc-NXP-PN544.patch
+Patch445: linux-2.6.36-broadcom-gps.patch
+Patch446: linux-2.6.36-nfc-NXP-PN544.patch
 
-Patch440: linux-2.6.35-lis-pm-init-fix.patch
-Patch441: linux-2.6.36-lis-single-click.patch
-Patch442: linux-2.6.36-lis3-6d-support.patch
+Patch447: linux-2.6.35-lis-pm-init-fix.patch
+Patch448: linux-2.6.36-lis-single-click.patch
+Patch449: linux-2.6.36-lis3-6d-support.patch
 
 # Various devices connected to SPI
-Patch443: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch450: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
 
 
 # wifi/bluetooth connectivity
-Patch444: linux-2.6.36-wl1271-add-platform_data.patch
-Patch445: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-Patch446: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
+Patch451: linux-2.6.36-wl1271-add-platform_data.patch
+Patch452: linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+Patch453: linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
 
 
 
 # other drivers
-Patch447: linux-2.6.36-medfield-battery.patch
-Patch448: linux-2.6.35-keycodes-fixup.patch
-Patch449: linux-2.6.35-backlight-fixup.patch 
-Patch450: 0001-staging-sep-update-sep-driver-for-Medfield.patch
+Patch454: linux-2.6.36-medfield-battery.patch
+Patch455: linux-2.6.35-keycodes-fixup.patch
+Patch456: linux-2.6.35-backlight-fixup.patch 
+Patch457: 0001-staging-sep-update-sep-driver-for-Medfield.patch
 
-Patch451: 0001-Medfield_Current_Monitoring_Driver.patch
-Patch452: 0001-Medfield_Thermal_Driver_Rework.patch
+Patch458: 0001-Medfield_Current_Monitoring_Driver.patch
+Patch459: 0001-Medfield_Thermal_Driver_Rework.patch
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #
@@ -1465,84 +1467,93 @@
 %patch424 -p1
 # linux-2.6.36-atmel-mrst-integration.patch
 %patch425 -p1
+# linux-2.6.36-atmel-2.patch
+%patch426 -p1
+# linux-2.6.36-atmel-3.patch
+%patch427 -p1
 
 # linux-2.6.36-cyttsp-add-sTMA3406.patch
-%patch426 -p1
+%patch428 -p1
 # linux-2.6.36-cyttsp-mrst-c.patch
-%patch427 -p1
+%patch429 -p1
 # linux-2.6.36-cyttsp-low-power-mode.patch
-%patch428 -p1
+%patch430 -p1
 
 # Various sensors connected to i2c
 # linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
-%patch429 -p1
+%patch431 -p1
 # linux-2.6.35-lednames.patch
-%patch430 -p1
+%patch432 -p1
 # linux-2.6.36-mfd-led-flash.patch
-%patch431 -p1
+%patch433 -p1
 # linux-2.6.36-apds9802als-runtime-pm.patch
-%patch432 -p1
+%patch434 -p1
 # linux-2.6.36-ak8974-add-runtime-pm.patch
-%patch433 -p1
+%patch435 -p1
 # linux-2.6.36-ak8974-optimize-i2c-transaction.patch
-%patch434 -p1
+%patch436 -p1
 # linux-2.6.36-hwmon-device-driver-for-ak8975-eCompass.patch
-%patch435 -p1
+%patch437 -p1
 # linux-2.6.36-apds9802als-fix-runtime-pm.patch
-%patch436 -p1
+%patch438 -p1
 # linux-2.6.36-apds9802ps-fix-runtime-pm.patch
-%patch437 -p1
+%patch439 -p1
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+# linux-2.6.37-APDS990X-upstream.patch
+%patch440 -p1
+# linux-2.6.37-APDS990X-backport.patch
+%patch441 -p1
+# linux-2.6.37-APDS990X-driver-name.patch
+%patch442 -p1
+# linux-2.6.37-APDS990X-resource-setup.patch
+%patch443 -p1
+# linux-2.6.37-APDS990X-mrst-c-part.patch
+%patch444 -p1
 
 # if only life was so simple that patches that get submitted actually
 # compile.
 # linux-2.6.36-broadcom-gps.patch
-%patch438 -p1
+%patch445 -p1
 # linux-2.6.36-nfc-NXP-PN544.patch
-%patch439 -p1
+%patch446 -p1
 
 # linux-2.6.35-lis-pm-init-fix.patch
-%patch440 -p1
+%patch447 -p1
 # linux-2.6.36-lis-single-click.patch
-%patch441 -p1
+%patch448 -p1
 # linux-2.6.36-lis3-6d-support.patch
-%patch442 -p1
+%patch449 -p1
 
 # Various devices connected to SPI
 # linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
-%patch443 -p1
+%patch450 -p1
 
 
 # wifi/bluetooth connectivity
 # linux-2.6.36-wl1271-add-platform_data.patch
-%patch444 -p1
+%patch451 -p1
 # linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
-%patch445 -p1
+%patch452 -p1
 # linux-2.6.36-mrst.c-Add-btfm_init-to-enable-bluetooth.patch
-%patch446 -p1
+%patch453 -p1
 
 
 
 # other drivers
 # linux-2.6.36-medfield-battery.patch
-%patch447 -p1
+%patch454 -p1
 # linux-2.6.35-keycodes-fixup.patch
-%patch448 -p1
+%patch455 -p1
 # linux-2.6.35-backlight-fixup.patch 
-%patch449 -p1
+%patch456 -p1
 # 0001-staging-sep-update-sep-driver-for-Medfield.patch
-%patch450 -p1
+%patch457 -p1
 
 # 0001-Medfield_Current_Monitoring_Driver.patch
-%patch451 -p1
+%patch458 -p1
 # 0001-Medfield_Thermal_Driver_Rework.patch
-%patch452 -p1
+%patch459 -p1
 #0001-Cleanup-and-Improvement-patch-to-Intel-MSIC-Battery-.patch
 
 #

other changes:
--------------

++++++ config-generic
--- config-generic
+++ config-generic
@@ -3598,4 +3598,7 @@
 # CONFIG_TOUCHSCREEN_CYTTSP_I2C is not set
 # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
 CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
\ No newline at end of file
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH is not set
+# CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_BL is not set
+# CONFIG_SENSORS_APDS990X is not set

++++++ config-mid
--- config-mid
+++ config-mid
@@ -207,4 +207,9 @@
 CONFIG_TOUCHSCREEN_CYTTSP_I2C=y
 CONFIG_TOUCHSCREEN_CYTTSP_CORE=y
 CONFIG_MDFLD_DSI_DSR=y
-# CONFIG_MDFD_GL3 is not set 
\ No newline at end of file
+# CONFIG_MDFD_GL3 is not set 
+CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH=y
+CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_BL=y
+CONFIG_SENSORS_APDS990X=y
+CONFIG_LEDS_LP5523=y
+CONFIG_I2C_CHARDEV=y

++++++ linux-2.6.36-atmel-2.patch (new)
--- linux-2.6.36-atmel-2.patch
+++ linux-2.6.36-atmel-2.patch
+From: Bill Varney <bill.varney at windriver.com>
+
+Includes initial driver from vendor, plus self test support,
+cleanup, and integration.
+
+Please include the following the the default config for handset:
+CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH=y
+CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_BL=y
+
+Signed-off-by: Ken Lierman <ken.lierman at windriver.com>
+Approval from GPL release to meego provided by:
+Signed-off-by: Jon Kiachian <Jon.Kiachian at atmel.com>
+---
+ drivers/input/touchscreen/Kconfig          |   44 +
+ drivers/input/touchscreen/Makefile         |    1 
+ drivers/input/touchscreen/atmel_maxtouch.c | 2085 ++++++++++++++++++++++++++++
+ include/linux/atmel_maxtouch.h             |  319 ++++
+ 4 files changed, 2449 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/input/touchscreen/atmel_maxtouch.c
+ create mode 100644 include/linux/atmel_maxtouch.h
+
+diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
+index 62e884d..6245532 100644
+--- a/drivers/input/touchscreen/Kconfig
++++ b/drivers/input/touchscreen/Kconfig
+@@ -351,6 +351,50 @@ config TOUCHSCREEN_ATMEL_TSADCC
+ 	  To compile this driver as a module, choose M here: the
+ 	  module will be called atmel_tsadcc.
+ 
++config TOUCHSCREEN_ATMEL_MAXTOUCH
++ 	tristate "Atmel maXTouch based touchscreen: I2C Interface"
++ 	depends on I2C
++ 	help
++ 	  Say Y here if you have a touchscreen interface using an
++ 	  Amel maXTouch controller, and your board-specific initialization
++ 	  code includes that in its table of I2C devices.
++
++ 	  If unsure, say N (but it's safe to say "Y").
++
++ 	  To compile this driver as a module, choose M here: the
++ 	  module will be called maXTouch.
++
++config TOUCHSCREEN_ATMEL_MAXTOUCH_BL
++ 	tristate "Atmel maXTouch bootloader"
++ 	depends on I2C
++ 	help
++ 	  Say Y here if you have an Atmel maXTouch touchscreen and you
++          want to enable the bootloader functionality.
++
++ 	  If unsure, say N.
++
++ 	  To compile this driver as a module, choose M here: the
++ 	  module will be called maXTouch_bl.
++
++choice
++ 	prompt "maXTouch I2C port"
++ 	default TOUCHSCREEN_ATMEL_MAXTOUCH_I2C2
++ 	depends on TOUCHSCREEN_ATMEL_MAXTOUCH
++	depends on ARCH_OMAP35XX
++config TOUCHSCREEN_ATMEL_MAXTOUCH_I2C0
++ 	depends on !ARCH_OMAP35XX
++ 	bool "I2C Bus #0"
++config TOUCHSCREEN_ATMEL_MAXTOUCH_I2C1
++ 	depends on !ARCH_OMAP35XX
++ 	bool "I2C Bus #1"
++config TOUCHSCREEN_ATMEL_MAXTOUCH_I2C2
++ 	depends on ARCH_OMAP35XX
++	bool "I2C Bus #2"
++config TOUCHSCREEN_ATMEL_MAXTOUCH_I2C3
++ 	depends on ARCH_OMAP35XX
++ 	bool "I2C Bus #3"
++endchoice
++
+ config TOUCHSCREEN_UCB1400
+ 	tristate "Philips UCB1400 touchscreen"
+ 	depends on AC97_BUS
+diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
+index e30eacd..6fe432e 100644
+--- a/drivers/input/touchscreen/Makefile
++++ b/drivers/input/touchscreen/Makefile
+@@ -10,6 +10,7 @@ obj-$(CONFIG_TOUCHSCREEN_88PM860X)	+= 88pm860x-ts.o
+ obj-$(CONFIG_TOUCHSCREEN_AD7877)	+= ad7877.o
+ obj-$(CONFIG_TOUCHSCREEN_AD7879)	+= ad7879.o
+ obj-$(CONFIG_TOUCHSCREEN_ADS7846)	+= ads7846.o
++obj-$(CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH)+= atmel_maxtouch.o
+ obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC)	+= atmel_tsadcc.o
+ obj-$(CONFIG_TOUCHSCREEN_BITSY)		+= h3600_ts_input.o
+ obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110)    += cy8ctmg110_ts.o
+diff --git a/drivers/input/touchscreen/atmel_maxtouch.c b/drivers/input/touchscreen/atmel_maxtouch.c
+new file mode 100644
+index 0000000..1c9985b
+--- /dev/null
++++ b/drivers/input/touchscreen/atmel_maxtouch.c
+@@ -0,0 +1,2085 @@
++/*
++ *  Atmel maXTouch Touchscreen Controller Driver
++ *
++ *
++ *  Copyright (C) 2010 Atmel Corporation
++ *  Copyright (C) 2010 Ulf Samuelsson (ulf at atmel.com)
++ *  Copyright (C) 2009 Raphael Derosso Pereira <raphaelpereira at gmail.com>
++ *  Contains changes by Wind River Systems, 2010-09-29
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License version 2 as
++ *  published by the Free Software Foundation.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with this program; if not, write to the Free Software
++ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++/*
++ *
++ * Driver for Atmel maXTouch family of touch controllers.
++ *
++ */
++
++#include <linux/i2c.h>
++#include <linux/interrupt.h>
++#include <linux/input.h>
++#include <linux/debugfs.h>
++#include <linux/cdev.h>
++#include <linux/mutex.h>
++#include <linux/slab.h>
++#include <linux/uaccess.h>
++#include <linux/atmel_maxtouch.h>
++
++/* Routines for memory access within a 16 bit address space */
++
++static int mxt_read_block(struct i2c_client *client, u16 addr, u16 length,
++			  u8 *value);
++static int mxt_write_byte(struct i2c_client *client, u16 addr, u8 value);
++static int mxt_write_block(struct i2c_client *client, u16 addr, u16 length,
++			   u8 *value);
++
++#define DRIVER_VERSION "0.9a"
++
++static int debug = DEBUG_INFO;
++static int comms;
++module_param(debug, int, 0644);
++module_param(comms, int, 0644);
++
++MODULE_PARM_DESC(debug, "Activate debugging output");
++MODULE_PARM_DESC(comms, "Select communications mode");
++
++/* Device Info descriptor */
++/* Parsed from maXTouch "Id information" inside device */
++struct mxt_device_info {
++	u8   family_id;
++	u8   variant_id;
++	u8   major;
++	u8   minor;
++	u8   build;
++	u8   num_objs;
++	u8   x_size;
++	u8   y_size;
++	char family_name[16];	 /* Family name */
++	char variant_name[16];    /* Variant name */
++	u16  num_nodes;           /* Number of sensor nodes */
++};
++
++/* object descriptor table, parsed from maXTouch "object table" */
++struct mxt_object {
++	u16 chip_addr;
++	u8  type;
++	u8  size;
++	u8  instances;
++	u8  num_report_ids;
++};
++
++
++/* Mapping from report id to object type and instance */
++struct report_id_map {
++	u8  object;
++	u8  instance;
++/*
++ * This is the first report ID belonging to object. It enables us to
++ * find out easily the touch number: each touch has different report
++ * ID (which are assigned to touches in increasing order). By
++ * subtracting the first report ID from current, we get the touch
++ * number.
++ */
++	u8  first_rid;
++};
++
++
++/* Driver datastructure */
++struct mxt_data {
++	struct i2c_client    *client;
++	struct input_dev     *input;
++	char                 phys_name[32];
++	int                  irq;
(2307 more lines skipped)

++++++ linux-2.6.36-atmel-3.patch (new)
--- linux-2.6.36-atmel-3.patch
+++ linux-2.6.36-atmel-3.patch
+From: Bill Varney <bill.varney at windriver.com>
+
+mrst.c integration to enable driver
+
+Signed-off-by: Ken Lierman <ken.lierman at windriver.com>
+---
+ arch/x86/kernel/mrst.c |   65 +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 64 insertions(+), 1 deletions(-)
+
+diff --git a/arch/x86/kernel/mrst.c b/arch/x86/kernel/mrst.c
+index e0e41d2..2d1f95a 100644
+--- a/arch/x86/kernel/mrst.c
++++ b/arch/x86/kernel/mrst.c
+@@ -35,6 +35,7 @@
+ #include <linux/bh1770glc.h>
+ #include <linux/leds-lp5523.h>
+ #include <linux/i2c/qt602240_ts.h>
++#include <linux/atmel_maxtouch.h>
+ 
+ #include <asm/setup.h>
+ #include <asm/mpspec_def.h>
+@@ -1121,6 +1122,68 @@ static void *qt602240_platform_data(void *info)
+ 	return &pdata;
+ }
+ 
++static  int mxt_reset_gpio;
++
++static u8 mxt_valid_interrupt(void)
++{
++	return 1;
++}
++
++static void mxt_init_platform_hw(void)
++{
++	int err;
++
++	err = gpio_request(mxt_reset_gpio, "MaxTouch-reset");
++	if (err < 0)
++		printk(KERN_ERR "Failed to request GPIO%d (MaxTouch-reset) err=%d\n",
++			mxt_reset_gpio, err);
++
++	err = gpio_direction_output(mxt_reset_gpio, 0);
++	if (err)
++		printk(KERN_ERR "Failed to change direction, err=%d\n", err);
++
++	/* maXTouch wants 40mSec minimum after reset to get organized */
++	gpio_set_value(mxt_reset_gpio, 1);
++	msleep(40);
++}
++
++static void mxt_exit_platform_hw(void)
++{
++	printk(KERN_INFO "In %s.", __func__);
++	gpio_set_value(mxt_reset_gpio, 0);
++}
++
++static void *mxt_platform_data(void *info)
++{
++	struct i2c_board_info *i2c_info = (struct i2c_board_info *) info;
++	static struct mxt_platform_data mfld_mxt_platform_data;
++	int intr = 0;
++
++	printk(KERN_INFO "In %s.", __func__);
++
++	memset(&mfld_mxt_platform_data, 0x00,
++		sizeof(struct mxt_platform_data));
++	mfld_mxt_platform_data.numtouch         = 10;
++	mfld_mxt_platform_data.init_platform_hw = &mxt_init_platform_hw;
++	mfld_mxt_platform_data.exit_platform_hw = &mxt_exit_platform_hw;
++	mfld_mxt_platform_data.max_x            = 480;
++	mfld_mxt_platform_data.max_y            = 864;
++	mfld_mxt_platform_data.valid_interrupt  = &mxt_valid_interrupt;
++
++	intr = get_gpio_by_name("TS0-intr");
++	if (intr == -1) {
++		printk(KERN_ERR "Missing GPIO(s) for MXT.\n");
++		return NULL;
++	}
++
++	/* On nCDK EB2.0, Atmel max touch reset is on
++	GP_CORE_033 = 33 + 96 = 129 */
++	mxt_reset_gpio = 129; /* TODO: Use SFI, when SFI is available */
++
++	i2c_info->irq = intr + MRST_IRQ_OFFSET;
++	return &mfld_mxt_platform_data;
++}
++
+ static const struct devs_id device_ids[] = {
+ 	{"pmic_gpio", SFI_DEV_TYPE_SPI, 1, &pmic_gpio_platform_data},
+ 	{"pmic_gpio", SFI_DEV_TYPE_IPC, 1, &pmic_gpio_platform_data},
+@@ -1142,7 +1205,7 @@ static const struct devs_id device_ids[] = {
+ 	{"pmic_audio", SFI_DEV_TYPE_IPC, 1, &no_platform_data},
+ 	{"msic_audio", SFI_DEV_TYPE_SPI, 1, &no_platform_data},
+ 	{"msic_audio", SFI_DEV_TYPE_IPC, 1, &no_platform_data},
+-	{"mXT224", SFI_DEV_TYPE_I2C, 0, &qt602240_platform_data},
++	{"mXT224", SFI_DEV_TYPE_I2C, 0, &mxt_platform_data},
+ 	{"i2c_TC35894-nEB1", SFI_DEV_TYPE_I2C, 0, &tc35894xbg_n_platform_data},
+ 	{"i2c_TC35894-i", SFI_DEV_TYPE_I2C, 0, &tc35894xbg_i_platform_data},
+ 	{"bh1770glc", SFI_DEV_TYPE_I2C, 0, &bh1770glc_platform_data_init},
+

++++++ linux-2.6.36-broadcom-gps.patch
--- linux-2.6.36-broadcom-gps.patch
+++ linux-2.6.36-broadcom-gps.patch
@@ -30,7 +30,7 @@
 +#include <linux/i2c/bcm4751-gps.h>
  #include <linux/lis3lv02d.h>
  #include <linux/i2c/tc35894xbg.h>
- #include <linux/bh1770glc.h>
+ #include <linux/i2c/apds990x.h>
 @@ -801,6 +802,148 @@ void *bh1770glc_platform_data_init(void *info)
  	return &prox_pdata;
  }
@@ -181,8 +181,8 @@
  #define CY8CTMG110_IRQ_PIN_GPIO		59
  #define CY8CTMG110_TOUCH_IRQ		21
 @@ -1108,6 +1251,7 @@ static const struct devs_id device_ids[] = {
- 	{"i2c_TC35894-i", SFI_DEV_TYPE_I2C, 0, &tc35894xbg_i_platform_data},
  	{"bh1770glc", SFI_DEV_TYPE_I2C, 0, &bh1770glc_platform_data_init},
+ 	{"qpdst900", SFI_DEV_TYPE_I2C, 1, &qpdst900_platform_data_init},
  	{"lp5523", SFI_DEV_TYPE_I2C, 0, &lp5523_platform_data_init},
 +	{"bcm4751-gps", SFI_DEV_TYPE_I2C, 0, &bcm4751_platform_data },
  	{},

++++++ linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
--- linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
+++ linux-2.6.36-mrst.c-add-platform-support-for-wl12xx.patch
@@ -21,8 +21,8 @@
 --- a/arch/x86/kernel/mrst.c
 +++ b/arch/x86/kernel/mrst.c
 @@ -34,6 +34,9 @@
- #include <linux/leds-lp5523.h>
  #include <linux/i2c/qt602240_ts.h>
+ #include <linux/atmel_maxtouch.h>
  #include <linux/pn544.h>
 +#include <linux/wl12xx.h>
 +#include <linux/regulator/machine.h>

++++++ linux-2.6.36-nfc-NXP-PN544.patch
--- linux-2.6.36-nfc-NXP-PN544.patch
+++ linux-2.6.36-nfc-NXP-PN544.patch
@@ -22,15 +22,15 @@
 --- a/arch/x86/kernel/mrst.c
 +++ b/arch/x86/kernel/mrst.c
 @@ -37,6 +37,7 @@
- #include <linux/bh1770glc.h>
  #include <linux/leds-lp5523.h>
  #include <linux/i2c/qt602240_ts.h>
+ #include <linux/atmel_maxtouch.h>
 +#include <linux/pn544.h>
  
  #include <asm/setup.h>
  #include <asm/mpspec_def.h>
 @@ -1141,6 +1142,107 @@ void *lp5523_platform_data_init(void *info)
-        return &pdata;
+ 	return &prox_pdata;
  }
  
 +#define NFC_HOST_INT_GPIO               "NFC-intr"
@@ -138,7 +138,7 @@
  {
  	struct tc35894xbg_platform_data *pdata = client->dev.platform_data;
 @@ -1356,6 +1458,7 @@ static const struct devs_id device_ids[] = {
- 	{"bh1770glc", SFI_DEV_TYPE_I2C, 0, &bh1770glc_platform_data_init},
+ 	{"qpdst900", SFI_DEV_TYPE_I2C, 1, &qpdst900_platform_data_init},
  	{"lp5523", SFI_DEV_TYPE_I2C, 0, &lp5523_platform_data_init},
  	{"bcm4751-gps", SFI_DEV_TYPE_I2C, 0, &bcm4751_platform_data },
 +	{"pn544", SFI_DEV_TYPE_I2C, 0, &pn544_platform_data},

++++++ linux-2.6.37-APDS990X-backport.patch (new)
--- linux-2.6.37-APDS990X-backport.patch
+++ linux-2.6.37-APDS990X-backport.patch
+2.6.35 does not include usleep_range().
+
+Revert to msleep();
+
+Signed-off-by: Eric Lighthart <ericx.lighthart at intel.com>
+---
+ drivers/misc/apds990x.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/misc/apds990x.c b/drivers/misc/apds990x.c
+index 200311f..4bc519c 100644
+--- a/drivers/misc/apds990x.c
++++ b/drivers/misc/apds990x.c
+@@ -616,7 +616,7 @@ static int apds990x_chip_on(struct apds990x_chip *chip)
+ 	if (err < 0)
+ 		return err;
+ 
+-	usleep_range(APDS_STARTUP_DELAY, 2 * APDS_STARTUP_DELAY);
++	msleep(APDS_STARTUP_DELAY / 1000 + ((APDS_STARTUP_DELAY % 1000) ? 1 : 0));
+ 
+ 	/* Refresh all configs in case of regulators were off */
+ 	chip->prox_data = 0;
+@@ -1122,7 +1122,7 @@ static int __devinit apds990x_probe(struct i2c_client *client,
+ 		goto fail2;
+ 	}
+ 
+-	usleep_range(APDS_STARTUP_DELAY, 2 * APDS_STARTUP_DELAY);
++	msleep(APDS_STARTUP_DELAY / 1000 + ((APDS_STARTUP_DELAY % 1000) ? 1 : 0));
+ 
+ 	err = apds990x_detect(chip);
+ 	if (err < 0) {
+-- 
+1.7.2.1
+_______________________________________________
+MeeGo-kernel mailing list
+MeeGo-kernel at lists.meego.com
+http://lists.meego.com/listinfo/meego-kernel

++++++ linux-2.6.37-APDS990X-driver-name.patch (new)
--- linux-2.6.37-APDS990X-driver-name.patch
+++ linux-2.6.37-APDS990X-driver-name.patch
+This allows use of the driver in environments that use device ID "qpdst900"
+
+Signed-off-by: Eric Lighthart <eric.lighthart at windriver.com>
+---
+ drivers/misc/apds990x.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: b/drivers/misc/apds990x.c
+===================================================================
+--- a/drivers/misc/apds990x.c
++++ b/drivers/misc/apds990x.c
+@@ -1254,6 +1254,7 @@ static int apds990x_runtime_resume(struc
+ 
+ static const struct i2c_device_id apds990x_id[] = {
+ 	{"apds990x", 0 },
++	{"qpdst900", 0 },
+ 	{}
+ };
+
+_______________________________________________
+MeeGo-kernel mailing list
+MeeGo-kernel at lists.meego.com
+http://lists.meego.com/listinfo/meego-kernel

++++++ linux-2.6.37-APDS990X-mrst-c-part.patch (new)
--- linux-2.6.37-APDS990X-mrst-c-part.patch
+++ linux-2.6.37-APDS990X-mrst-c-part.patch
+nCDK platform configuration for APDS990X ALS and proximity sensors
+
+Signed-off-by: Eric Lighthart <ericx.lighthart at intel.com>
+---
+ arch/x86/kernel/mrst.c |   55 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+Index: b/arch/x86/kernel/mrst.c
+===================================================================
+--- a/arch/x86/kernel/mrst.c
++++ b/arch/x86/kernel/mrst.c
+@@ -32,6 +32,7 @@
+ #include <linux/i2c/pca953x.h>
+ #include <linux/lis3lv02d.h>
+ #include <linux/i2c/tc35894xbg.h>
++#include <linux/i2c/apds990x.h>
+ #include <linux/bh1770glc.h>
+ #include <linux/leds-lp5523.h>
+ #include <linux/i2c/qt602240_ts.h>
+@@ -846,6 +847,59 @@ void *lp5523_platform_data_init(void *in
+        return &pdata;
+ }
+ 
++#define QPDST900_GPIO_INT "bh1770glc_int"
++static int qpds900_intr_pin;
++
++static int qpdst900_setup_resources(void)
++{
++	__u16 addr = 0x00D7; /* MSIC VPROG2 Control Register */
++	__u8 data = 0xFF; /* On always; 2.8V */
++	int ret;
++
++	ret = gpio_request(qpds900_intr_pin, "QPDS-T900 IRQ");
++	if (ret < 0) {
++		printk(KERN_ERR "Request for GPIO%d (QPDS-T900 IRQ), err=%d\n",
++							qpds900_intr_pin, ret);
++		return(ret);
++	}
++
++	/* Turn on power (VPROG2) to the ALS/Prox sensor chip */
++	ret = intel_scu_ipc_iowrite8(addr, data);
++	if (ret != 0) {
++		printk(KERN_ERR "Could not turn on VAUX2, erro = %d\n", ret);
++		return(ret);
++	}
++	/* Driver implements a suitable power-on delay; no need to wait here */
++	return(0);
++}
++
++static int qpdst900_release_resources(void)
++{
++	gpio_free(qpds900_intr_pin);
++	/* Do not turn off power; VPROG2 shared by multiple devices */
++	return(0);
++}
++
++static void *qpdst900_platform_data_init(void *info)
++{
++	static struct apds990x_platform_data prox_pdata = {
++		.cf			= {},
++		.pdrive			= APDS_IRLED_CURR_50mA,
++		.setup_resources	= qpdst900_setup_resources,
++		.release_resources	= qpdst900_release_resources,
++	};
++	struct i2c_board_info *i2c_info = (struct i2c_board_info *)info;
++
++	printk(KERN_DEBUG "Intialize QPDST900 platform data\n");
++	qpds900_intr_pin = get_gpio_by_name(QPDST900_GPIO_INT);
++	if (qpds900_intr_pin < 0) {
++		printk(KERN_ERR "ERROR: No IRQ pin for QPDST900 given in SFI\n");
++		return NULL;
++	}
++	i2c_info->irq = qpds900_intr_pin + MRST_IRQ_OFFSET;
++	return &prox_pdata;
++}
++
+ static void tc35894xbg_reset_ctrl(struct i2c_client *client, int value)
+ {
+ 	struct tc35894xbg_platform_data *pdata = client->dev.platform_data;
+@@ -1056,6 +1110,7 @@ static const struct devs_id device_ids[]
+ 	{"i2c_TC35894-nEB1", SFI_DEV_TYPE_I2C, 0, &tc35894xbg_n_platform_data},
+ 	{"i2c_TC35894-i", SFI_DEV_TYPE_I2C, 0, &tc35894xbg_i_platform_data},
+ 	{"bh1770glc", SFI_DEV_TYPE_I2C, 0, &bh1770glc_platform_data_init},
++	{"qpdst900", SFI_DEV_TYPE_I2C, 1, &qpdst900_platform_data_init},
+ 	{"lp5523", SFI_DEV_TYPE_I2C, 0, &lp5523_platform_data_init},
+ 	{},
+ };
+
+_______________________________________________
+MeeGo-kernel mailing list
+MeeGo-kernel at lists.meego.com
+http://lists.meego.com/listinfo/meego-kernel

++++++ linux-2.6.37-APDS990X-resource-setup.patch (new)
--- linux-2.6.37-APDS990X-resource-setup.patch
+++ linux-2.6.37-APDS990X-resource-setup.patch
+Resource setup is called after the initial contact with the
+ALS/Proximity sensor chip.  On Medfield platform, the resource
+setup routine is responsible for turning on power to the chip,
+so must be called before initial contact.
+
+This change moves the call to resource setup to a slightly
+earlier time in the probe() routine, so power will be on when
+we try to talk to the chip.
+
+Signed-off-by: Eric Lighthart <eric.lighthart at windriver.com>
+---
+It is not clear that this is correct long term solution.  This
+Insures that the sensor chip has power when we try to talk to
+It, for now.
+
+ drivers/misc/apds990x.c |   16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+Index: b/drivers/misc/apds990x.c
+===================================================================
+--- a/drivers/misc/apds990x.c
++++ b/drivers/misc/apds990x.c
+@@ -1122,6 +1122,14 @@ static int __devinit apds990x_probe(stru
+ 		goto fail2;
+ 	}
+ 
++	if (chip->pdata->setup_resources) {
++		err = chip->pdata->setup_resources();
++		if (err) {
++			err = -EINVAL;
++			goto fail3;
++		}
++	}
++
+ 	msleep(APDS_STARTUP_DELAY / 1000 + ((APDS_STARTUP_DELAY % 1000) ? 1 : 0));
+ 
+ 	err = apds990x_detect(chip);
+@@ -1138,14 +1146,6 @@ static int __devinit apds990x_probe(stru
+ 
+ 	pm_runtime_enable(&client->dev);
+ 
+-	if (chip->pdata->setup_resources) {
+-		err = chip->pdata->setup_resources();
+-		if (err) {
+-			err = -EINVAL;
+-			goto fail3;
+-		}
+-	}
+-
+ 	err = sysfs_create_group(&chip->client->dev.kobj,
+ 				apds990x_attribute_group);
+ 	if (err < 0) {
+_______________________________________________
+MeeGo-kernel mailing list
+MeeGo-kernel at lists.meego.com
+http://lists.meego.com/listinfo/meego-kernel

++++++ linux-2.6.37-APDS990X-upstream.patch (new)
--- linux-2.6.37-APDS990X-upstream.patch
+++ linux-2.6.37-APDS990X-upstream.patch
+commit 92b1f84d46b24675493d95a239eea2b07e5f13f8
+Author: Samu Onkalo <samu.p.onkalo at nokia.com>
+Date:   Tue Oct 26 14:22:38 2010 -0700
+
+    drivers/misc: driver for APDS990X ALS and proximity sensors
+    
+    This is a driver for Avago APDS990X combined ALS and proximity sensor.
+    
+    Interface is sysfs based.  The driver uses interrupts to provide new data.
+    The driver supports pm_runtime and regulator frameworks.
+    
+    See Documentation/misc-devices/apds990x.txt for details
+    
+    Signed-off-by: Samu Onkalo <samu.p.onkalo at nokia.com>
+    Acked-by: Jonathan Cameron <jic23 at cam.ac.uk>
+    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+
+diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
+index 3b50106..7362851 100644
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -325,6 +325,17 @@ config SENSORS_BH1770
+ 	help
+ 	  To get Compass Sensor output from AK8975 sensor.
+ 
++config SENSORS_APDS990X
++	 tristate "APDS990X combined als and proximity sensors"
++	 depends on I2C
++	 default n
++	 ---help---
++	   Say Y here if you want to build a driver for Avago APDS990x
++	   combined ambient light and proximity sensor chip.
++
++	   To compile this driver as a module, choose M here: the
++	   module will be called apds990x. If unsure, say N here.
++
+ config HMC6352
+ 	tristate "Honeywell HMC6352 compass"
+ 	depends on I2C
+diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
+index 5fed6ab..081b9fc 100644
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -17,6 +17,7 @@ obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o
+ obj-$(CONFIG_TIFM_CORE)       	+= tifm_core.o
+ obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o
+ obj-$(CONFIG_PHANTOM)		+= phantom.o
++obj-$(CONFIG_SENSORS_APDS990X)	+= apds990x.o
+ obj-$(CONFIG_SGI_IOC4)		+= ioc4.o
+ obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
+ obj-$(CONFIG_KGDB_TESTS)	+= kgdbts.o
+diff --git a/drivers/misc/apds990x.c b/drivers/misc/apds990x.c
+new file mode 100644
+index 0000000..200311f
+--- /dev/null
++++ b/drivers/misc/apds990x.c
+@@ -0,0 +1,1295 @@
++/*
++ * This file is part of the APDS990x sensor driver.
++ * Chip is combined proximity and ambient light sensor.
++ *
++ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
++ *
++ * Contact: Samu Onkalo <samu.p.onkalo at nokia.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
++ * 02110-1301 USA
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/interrupt.h>
++#include <linux/mutex.h>
++#include <linux/regulator/consumer.h>
++#include <linux/pm_runtime.h>
++#include <linux/delay.h>
++#include <linux/wait.h>
++#include <linux/slab.h>
++#include <linux/i2c/apds990x.h>
++
++/* Register map */
++#define APDS990X_ENABLE	 0x00 /* Enable of states and interrupts */
++#define APDS990X_ATIME	 0x01 /* ALS ADC time  */
++#define APDS990X_PTIME	 0x02 /* Proximity ADC time  */
++#define APDS990X_WTIME	 0x03 /* Wait time  */
++#define APDS990X_AILTL	 0x04 /* ALS interrupt low threshold low byte */
++#define APDS990X_AILTH	 0x05 /* ALS interrupt low threshold hi byte */
++#define APDS990X_AIHTL	 0x06 /* ALS interrupt hi threshold low byte */
++#define APDS990X_AIHTH	 0x07 /* ALS interrupt hi threshold hi byte */
++#define APDS990X_PILTL	 0x08 /* Proximity interrupt low threshold low byte */
++#define APDS990X_PILTH	 0x09 /* Proximity interrupt low threshold hi byte */
++#define APDS990X_PIHTL	 0x0a /* Proximity interrupt hi threshold low byte */
++#define APDS990X_PIHTH	 0x0b /* Proximity interrupt hi threshold hi byte */
++#define APDS990X_PERS	 0x0c /* Interrupt persistence filters */
++#define APDS990X_CONFIG	 0x0d /* Configuration */
++#define APDS990X_PPCOUNT 0x0e /* Proximity pulse count */
++#define APDS990X_CONTROL 0x0f /* Gain control register */
++#define APDS990X_REV	 0x11 /* Revision Number */
++#define APDS990X_ID	 0x12 /* Device ID */
++#define APDS990X_STATUS	 0x13 /* Device status */
++#define APDS990X_CDATAL	 0x14 /* Clear ADC low data register */
++#define APDS990X_CDATAH	 0x15 /* Clear ADC high data register */
++#define APDS990X_IRDATAL 0x16 /* IR ADC low data register */
++#define APDS990X_IRDATAH 0x17 /* IR ADC high data register */
++#define APDS990X_PDATAL	 0x18 /* Proximity ADC low data register */
++#define APDS990X_PDATAH	 0x19 /* Proximity ADC high data register */
++
++/* Control */
++#define APDS990X_MAX_AGAIN	3
++
++/* Enable register */
++#define APDS990X_EN_PIEN	(0x1 << 5)
++#define APDS990X_EN_AIEN	(0x1 << 4)
++#define APDS990X_EN_WEN		(0x1 << 3)
++#define APDS990X_EN_PEN		(0x1 << 2)
++#define APDS990X_EN_AEN		(0x1 << 1)
++#define APDS990X_EN_PON		(0x1 << 0)
++#define APDS990X_EN_DISABLE_ALL 0
++
++/* Status register */
++#define APDS990X_ST_PINT	(0x1 << 5)
++#define APDS990X_ST_AINT	(0x1 << 4)
++
++/* I2C access types */
++#define APDS990x_CMD_TYPE_MASK	(0x03 << 5)
++#define APDS990x_CMD_TYPE_RB	(0x00 << 5) /* Repeated byte */
++#define APDS990x_CMD_TYPE_INC	(0x01 << 5) /* Auto increment */
++#define APDS990x_CMD_TYPE_SPE	(0x03 << 5) /* Special function */
++
++#define APDS990x_ADDR_SHIFT	0
++#define APDS990x_CMD		0x80
++
++/* Interrupt ack commands */
++#define APDS990X_INT_ACK_ALS	0x6
++#define APDS990X_INT_ACK_PS	0x5
++#define APDS990X_INT_ACK_BOTH	0x7
++
++/* ptime */
++#define APDS990X_PTIME_DEFAULT	0xff /* Recommended conversion time 2.7ms*/
++
++/* wtime */
++#define APDS990X_WTIME_DEFAULT	0xee /* ~50ms wait time */
++
++#define APDS990X_TIME_TO_ADC	1024 /* One timetick as ADC count value */
++
++/* Persistence */
++#define APDS990X_APERS_SHIFT	0
++#define APDS990X_PPERS_SHIFT	4
++
++/* Supported ID:s */
++#define APDS990X_ID_0		0x0
++#define APDS990X_ID_4		0x4
++#define APDS990X_ID_29		0x29
++
++/* pgain and pdiode settings */
++#define APDS_PGAIN_1X	       0x0
++#define APDS_PDIODE_IR	       0x2
++
++#define APDS990X_LUX_OUTPUT_SCALE 10
++
++/* Reverse chip factors for threshold calculation */
++struct reverse_factors {
++	u32 afactor;
++	int cf1;
++	int irf1;
++	int cf2;
++	int irf2;
++};
++
++struct apds990x_chip {
++	struct apds990x_platform_data	*pdata;
++	struct i2c_client		*client;
++	struct mutex			mutex; /* avoid parallel access */
++	struct regulator_bulk_data	regs[2];
++	wait_queue_head_t		wait;
++
++	int	prox_en;
++	bool	prox_continuous_mode;
++	bool	lux_wait_fresh_res;
++
++	/* Chip parameters */
++	struct	apds990x_chip_factors	cf;
++	struct	reverse_factors		rcf;
++	u16	atime;		/* als integration time */
(1240 more lines skipped)

++++++ series
--- series
+++ series
@@ -337,6 +337,8 @@
 linux-2.6.36-atmel-touch-backport.patch
 linux-2.6.36-atmel-use-factory-settings.patch
 linux-2.6.36-atmel-mrst-integration.patch
+linux-2.6.36-atmel-2.patch
+linux-2.6.36-atmel-3.patch
 
 linux-2.6.36-cyttsp-add-sTMA3406.patch
 linux-2.6.36-cyttsp-mrst-c.patch
@@ -354,11 +356,11 @@
 linux-2.6.36-apds9802ps-fix-runtime-pm.patch
 
 
-# does not compile
-#linux-2.6.37-APDS990X-backport.patch
-#linux-2.6.37-APDS990X-driver-name.patch
-#linux-2.6.37-APDS990X-resource-setup.patch
-#linux-2.6.37-APDS990X-mrst-c-part.patch
+linux-2.6.37-APDS990X-upstream.patch
+linux-2.6.37-APDS990X-backport.patch
+linux-2.6.37-APDS990X-driver-name.patch
+linux-2.6.37-APDS990X-resource-setup.patch
+linux-2.6.37-APDS990X-mrst-c-part.patch
 
 # if only life was so simple that patches that get submitted actually
 # compile.




More information about the MeeGo-commits mailing list