[meego-commits] 7665: Changes to Trunk/kernel
Peter Zhu
no_reply at build.meego.com
Tue Sep 21 15:00:58 UTC 2010
Hi,
I have made the following changes to kernel in project Trunk. Please review and accept ASAP.
Thank You,
Peter Zhu
[This message was auto-generated]
---
Request #7665:
submit: Trunk:Testing/kernel(r108) -> Trunk/kernel
Message:
Move to Trunk
State: new 2010-09-21T08:00:57 peter
Comment: None
changes files:
--------------
--- kernel.changes
+++ kernel.changes
@@ -0,0 +1,15 @@
+* Thu Sep 16 2010 Arjan van de Ven <arjan at linux.intel.com> - 2.6.35.3
+- disable various expensive debug kernel options (while leaving the
+ free/nearly free ones enabled)
+- Fix BMC #5214 (enable the ELANTECH touch pad config for EEEpc)
+- Fix BMC #6514 (support for firmware update on Aava)
+- Add support for the Aava camera
+- Fix ALS sensing range
+- Add runtime PM support to the MRST DMA driver
+- Fix the Max3110 IRQ polling (power issue)
+- cherry pick the security & other critical fixes from later -stable series
+
+* Fri Sep 03 2010 Ameya Palande <ameya.palande at nokia.com> - 2.6.35.3
+- N900: Updated omap3 camera driver
+- N900: Disable wall charger detection driver
+
old:
----
linux-2.6-omap3camera.patch
linux-2.6.35-ac-2010-08-03.patch
linux-2.6.35-ac-2010-08-04.patch
linux-2.6.35-ac-2010-08-09.patch
linux-2.6.35-ac-fixups.patch
linux-2.6.35-phylib-Support-phy-module-autoloading.patch
linux-2.6.35-rc6-arm-buildgoof.patch
linux-2.6.37-leds-Add-lp5523-led-driver.patch
new:
----
linux-2.6-omap3isp-rx51.patch
linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
linux-2.6.35-DMA-driver-Add-runtime-PM.patch
linux-2.6.35-Fix-loadfw.patch
linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
linux-2.6.35-lednames.patch
linux-2.6.35-mrst-i2c-power-fix.patch
linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
linux-2.6.35-stable-cherry-picks.patch
spec files:
-----------
--- kernel-ivi.spec
+++ kernel-ivi.spec
@@ -164,6 +164,7 @@
Patch1: patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -187,6 +188,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+Patch103: linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -214,6 +219,17 @@
Patch204: linux-2.6.35-aava-firmware-workaround-wifi.patch
Patch205: linux-2.6.35-make-gma600-work-on-IA.patch
Patch206: linux-2.6.35-mrst-rtc.patch
+Patch207: linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+Patch208: linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+Patch209: linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+Patch210: linux-2.6.35-Fix-loadfw.patch
+Patch211: linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+Patch212: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch213: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch214: linux-2.6.35-lednames.patch
+Patch215: linux-2.6.35-mrst-i2c-power-fix.patch
+Patch216: linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -252,11 +268,11 @@
# Cellular modem support
Patch310: linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-Patch311: linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
-Patch312: linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+Patch311: linux-2.6.37-EEM-support-for-g_nokia.patch
+# omap3isp-rx51 driver
+Patch312: linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
Patch313: linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -264,7 +280,7 @@
# usb charger platform device support
Patch315: linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-Patch316: linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
@@ -523,6 +539,7 @@
# patch-2.6.35.3.bz2
%patch1 -p1
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -550,6 +567,11 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+# linux-2.6.35-stable-cherry-picks.patch
+%patch103 -p1
#
# End of the Direct Backports section
@@ -584,6 +606,27 @@
%patch205 -p1
# linux-2.6.35-mrst-rtc.patch
%patch206 -p1
+# linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+%patch207 -p1
+# linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+%patch208 -p1
+# linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+%patch209 -p1
+# linux-2.6.35-Fix-loadfw.patch
+%patch210 -p1
+# linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+%patch211 -p1
+# linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+%patch212 -p1
+# linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+%patch213 -p1
+# linux-2.6.35-lednames.patch
+%patch214 -p1
+# linux-2.6.35-mrst-i2c-power-fix.patch
+%patch215 -p1
+# linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+%patch216 -p1
+
#
# End of the Moorsetown architecture patches
@@ -634,12 +677,12 @@
%patch310 -p1
# Fix wl1251 scanning while associated
# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
-%patch311 -p1
# Introduce EEM support in g_nokia which should fix usb networking
# linux-2.6.37-EEM-support-for-g_nokia.patch
+%patch311 -p1
+# omap3isp-rx51 driver
+# linux-2.6-omap3isp-rx51.patch
%patch312 -p1
-# omap3camera driver
-#linux-2.6-omap3camera.patch
# TI dspbridge driver
# linux-2.6.36-tidspbridge.patch
%patch313 -p1
@@ -651,7 +694,6 @@
%patch315 -p1
# isp1704 usb charger detection driver
# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
-%patch316 -p1
#
# End of the Nokia N900 patches
--- kernel-mrst.spec
+++ kernel-mrst.spec
@@ -165,6 +165,7 @@
Patch1: patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -188,6 +189,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+Patch103: linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -215,6 +220,17 @@
Patch204: linux-2.6.35-aava-firmware-workaround-wifi.patch
Patch205: linux-2.6.35-make-gma600-work-on-IA.patch
Patch206: linux-2.6.35-mrst-rtc.patch
+Patch207: linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+Patch208: linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+Patch209: linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+Patch210: linux-2.6.35-Fix-loadfw.patch
+Patch211: linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+Patch212: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch213: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch214: linux-2.6.35-lednames.patch
+Patch215: linux-2.6.35-mrst-i2c-power-fix.patch
+Patch216: linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -253,11 +269,11 @@
# Cellular modem support
Patch310: linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-Patch311: linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
-Patch312: linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+Patch311: linux-2.6.37-EEM-support-for-g_nokia.patch
+# omap3isp-rx51 driver
+Patch312: linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
Patch313: linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -265,7 +281,7 @@
# usb charger platform device support
Patch315: linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-Patch316: linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
@@ -524,6 +540,7 @@
# patch-2.6.35.3.bz2
%patch1 -p1
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -551,6 +568,11 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+# linux-2.6.35-stable-cherry-picks.patch
+%patch103 -p1
#
# End of the Direct Backports section
@@ -585,6 +607,27 @@
%patch205 -p1
# linux-2.6.35-mrst-rtc.patch
%patch206 -p1
+# linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+%patch207 -p1
+# linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+%patch208 -p1
+# linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+%patch209 -p1
+# linux-2.6.35-Fix-loadfw.patch
+%patch210 -p1
+# linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+%patch211 -p1
+# linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+%patch212 -p1
+# linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+%patch213 -p1
+# linux-2.6.35-lednames.patch
+%patch214 -p1
+# linux-2.6.35-mrst-i2c-power-fix.patch
+%patch215 -p1
+# linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+%patch216 -p1
+
#
# End of the Moorsetown architecture patches
@@ -635,12 +678,12 @@
%patch310 -p1
# Fix wl1251 scanning while associated
# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
-%patch311 -p1
# Introduce EEM support in g_nokia which should fix usb networking
# linux-2.6.37-EEM-support-for-g_nokia.patch
+%patch311 -p1
+# omap3isp-rx51 driver
+# linux-2.6-omap3isp-rx51.patch
%patch312 -p1
-# omap3camera driver
-#linux-2.6-omap3camera.patch
# TI dspbridge driver
# linux-2.6.36-tidspbridge.patch
%patch313 -p1
@@ -652,7 +695,6 @@
%patch315 -p1
# isp1704 usb charger detection driver
# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
-%patch316 -p1
#
# End of the Nokia N900 patches
--- kernel-n900.spec
+++ kernel-n900.spec
@@ -164,6 +164,7 @@
Patch1: patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -187,6 +188,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+Patch103: linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -214,6 +219,17 @@
Patch204: linux-2.6.35-aava-firmware-workaround-wifi.patch
Patch205: linux-2.6.35-make-gma600-work-on-IA.patch
Patch206: linux-2.6.35-mrst-rtc.patch
+Patch207: linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+Patch208: linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+Patch209: linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+Patch210: linux-2.6.35-Fix-loadfw.patch
+Patch211: linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+Patch212: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch213: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch214: linux-2.6.35-lednames.patch
+Patch215: linux-2.6.35-mrst-i2c-power-fix.patch
+Patch216: linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -252,11 +268,11 @@
# Cellular modem support
Patch310: linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-Patch311: linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
-Patch312: linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+Patch311: linux-2.6.37-EEM-support-for-g_nokia.patch
+# omap3isp-rx51 driver
+Patch312: linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
Patch313: linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -264,7 +280,7 @@
# usb charger platform device support
Patch315: linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-Patch316: linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
@@ -523,6 +539,7 @@
# patch-2.6.35.3.bz2
%patch1 -p1
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -550,6 +567,11 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+# linux-2.6.35-stable-cherry-picks.patch
+%patch103 -p1
#
# End of the Direct Backports section
@@ -584,6 +606,27 @@
%patch205 -p1
# linux-2.6.35-mrst-rtc.patch
%patch206 -p1
+# linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+%patch207 -p1
+# linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+%patch208 -p1
+# linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+%patch209 -p1
+# linux-2.6.35-Fix-loadfw.patch
+%patch210 -p1
+# linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+%patch211 -p1
+# linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+%patch212 -p1
+# linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+%patch213 -p1
+# linux-2.6.35-lednames.patch
+%patch214 -p1
+# linux-2.6.35-mrst-i2c-power-fix.patch
+%patch215 -p1
+# linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+%patch216 -p1
+
#
# End of the Moorsetown architecture patches
@@ -634,12 +677,12 @@
%patch310 -p1
# Fix wl1251 scanning while associated
# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
-%patch311 -p1
# Introduce EEM support in g_nokia which should fix usb networking
# linux-2.6.37-EEM-support-for-g_nokia.patch
+%patch311 -p1
+# omap3isp-rx51 driver
+# linux-2.6-omap3isp-rx51.patch
%patch312 -p1
-# omap3camera driver
-#linux-2.6-omap3camera.patch
# TI dspbridge driver
# linux-2.6.36-tidspbridge.patch
%patch313 -p1
@@ -651,7 +694,6 @@
%patch315 -p1
# isp1704 usb charger detection driver
# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
-%patch316 -p1
#
# End of the Nokia N900 patches
--- kernel-netbook.spec
+++ kernel-netbook.spec
@@ -164,6 +164,7 @@
Patch1: patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -187,6 +188,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+Patch103: linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -214,6 +219,17 @@
Patch204: linux-2.6.35-aava-firmware-workaround-wifi.patch
Patch205: linux-2.6.35-make-gma600-work-on-IA.patch
Patch206: linux-2.6.35-mrst-rtc.patch
+Patch207: linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+Patch208: linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+Patch209: linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+Patch210: linux-2.6.35-Fix-loadfw.patch
+Patch211: linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+Patch212: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch213: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch214: linux-2.6.35-lednames.patch
+Patch215: linux-2.6.35-mrst-i2c-power-fix.patch
+Patch216: linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -252,11 +268,11 @@
# Cellular modem support
Patch310: linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-Patch311: linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
-Patch312: linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+Patch311: linux-2.6.37-EEM-support-for-g_nokia.patch
+# omap3isp-rx51 driver
+Patch312: linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
Patch313: linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -264,7 +280,7 @@
# usb charger platform device support
Patch315: linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-Patch316: linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
@@ -523,6 +539,7 @@
# patch-2.6.35.3.bz2
%patch1 -p1
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -550,6 +567,11 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+# linux-2.6.35-stable-cherry-picks.patch
+%patch103 -p1
#
# End of the Direct Backports section
@@ -584,6 +606,27 @@
%patch205 -p1
# linux-2.6.35-mrst-rtc.patch
%patch206 -p1
+# linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+%patch207 -p1
+# linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+%patch208 -p1
+# linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+%patch209 -p1
+# linux-2.6.35-Fix-loadfw.patch
+%patch210 -p1
+# linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+%patch211 -p1
+# linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+%patch212 -p1
+# linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+%patch213 -p1
+# linux-2.6.35-lednames.patch
+%patch214 -p1
+# linux-2.6.35-mrst-i2c-power-fix.patch
+%patch215 -p1
+# linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+%patch216 -p1
+
#
# End of the Moorsetown architecture patches
@@ -634,12 +677,12 @@
%patch310 -p1
# Fix wl1251 scanning while associated
# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
-%patch311 -p1
# Introduce EEM support in g_nokia which should fix usb networking
# linux-2.6.37-EEM-support-for-g_nokia.patch
+%patch311 -p1
+# omap3isp-rx51 driver
+# linux-2.6-omap3isp-rx51.patch
%patch312 -p1
-# omap3camera driver
-#linux-2.6-omap3camera.patch
# TI dspbridge driver
# linux-2.6.36-tidspbridge.patch
%patch313 -p1
@@ -651,7 +694,6 @@
%patch315 -p1
# isp1704 usb charger detection driver
# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
-%patch316 -p1
#
# End of the Nokia N900 patches
--- kernel.spec
+++ kernel.spec
@@ -176,6 +176,7 @@
Patch1: patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -199,6 +200,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+Patch103: linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -226,6 +231,17 @@
Patch204: linux-2.6.35-aava-firmware-workaround-wifi.patch
Patch205: linux-2.6.35-make-gma600-work-on-IA.patch
Patch206: linux-2.6.35-mrst-rtc.patch
+Patch207: linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+Patch208: linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+Patch209: linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+Patch210: linux-2.6.35-Fix-loadfw.patch
+Patch211: linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+Patch212: linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+Patch213: linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+Patch214: linux-2.6.35-lednames.patch
+Patch215: linux-2.6.35-mrst-i2c-power-fix.patch
+Patch216: linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -264,11 +280,11 @@
# Cellular modem support
Patch310: linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-Patch311: linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
-Patch312: linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+Patch311: linux-2.6.37-EEM-support-for-g_nokia.patch
+# omap3isp-rx51 driver
+Patch312: linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
Patch313: linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -276,7 +292,7 @@
# usb charger platform device support
Patch315: linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-Patch316: linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
@@ -565,6 +581,7 @@
# patch-2.6.35.3.bz2
%patch1 -p1
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -592,6 +609,11 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+# linux-2.6.35-stable-cherry-picks.patch
+%patch103 -p1
#
# End of the Direct Backports section
@@ -626,6 +648,27 @@
%patch205 -p1
# linux-2.6.35-mrst-rtc.patch
%patch206 -p1
+# linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+%patch207 -p1
+# linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+%patch208 -p1
+# linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+%patch209 -p1
+# linux-2.6.35-Fix-loadfw.patch
+%patch210 -p1
+# linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+%patch211 -p1
+# linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+%patch212 -p1
+# linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+%patch213 -p1
+# linux-2.6.35-lednames.patch
+%patch214 -p1
+# linux-2.6.35-mrst-i2c-power-fix.patch
+%patch215 -p1
+# linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+%patch216 -p1
+
#
# End of the Moorsetown architecture patches
@@ -676,12 +719,12 @@
%patch310 -p1
# Fix wl1251 scanning while associated
# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
-%patch311 -p1
# Introduce EEM support in g_nokia which should fix usb networking
# linux-2.6.37-EEM-support-for-g_nokia.patch
+%patch311 -p1
+# omap3isp-rx51 driver
+# linux-2.6-omap3isp-rx51.patch
%patch312 -p1
-# omap3camera driver
-#linux-2.6-omap3camera.patch
# TI dspbridge driver
# linux-2.6.36-tidspbridge.patch
%patch313 -p1
@@ -693,7 +736,6 @@
%patch315 -p1
# isp1704 usb charger detection driver
# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
-%patch316 -p1
#
# End of the Nokia N900 patches
other changes:
--------------
++++++ config-arm-n900
--- config-arm-n900
+++ config-arm-n900
@@ -486,6 +486,7 @@
# CONFIG_VIDEO_UPD64083 is not set
# CONFIG_V4L_USB_DRIVERS is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_VIDEO_OMAP3_DEBUG is not set
CONFIG_LEDS_CLASS=m
# CONFIG_LEDS_REGULATOR is not set
++++++ config-generic
--- config-generic
+++ config-generic
@@ -2650,21 +2650,21 @@
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
-CONFIG_DEBUG_SLAB=y
+# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
-CONFIG_PROVE_LOCKING=y
-CONFIG_PROVE_RCU=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RCU is not set
# CONFIG_DEBUG_LOCKDEP is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_HIGHMEM=y
+# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
@@ -2970,7 +2970,7 @@
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_32_NON_STANDARD is not set
# CONFIG_X86_CPU_DEBUG is not set
-# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CC_STACKPROTECTOR=y
# CONFIG_DMAR is not set
# CONFIG_PCI_IOV is not set
# CONFIG_NETFILTER_XT_TARGET_LED is not set
@@ -3548,4 +3548,4 @@
# CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT is not set
# CONFIG_SENSORS_THERMAL_MFLD is not set
# CONFIG_MDFLD_DSI_DPU is not set
-
+# CONFIG_VIDEO_MRST_APTINA_A5140SOC is not set
++++++ config-mrst
--- config-mrst
+++ config-mrst
@@ -21,7 +21,6 @@
# CONFIG_MEDIA_ATTACH is not set
CONFIG_USB_OTG=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_SELECTED=y
@@ -182,7 +181,10 @@
CONFIG_ISL29015=y
CONFIG_BH1770GLC=y
CONFIG_KEYBOARD_TC35894XBG=y
-# CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT is not set
+CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT=y
CONFIG_SENSORS_THERMAL_MFLD=y
CONFIG_MDFLD_DSI_DPU=y
+# CONFIG_GPIO_PCA953X is not set
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_VIDEO_MRST_APTINA_A5140SOC=y
++++++ config-netbook
--- config-netbook
+++ config-netbook
@@ -78,3 +78,5 @@
CONFIG_DRM_MRST=m
# CONFIG_DRM_MDFLD is not set
CONFIG_INPUT_MTDEV=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_SENSORS_CORETEMP=y
++++++ linux-2.6-omap3isp-rx51.patch (new)
--- linux-2.6-omap3isp-rx51.patch
+++ linux-2.6-omap3isp-rx51.patch
+From 1a96dc43fd0e1dac3fb95ae110a1cd0b0df60a5c Mon Sep 17 00:00:00 2001
+From: Sakari Ailus <sakari.ailus at nokia.com>
+Date: Fri, 31 Oct 2008 10:20:45 +0200
+Subject: [PATCH] omap3isp-rx51 driver
+
+Top commit from git://gitorious.org/maemo-multimedia/omap3isp-rx51.git
+
+rx51: Select VIDEO_MACH_RX51 in MACH_NOKIA_RX51
+
+Commit b2513bdc065358e9a74f170b8554540850d65bf8 ("rx51: Fix Kconfig
+breakage for camera") moved the RX51 video Kconfig option to the IGEP v2
+board instead of the RX51 board. Fix it.
+
+Signed-off-by: Ameya Palande <ameya.palande at nokia.com>
+---
+ Documentation/video4linux/v4l2-framework.txt | 62 +
+ arch/arm/mach-omap2/Kconfig | 10 +
+ arch/arm/mach-omap2/Makefile | 1 +
+ arch/arm/mach-omap2/board-rx51-camera.c | 640 +++++++
+ arch/arm/mach-omap2/board-rx51-peripherals.c | 10 +
+ arch/arm/mach-omap2/devices.c | 46 +-
+ arch/arm/mach-omap2/devices.h | 17 +
+ arch/arm/plat-omap/include/mach/isp_user.h | 639 +++++++
+ arch/arm/plat-omap/include/plat/omap34xx.h | 16 +-
+ arch/arm/plat-omap/iovmm.c | 46 +-
+ arch/arm/plat-omap/omap-pm-noop.c | 2 +-
+ drivers/media/Makefile | 8 +-
+ drivers/media/media-device.c | 330 ++++
+ drivers/media/media-devnode.c | 480 ++++++
+ drivers/media/media-entity.c | 685 ++++++++
+ drivers/media/video/Kconfig | 54 +
+ drivers/media/video/Makefile | 11 +-
+ drivers/media/video/ad5820.c | 485 ++++++
+ drivers/media/video/adp1653.c | 567 +++++++
+ drivers/media/video/et8ek8.c | 1082 ++++++++++++
+ drivers/media/video/et8ek8.h | 79 +
+ drivers/media/video/isp/Makefile | 13 +
+ drivers/media/video/isp/bluegamma_table.h | 1040 ++++++++++++
+ drivers/media/video/isp/cfa_coef_table.h | 603 +++++++
+ drivers/media/video/isp/greengamma_table.h | 1040 ++++++++++++
+ drivers/media/video/isp/isp.c | 1840 +++++++++++++++++++++
+ drivers/media/video/isp/isp.h | 393 +++++
+ drivers/media/video/isp/ispccdc.c | 2292 +++++++++++++++++++++++++
+ drivers/media/video/isp/ispccdc.h | 189 +++
+ drivers/media/video/isp/ispccp2.c | 1127 +++++++++++++
+ drivers/media/video/isp/ispccp2.h | 89 +
+ drivers/media/video/isp/ispcsi2.c | 1232 ++++++++++++++
+ drivers/media/video/isp/ispcsi2.h | 157 ++
+ drivers/media/video/isp/ispcsiphy.c | 245 +++
+ drivers/media/video/isp/ispcsiphy.h | 72 +
+ drivers/media/video/isp/isph3a.h | 111 ++
+ drivers/media/video/isp/isph3a_aewb.c | 351 ++++
+ drivers/media/video/isp/isph3a_af.c | 396 +++++
+ drivers/media/video/isp/isphist.c | 508 ++++++
+ drivers/media/video/isp/isphist.h | 34 +
+ drivers/media/video/isp/isppreview.c | 2295 ++++++++++++++++++++++++++
+ drivers/media/video/isp/isppreview.h | 257 +++
+ drivers/media/video/isp/ispqueue.c | 1077 ++++++++++++
+ drivers/media/video/isp/ispqueue.h | 175 ++
+ drivers/media/video/isp/ispreg.h | 1803 ++++++++++++++++++++
+ drivers/media/video/isp/ispresizer.c | 1732 +++++++++++++++++++
+ drivers/media/video/isp/ispresizer.h | 137 ++
+ drivers/media/video/isp/ispstat.c | 1036 ++++++++++++
+ drivers/media/video/isp/ispstat.h | 163 ++
+ drivers/media/video/isp/ispvideo.c | 1150 +++++++++++++
+ drivers/media/video/isp/ispvideo.h | 144 ++
+ drivers/media/video/isp/luma_enhance_table.h | 144 ++
+ drivers/media/video/isp/noise_filter_table.h | 79 +
+ drivers/media/video/isp/redgamma_table.h | 1040 ++++++++++++
+ drivers/media/video/mt9m001.c | 26 +-
+ drivers/media/video/mt9m111.c | 20 +-
+ drivers/media/video/mt9t031.c | 24 +-
+ drivers/media/video/mt9t112.c | 14 +-
+ drivers/media/video/mt9v022.c | 26 +-
+ drivers/media/video/ov772x.c | 18 +-
+ drivers/media/video/ov9640.c | 12 +-
+ drivers/media/video/rj54n1cb0c.c | 26 +-
+ drivers/media/video/smia-sensor.c | 942 +++++++++++
+ drivers/media/video/smia-sensor.h | 39 +
+ drivers/media/video/smiaregs.c | 734 ++++++++
+ drivers/media/video/soc_camera.c | 2 +-
+ drivers/media/video/soc_mediabus.c | 2 +-
+ drivers/media/video/tw9910.c | 20 +-
+ drivers/media/video/v4l2-common.c | 17 +-
+ drivers/media/video/v4l2-dev.c | 62 +-
+ drivers/media/video/v4l2-device.c | 63 +-
+ drivers/media/video/v4l2-int-device.c | 31 +-
+ drivers/media/video/v4l2-subdev.c | 323 ++++
+ include/linux/Kbuild | 3 +
+ include/linux/i2c/twl.h | 10 +
+ include/linux/media.h | 77 +
+ include/linux/v4l2-mediabus.h | 96 ++
+ include/linux/v4l2-subdev.h | 104 ++
+ include/linux/videodev2.h | 33 +
+ include/media/ad5820.h | 63 +
+ include/media/adp1653.h | 87 +
+ include/media/media-device.h | 74 +
+ include/media/media-devnode.h | 97 ++
+ include/media/media-entity.h | 112 ++
+ include/media/smiaregs.h | 155 ++
+ include/media/soc_mediabus.h | 3 +-
+ include/media/v4l2-chip-ident.h | 12 +
+ include/media/v4l2-common.h | 25 +-
+ include/media/v4l2-dev.h | 24 +-
+ include/media/v4l2-device.h | 2 +
+ include/media/v4l2-int-device.h | 8 +-
+ include/media/v4l2-mediabus.h | 82 -
+ include/media/v4l2-subdev.h | 114 ++-
+ 93 files changed, 31541 insertions(+), 275 deletions(-)
+ create mode 100644 arch/arm/mach-omap2/board-rx51-camera.c
+ create mode 100644 arch/arm/mach-omap2/devices.h
+ create mode 100644 arch/arm/plat-omap/include/mach/isp_user.h
+ create mode 100644 drivers/media/media-device.c
+ create mode 100644 drivers/media/media-devnode.c
+ create mode 100644 drivers/media/media-entity.c
+ create mode 100644 drivers/media/video/ad5820.c
+ create mode 100644 drivers/media/video/adp1653.c
+ create mode 100644 drivers/media/video/et8ek8.c
+ create mode 100644 drivers/media/video/et8ek8.h
+ create mode 100644 drivers/media/video/isp/Makefile
+ create mode 100644 drivers/media/video/isp/bluegamma_table.h
+ create mode 100644 drivers/media/video/isp/cfa_coef_table.h
+ create mode 100644 drivers/media/video/isp/greengamma_table.h
+ create mode 100644 drivers/media/video/isp/isp.c
+ create mode 100644 drivers/media/video/isp/isp.h
+ create mode 100644 drivers/media/video/isp/ispccdc.c
+ create mode 100644 drivers/media/video/isp/ispccdc.h
+ create mode 100644 drivers/media/video/isp/ispccp2.c
+ create mode 100644 drivers/media/video/isp/ispccp2.h
+ create mode 100644 drivers/media/video/isp/ispcsi2.c
+ create mode 100644 drivers/media/video/isp/ispcsi2.h
+ create mode 100644 drivers/media/video/isp/ispcsiphy.c
+ create mode 100644 drivers/media/video/isp/ispcsiphy.h
+ create mode 100644 drivers/media/video/isp/isph3a.h
+ create mode 100644 drivers/media/video/isp/isph3a_aewb.c
+ create mode 100644 drivers/media/video/isp/isph3a_af.c
+ create mode 100644 drivers/media/video/isp/isphist.c
+ create mode 100644 drivers/media/video/isp/isphist.h
+ create mode 100644 drivers/media/video/isp/isppreview.c
+ create mode 100644 drivers/media/video/isp/isppreview.h
+ create mode 100644 drivers/media/video/isp/ispqueue.c
+ create mode 100644 drivers/media/video/isp/ispqueue.h
+ create mode 100644 drivers/media/video/isp/ispreg.h
+ create mode 100644 drivers/media/video/isp/ispresizer.c
+ create mode 100644 drivers/media/video/isp/ispresizer.h
+ create mode 100644 drivers/media/video/isp/ispstat.c
+ create mode 100644 drivers/media/video/isp/ispstat.h
+ create mode 100644 drivers/media/video/isp/ispvideo.c
+ create mode 100644 drivers/media/video/isp/ispvideo.h
+ create mode 100644 drivers/media/video/isp/luma_enhance_table.h
+ create mode 100644 drivers/media/video/isp/noise_filter_table.h
+ create mode 100644 drivers/media/video/isp/redgamma_table.h
+ create mode 100644 drivers/media/video/smia-sensor.c
+ create mode 100644 drivers/media/video/smia-sensor.h
+ create mode 100644 drivers/media/video/smiaregs.c
+ create mode 100644 drivers/media/video/v4l2-subdev.c
+ create mode 100644 include/linux/media.h
+ create mode 100644 include/linux/v4l2-mediabus.h
+ create mode 100644 include/linux/v4l2-subdev.h
+ create mode 100644 include/media/ad5820.h
+ create mode 100644 include/media/adp1653.h
+ create mode 100644 include/media/media-device.h
+ create mode 100644 include/media/media-devnode.h
+ create mode 100644 include/media/media-entity.h
+ create mode 100644 include/media/smiaregs.h
+ delete mode 100644 include/media/v4l2-mediabus.h
+
+diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt
+index e831aac..dbcc619 100644
+--- a/Documentation/video4linux/v4l2-framework.txt
++++ b/Documentation/video4linux/v4l2-framework.txt
+@@ -192,6 +192,11 @@ You also need a way to go from the low-level struct to v4l2_subdev. For the
+ common i2c_client struct the i2c_set_clientdata() call is used to store a
+ v4l2_subdev pointer, for other busses you may have to use other methods.
+
++Bridges might also need to store per-subdev private data, such as a pointer to
++bridge-specific per-subdev private data. The v4l2_subdev structure provides
++host private data for that purpose that can be accessed with
++v4l2_get_subdev_hostdata() and v4l2_set_subdev_hostdata().
++
+ From the bridge driver perspective you load the sub-device module and somehow
+ obtain the v4l2_subdev pointer. For i2c devices this is easy: you call
+ i2c_get_clientdata(). For other busses something similar needs to be done.
+@@ -314,6 +319,63 @@ controlled through GPIO pins. This distinction is only relevant when setting
+ up the device, but once the subdev is registered it is completely transparent.
+
+
++V4L2 sub-device userspace API
++-----------------------------
++
++Beside exposing a kernel API through the v4l2_subdev_ops structure, V4L2
++sub-devices can also be controlled directly by userspace applications.
++
++When a sub-device is registered, a device node named v4l-subdevX can be created
++in /dev. If the sub-device supports direct userspace configuration it must set
++the V4L2_SUBDEV_FL_HAS_DEVNODE flag before being registered.
++
++For I2C and SPI sub-devices, the v4l2_device driver can disable registration of
(33583 more lines skipped)
++++++ linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch (new)
--- linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+++ linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+From 8b550fd1f585b87079f602d5b146263ab495a4d4 Mon Sep 17 00:00:00 2001
+From: jianwei.yang <jianwei.yang at intel.com>
+Date: Wed, 15 Sep 2010 16:40:47 +0100
+Subject: [PATCH] Add MIP header update when FW is upgraded
+
+The MIP header will also be updated when FW is upgraded through loadfw
+
+Signed-off-by: jianwei.yang <jianwei.yang at intel.com>
+---
+ drivers/platform/x86/intel_scu_ipc.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c
+index 153a56e..4b22f11 100644
+--- a/drivers/platform/x86/intel_scu_ipc.c
++++ b/drivers/platform/x86/intel_scu_ipc.c
+@@ -510,7 +510,7 @@ EXPORT_SYMBOL(intel_scu_ipc_i2c_cntrl);
+ /* IPC inform SCU to get ready for update process */
+ #define IPC_CMD_FW_UPDATE_READY 0x10FE
+ /* IPC inform SCU to go for update process */
+-#define IPC_CMD_FW_UPDATE_GO 0x20FE
++#define IPC_CMD_FW_UPDATE_GO_MHUPD 0x2030FE
+ /* Status code for fw update */
+ #define IPC_FW_UPDATE_SUCCESS 0x444f4e45 /* Status code 'DONE' */
+ #define IPC_FW_UPDATE_BADN 0x4241444E /* Status code 'BADN' */
+@@ -569,7 +569,7 @@ int intel_scu_ipc_fw_update(u8 *buffer, u32 length)
+ * SCU will write a status code into the Mailbox, and then set scu_flag.
+ */
+
+- ipc_command(IPC_CMD_FW_UPDATE_GO);
++ ipc_command(IPC_CMD_FW_UPDATE_GO_MHUPD);
+
+ /*Driver stalls until scu_flag is set */
+ while (readl(&mailbox->scu_flag) != 1) {
+--
+1.6.1.3
+
++++++ linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch (new)
--- linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+++ linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+From 893c678aea0effb42319083b3cd723b5b3ee718a Mon Sep 17 00:00:00 2001
+From: ji yang <ji.yang at intel.com>
+Date: Wed, 15 Sep 2010 16:40:50 +0100
+Subject: [PATCH] Bug fix for camera flash IC not found
+
+Signed-off-by: ji yang <ji.yang at intel.com>
+---
+ drivers/staging/mrstci/mrstflash/mrstflash.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/staging/mrstci/mrstflash/mrstflash.c b/drivers/staging/mrstci/mrstflash/mrstflash.c
+index ad3b2cb..7ee2e08 100644
+--- a/drivers/staging/mrstci/mrstflash/mrstflash.c
++++ b/drivers/staging/mrstci/mrstflash/mrstflash.c
+@@ -79,7 +79,8 @@ static int flash_detect(struct i2c_client *client)
+
+ if ((adapter->nr != 1) && (mrst_platform_id() == MRST_PLATFORM_AAVA_SC))
+ return -ENODEV;
+- else if (adapter->nr != 0)
++ else if ((adapter->nr != 0) &&
++ (mrst_platform_id() != MRST_PLATFORM_AAVA_SC))
+ return -ENODEV;
+
+ if (mrst_platform_id() == MRST_PLATFORM_AAVA_SC) {
+--
+1.6.1.3
+
++++++ linux-2.6.35-DMA-driver-Add-runtime-PM.patch (new)
--- linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+++ linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+From ffc6218aa0df72093b34ef074d7fa83820372267 Mon Sep 17 00:00:00 2001
+From: Vinod Koul <vinod.koul at intel.com>
+Date: Wed, 15 Sep 2010 16:40:37 +0100
+Subject: [PATCH] DMA driver: Add runtime PM
+
+This patch adds runtime support for 4 PCI Controllers
+it also adds the PCI suspend and resume support
+
+Signed-off-by: Vinod Koul <vinod.koul at intel.com>
+---
+ drivers/dma/intel_mid_dma.c | 125 +++++++++++++++++++++++++++++++++++--
+ drivers/dma/intel_mid_dma_regs.h | 14 ++++-
+ 2 files changed, 131 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/dma/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c
+index 7d33da1..78ddf4a 100644
+--- a/drivers/dma/intel_mid_dma.c
++++ b/drivers/dma/intel_mid_dma.c
+@@ -25,6 +25,7 @@
+ */
+ #include <linux/pci.h>
+ #include <linux/interrupt.h>
++#include <linux/pm_runtime.h>
+ #include <linux/intel_mid_dma.h>
+
+ #define MAX_CHAN 4 /*max ch across controllers*/
+@@ -247,13 +248,13 @@ static void midc_dostart(struct intel_mid_dma_chan *midc,
+ struct middma_device *mid = to_middma_device(midc->chan.device);
+
+ /* channel is idle */
+- if (midc->in_use && test_ch_en(midc->dma_base, midc->ch_id)) {
++ if (midc->busy && test_ch_en(midc->dma_base, midc->ch_id)) {
+ /*error*/
+ pr_err("ERR_MDMA: channel is busy in start\n");
+ /* The tasklet will hopefully advance the queue... */
+ return;
+ }
+-
++ midc->busy = true;
+ /*write registers and en*/
+ iowrite32(first->sar, midc->ch_regs + SAR);
+ iowrite32(first->dar, midc->ch_regs + DAR);
+@@ -290,7 +291,7 @@ static void midc_descriptor_complete(struct intel_mid_dma_chan *midc,
+ param_txd = txd->callback_param;
+
+ list_move(&desc->desc_node, &midc->free_list);
+-
++ midc->busy = false;
+ spin_unlock_bh(&midc->lock);
+ if (callback_txd) {
+ pr_debug("MDMA: TXD callback set ... calling\n");
+@@ -434,7 +435,7 @@ static int intel_mid_dma_device_control(struct dma_chan *chan,
+ return -ENXIO;
+
+ spin_lock_bh(&midc->lock);
+- if (midc->in_use == false) {
++ if (midc->busy == false) {
+ spin_unlock_bh(&midc->lock);
+ return 0;
+ }
+@@ -618,11 +619,11 @@ static void intel_mid_dma_free_chan_resources(struct dma_chan *chan)
+ struct middma_device *mid = to_middma_device(chan->device);
+ struct intel_mid_dma_desc *desc, *_desc;
+
+- if (true == midc->in_use) {
++ if (true == midc->busy) {
+ /*trying to free ch in use!!!!!*/
+ pr_err("ERR_MDMA: trying to free ch in use\n");
+ }
+-
++ pm_runtime_put(&mid->pdev->dev);
+ spin_lock_bh(&midc->lock);
+ midc->descs_allocated = 0;
+ list_for_each_entry_safe(desc, _desc, &midc->active_list, desc_node) {
+@@ -639,6 +640,7 @@ static void intel_mid_dma_free_chan_resources(struct dma_chan *chan)
+ }
+ spin_unlock_bh(&midc->lock);
+ midc->in_use = false;
++ midc->busy = false;
+ /* Disable CH interrupts */
+ iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_BLOCK);
+ iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_ERR);
+@@ -659,11 +661,20 @@ static int intel_mid_dma_alloc_chan_resources(struct dma_chan *chan)
+ dma_addr_t phys;
+ int i = 0;
+
++ pm_runtime_get_sync(&mid->pdev->dev);
++
++ if (mid->state == SUSPENDED) {
++ if (dma_resume(mid->pdev)) {
++ pr_err("ERR_MDMA: resume failed");
++ return -EFAULT;
++ }
++ }
+
+ /* ASSERT: channel is idle */
+ if (test_ch_en(mid->dma_base, midc->ch_id)) {
+ /*ch is not idle*/
+ pr_err("ERR_MDMA: ch not idle\n");
++ pm_runtime_put(&mid->pdev->dev);
+ return -EIO;
+ }
+ midc->completed = chan->cookie = 1;
+@@ -674,6 +685,7 @@ static int intel_mid_dma_alloc_chan_resources(struct dma_chan *chan)
+ desc = pci_pool_alloc(mid->dma_pool, GFP_KERNEL, &phys);
+ if (!desc) {
+ pr_err("ERR_MDMA: desc failed\n");
++ pm_runtime_put(&mid->pdev->dev);
+ return -ENOMEM;
+ /*check*/
+ }
+@@ -686,7 +698,8 @@ static int intel_mid_dma_alloc_chan_resources(struct dma_chan *chan)
+ list_add_tail(&desc->desc_node, &midc->free_list);
+ }
+ spin_unlock_bh(&midc->lock);
+- midc->in_use = false;
++ midc->in_use = true;
++ midc->busy = false;
+ pr_debug("MID_DMA: Desc alloc done ret: %d desc\n", i);
+ return i;
+ }
+@@ -884,6 +897,7 @@ static int mid_setup_dma(struct pci_dev *pdev)
+ pr_debug("MDMA:Adding %d channel for this controller\n", dma->max_chan);
+ /*init CH structures*/
+ dma->intr_mask = 0;
++ dma->state = RUNNING;
+ for (i = 0; i < dma->max_chan; i++) {
+ struct intel_mid_dma_chan *midch = &dma->ch[i];
+
+@@ -1070,6 +1084,8 @@ static int __devinit intel_mid_dma_probe(struct pci_dev *pdev,
+ if (err)
+ goto err_dma;
+
++ pm_runtime_set_active(&pdev->dev);
++ pm_runtime_enable(&pdev->dev);
+ return 0;
+
+ err_dma:
+@@ -1104,6 +1120,88 @@ static void __devexit intel_mid_dma_remove(struct pci_dev *pdev)
+ pci_disable_device(pdev);
+ }
+
++/* Power Management */
++/*
++* dma_suspend - PCI suspend function
++*
++* @pci: PCI device structure
++* @state: PM message
++*
++* This function is called by OS when a power event occurs
++*/
++int dma_suspend(struct pci_dev *pci, pm_message_t state)
++{
++ int i;
++ struct middma_device *device = pci_get_drvdata(pci);
++ pr_debug("MDMA: dma_suspend called\n");
++
++ for (i = 0; i < device->max_chan; i++) {
++ if (device->ch[i].in_use)
++ return -EAGAIN;
++ }
++ device->state = SUSPENDED;
++ pci_set_drvdata(pci, device);
++ pci_save_state(pci);
++ pci_disable_device(pci);
++ pci_set_power_state(pci, PCI_D3hot);
++ return 0;
++}
++
++/**
++* dma_resume - PCI resume function
++*
++* @pci: PCI device structure
++*
++* This function is called by OS when a power event occurs
++*/
++int dma_resume(struct pci_dev *pci)
++{
++ int ret;
++ struct middma_device *device = pci_get_drvdata(pci);
++
++ pr_debug("MDMA: dma_resume called\n");
++ pci_set_power_state(pci, PCI_D0);
++ pci_restore_state(pci);
++ ret = pci_enable_device(pci);
++ if (ret) {
++ pr_err("MDMA: device cant be enabled for %x\n", pci->device);
++ return ret;
++ }
++ device->state = RUNNING;
++ iowrite32(REG_BIT0, device->dma_base + DMA_CFG);
++ pci_set_drvdata(pci, device);
++ return 0;
++}
++
++static int dma_runtime_suspend(struct device *dev)
++{
++ struct pci_dev *pci_dev = to_pci_dev(dev);
(129 more lines skipped)
++++++ linux-2.6.35-Fix-loadfw.patch (new)
--- linux-2.6.35-Fix-loadfw.patch
+++ linux-2.6.35-Fix-loadfw.patch
+From cde040bbab26cb4d2d257170cf4ce4ee1d1b03b3 Mon Sep 17 00:00:00 2001
+From: jianwei.yang <jianwei.yang at intel.com>
+Date: Wed, 15 Sep 2010 16:40:47 +0100
+Subject: [PATCH] Fix loadfw
+
+Bug fix for upgrading fw through loadfw. Loadfw is a tool to upgrade firmware
+for close units(e.g. AAVA SC)
+
+Signed-off-by: jianwei.yang <jianwei.yang at intel.com>
+---
+ drivers/platform/x86/intel_scu_ipcutil.c | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/platform/x86/intel_scu_ipcutil.c b/drivers/platform/x86/intel_scu_ipcutil.c
+index e8f2e7b..0e9520b 100644
+--- a/drivers/platform/x86/intel_scu_ipcutil.c
++++ b/drivers/platform/x86/intel_scu_ipcutil.c
+@@ -31,7 +31,7 @@ static u32 major;
+ #define INTE_SCU_IPC_REGISTER_READ 0
+ #define INTE_SCU_IPC_REGISTER_WRITE 1
+ #define INTE_SCU_IPC_REGISTER_UPDATE 2
+-#define INTE_SCU_IPC_FW_UPDATE 0xA2
++#define INTE_SCU_IPC_FW_UPDATE 0xA2
+
+ struct scu_ipc_data {
+ u32 count; /* No. of registers */
+@@ -72,9 +72,6 @@ static long scu_ipc_ioctl(struct file *fp, unsigned int cmd,
+ struct scu_ipc_data data;
+ void __user *argp = (void __user *)arg;
+
+- ret = copy_from_user(&data, argp, sizeof(struct scu_ipc_data));
+- if (data.count == 0 || data.count > 4 || data.count == 3)
+- return -EINVAL;
+
+ if (cmd == INTE_SCU_IPC_FW_UPDATE) {
+ u8 *fwbuf = NULL ;
+@@ -85,6 +82,9 @@ static long scu_ipc_ioctl(struct file *fp, unsigned int cmd,
+ ret = copy_from_user(fwbuf, (u8 *)arg, MAX_FW_SIZE);
+ return intel_scu_ipc_fw_update(fwbuf, MAX_FW_SIZE);
+ } else {
++ ret = copy_from_user(&data, argp, sizeof(struct scu_ipc_data));
++ if (data.count == 0 || data.count > 4 || data.count == 3)
++ return -EINVAL;
+ power_cntrl_reg_access(cmd, &data);
+ ret = copy_to_user(argp, &data, sizeof(struct scu_ipc_data));
+ }
+--
+1.6.1.3
+
++++++ linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch (new)
--- linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+++ linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+From e4805f25637718d0f21caa313a5b1b7b1d824d62 Mon Sep 17 00:00:00 2001
+From: gavin yang <ji.yang at intel.com>
+Date: Wed, 15 Sep 2010 16:40:46 +0100
+Subject: [PATCH] Subject: [Moblin-kernel] [MeeGo AC Tree]CI: add support for aptina5140soc sensor in AAVA SC
+
+1. Add the support for different number of MIPI lanes.
+2. Make one unified ISP driver to support both DV2 and DV1, Remove the bug caused by scheduling under the protection of spinlock.
+3. Add the aptina5140soc sensor driver code.
+4. To enable aptina5140soc, please add "CONFIG_VIDEO_MRST_APTINA_A5140SOC=y" in .config file.
+
+Signed-off-by: gavin yang <ji.yang at intel.com>
+---
+ drivers/staging/mrstci/Kconfig | 2 +-
+ drivers/staging/mrstci/Makefile | 1 +
+ drivers/staging/mrstci/include/ci_sensor_common.h | 1 +
+ drivers/staging/mrstci/mrstaptina5140soc/Kconfig | 9 +
+ drivers/staging/mrstci/mrstaptina5140soc/Makefile | 3 +
+ .../mrstci/mrstaptina5140soc/mrstaptina5140soc.c | 1483 ++++++++++++++++++++
+ .../mrstci/mrstaptina5140soc/mrstaptina5140soc.h | 848 +++++++++++
+ drivers/staging/mrstci/mrstisp/include/mrstisp.h | 4 +
+ .../staging/mrstci/mrstisp/include/mrstisp_hw.h | 2 +-
+ drivers/staging/mrstci/mrstisp/mrstisp_dp.c | 2 +-
+ drivers/staging/mrstci/mrstisp/mrstisp_hw.c | 17 +-
+ drivers/staging/mrstci/mrstisp/mrstisp_isp.c | 30 +-
+ drivers/staging/mrstci/mrstisp/mrstisp_main.c | 28 +-
+ drivers/staging/mrstci/mrsts5k4e1/mrsts5k4e1.c | 1 +
+ 14 files changed, 2420 insertions(+), 11 deletions(-)
+ create mode 100644 drivers/staging/mrstci/mrstaptina5140soc/Kconfig
+ create mode 100644 drivers/staging/mrstci/mrstaptina5140soc/Makefile
+ create mode 100644 drivers/staging/mrstci/mrstaptina5140soc/mrstaptina5140soc.c
+ create mode 100644 drivers/staging/mrstci/mrstaptina5140soc/mrstaptina5140soc.h
+
+diff --git a/drivers/staging/mrstci/Kconfig b/drivers/staging/mrstci/Kconfig
+index b8addd3..578672f 100644
+--- a/drivers/staging/mrstci/Kconfig
++++ b/drivers/staging/mrstci/Kconfig
+@@ -9,7 +9,7 @@ menuconfig VIDEO_MRSTCI
+ if VIDEO_MRSTCI && VIDEO_V4L2
+
+ source "drivers/staging/mrstci/mrstisp/Kconfig"
+-
++source "drivers/staging/mrstci/mrstaptina5140soc/Kconfig"
+ source "drivers/staging/mrstci/mrstov5630/Kconfig"
+ source "drivers/staging/mrstci/mrstov5630_motor/Kconfig"
+
+diff --git a/drivers/staging/mrstci/Makefile b/drivers/staging/mrstci/Makefile
+index a06eb7a..d63e0bc 100644
+--- a/drivers/staging/mrstci/Makefile
++++ b/drivers/staging/mrstci/Makefile
+@@ -1,3 +1,4 @@
++obj-$(CONFIG_VIDEO_MRST_APTINA_A5140SOC) += mrstaptina5140soc/
+ obj-$(CONFIG_VIDEO_MRST_OV2650) += mrstov2650/
+ obj-$(CONFIG_VIDEO_MRST_OV9665) += mrstov9665/
+ obj-$(CONFIG_VIDEO_MRST_OV5630) += mrstov5630/
+diff --git a/drivers/staging/mrstci/include/ci_sensor_common.h b/drivers/staging/mrstci/include/ci_sensor_common.h
+index 5aacee0..a9dfde6 100644
+--- a/drivers/staging/mrstci/include/ci_sensor_common.h
++++ b/drivers/staging/mrstci/include/ci_sensor_common.h
+@@ -520,6 +520,7 @@ struct ci_sensor_caps{
+ char name[32];
+
+ struct v4l2_subdev sd;
++ unsigned int mipi_lanes; /*Number of MIPI lanes*/
+ };
+
+ #define SENSOR_CAP_BUSWIDTH 0
+diff --git a/drivers/staging/mrstci/mrstaptina5140soc/Kconfig b/drivers/staging/mrstci/mrstaptina5140soc/Kconfig
+new file mode 100644
+index 0000000..af01ac0
+--- /dev/null
++++ b/drivers/staging/mrstci/mrstaptina5140soc/Kconfig
+@@ -0,0 +1,9 @@
++config VIDEO_MRST_APTINA_A5140SOC
++ tristate "Moorestown Aptina A-5140 SoC Sensor"
++ depends on I2C && VIDEO_MRST_ISP
++
++ ---help---
++ Say Y here if your platform support Aptina A-5140 SoC Sensor.
++
++ To compile this driver as a module, choose M here: the
++ module will be called mrstaptina5140soc.ko.
+diff --git a/drivers/staging/mrstci/mrstaptina5140soc/Makefile b/drivers/staging/mrstci/mrstaptina5140soc/Makefile
+new file mode 100644
+index 0000000..7ee0d8d
+--- /dev/null
++++ b/drivers/staging/mrstci/mrstaptina5140soc/Makefile
+@@ -0,0 +1,3 @@
++obj-$(CONFIG_VIDEO_MRST_APTINA_A5140SOC) += mrstaptina5140soc.o
++
++EXTRA_CFLAGS += -I$(src)/../include
+diff --git a/drivers/staging/mrstci/mrstaptina5140soc/mrstaptina5140soc.c b/drivers/staging/mrstci/mrstaptina5140soc/mrstaptina5140soc.c
+new file mode 100644
+index 0000000..d189c6e
+--- /dev/null
++++ b/drivers/staging/mrstci/mrstaptina5140soc/mrstaptina5140soc.c
+@@ -0,0 +1,1483 @@
++/*
++ * Support for Moorestown Langwell Camera Imaging ISP subsystem.
++ *
++ * Copyright (c) 2010 Aptina LLC. All Rights Reserved.
++ *
++ * 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 Street, Fifth Floor, Boston, MA
++ * 02110-1301, USA.
++ *
++ *
++ * Charles Su <csu at aptina.com>
++ * Ji Yang <ji.yang at intel.com>
++ */
++
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/mm.h>
++#include <linux/string.h>
++#include <linux/errno.h>
++#include <linux/init.h>
++#include <linux/kmod.h>
++#include <linux/device.h>
++#include <linux/delay.h>
++#include <linux/fs.h>
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/delay.h>
++#include <linux/i2c.h>
++#include <linux/gpio.h>
++
++#include <media/v4l2-device.h>
++#include <media/v4l2-chip-ident.h>
++#include <media/v4l2-i2c-drv.h>
++
++#include "ci_sensor_common.h"
++#include "mrstaptina5140soc.h"
++
++
++
++/*
++*Flag, which context we are using. 0 for context A (preview),
++*1 for context B (capture, sizes larger than VGA)
++*/
++static int nctx;/* initialized to 0 by default*/
++
++#define DBG_entering pr_info("entering");
++#define DBG_leaving pr_info("leaving");
++#define DBG_line pr_info(" line: %d", __LINE__);
++
++
++
++/*Forward Declarations*/
++static int misensor_rmw_reg(struct i2c_client *client,
++ u16 data_length, u16 reg, u32 andval, u32 orval);
++
++
++static inline struct ci_sensor_config *
++ to_sensor_config(struct v4l2_subdev *sd)
++{
++ return container_of(sd, struct ci_sensor_config, sd);
++}
++
++static struct a5140soc_format_struct {
++ __u8 *desc;
++ __u32 pixelformat;
++ struct regval_list *regs;
++} a5140soc_formats[] = {
++ {
++ .desc = "YUYV 4:2:2",
++ .pixelformat = SENSOR_MODE_MIPI, /*ab:new*/
++ .regs = NULL,
++ },
++};
++#define N_A5140SOC_FMTS ARRAY_SIZE(a5140soc_formats)
++
++/*
++*Modes supported by the A5140SOC driver.
++* since they are not listed in the specification
++*/
++
++static struct a5140soc_res_struct {
++ __u8 *desc;
++ int res;
++ int width;
++ int height;
++ /* FIXME: correct the fps values..*/
++ int fps;
++ bool used;
++ struct regval_list *regs;
++} a5140soc_res[] = {
++ {
(2442 more lines skipped)
++++++ linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch (new)
--- linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+++ linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+From e593f1b6386eddc4226258ca5d7d05271276d705 Mon Sep 17 00:00:00 2001
+From: Hong Liu <hong.liu at intel.com>
+Date: Wed, 15 Sep 2010 16:40:46 +0100
+Subject: [PATCH] apds9802als: fix als sensing range value
+
+The 4K and 64K in the hw spec acutally means 4095 (12bit) and 65535 (16bit).
+
+Signed-off-by: Hong Liu <hong.liu at intel.com>
+---
+ drivers/misc/apds9802als.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/misc/apds9802als.c b/drivers/misc/apds9802als.c
+index cfd004a..a55a215 100644
+--- a/drivers/misc/apds9802als.c
++++ b/drivers/misc/apds9802als.c
+@@ -55,9 +55,9 @@ static ssize_t als_sensing_range_show(struct device *dev,
+ if (val < 0)
+ return val;
+ if (val & 1)
+- return sprintf(buf, "4000\n");
++ return sprintf(buf, "4095\n");
+ else
+- return sprintf(buf, "64000\n");
++ return sprintf(buf, "65535\n");
+ }
+
+ static ssize_t als_lux_output_data_show(struct device *dev,
+@@ -111,7 +111,7 @@ static ssize_t als_sensing_range_store(struct device *dev,
+ /* Reset the bits before setting them */
+ ret_val = ret_val & 0xFA;
+
+- if (val == 1) /* Setting the continous measurement up to 8k LUX */
++ if (val == 1) /* Setting the continous measurement up to 4k LUX */
+ ret_val = (ret_val | 0x05);
+ else /* Setting the continous measurement up to 64k LUX*/
+ ret_val = (ret_val | 0x04);
+--
+1.6.1.3
+
++++++ linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch (new)
--- linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+++ linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+From 40e6fc8653972d72e79324abe7764e00cce6365f Mon Sep 17 00:00:00 2001
+From: Priya Vijayan <priya.vijayan at intel.com>
+Date: Fri, 10 Sep 2010 16:40:46 -0700
+Subject: [PATCH] Fix broken build introduced by cy8ctmg110 multi-input patch
+
+Signed-off-by: James Ketrenos<jketreno at linux.intel.com>
+Signed-off-by: Priya Vijayan<priya.vijayan at intel.com>
+---
+ drivers/input/touchscreen/cy8ctmg110_ts.c | 58 +++++++++++++++++++---------
+ 1 files changed, 39 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/input/touchscreen/cy8ctmg110_ts.c b/drivers/input/touchscreen/cy8ctmg110_ts.c
+index 9221d80..9885d06 100644
+--- a/drivers/input/touchscreen/cy8ctmg110_ts.c
++++ b/drivers/input/touchscreen/cy8ctmg110_ts.c
+@@ -311,37 +311,57 @@ static int cy8ctmg110_probe(struct i2c_client *client,
+ return -EIO;
+
+ ts = kzalloc(sizeof(struct cy8ctmg110), GFP_KERNEL);
+- input_dev = input_allocate_device();
+
+- if (!ts || !input_dev) {
+- err = -ENOMEM;
++ if (!ts) {
++ err = -ENOMEM;
+ goto err_free_mem;
+ }
+
+ ts->client = client;
+ i2c_set_clientdata(client, ts);
+-
+- ts->input = input_dev;
+ ts->polling = polling;
+
+- snprintf(ts->phys, sizeof(ts->phys), "%s/input0",
+- dev_name(&client->dev));
++ spin_lock_init(&ts->lock);
++
++#ifdef CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT
++ /* Allocate one input device per supported contact point */
++ for (contact = 0; contact< MAX_FINGERS; contact++) {
++#endif
+
+- input_dev->name = CY8CTMG110_DRIVER_NAME " Touchscreen";
+- input_dev->phys = ts->phys;
+- input_dev->id.bustype = BUS_I2C;
++ input_dev = input_allocate_device();
++ if (!input_dev) {
++ err = -ENOMEM;
++ goto err_free_mem;
++ }
+
+- spin_lock_init(&ts->lock);
++#ifdef CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT
++ ts->input[contact] = input_dev;
++ snprintf(ts->phys[contact], sizeof(ts->phys[contact]),
++ "%s/input%d", dev_name(&client->dev), contact);
++ input_dev->phys = ts->phys[contact];
++#else
++ ts->input = input_dev;
++ snprintf(ts->phys, sizeof(ts->phys),
++ "%s/input0", dev_name(&client->dev));
++ input_dev->phys = ts->phys;
++#endif
++
++ input_dev->name = CY8CTMG110_DRIVER_NAME " Touchscreen";
++ input_dev->id.bustype = BUS_I2C;
+
+- input_set_capability(input_dev, EV_KEY, BTN_TOUCH);
+- input_set_capability(input_dev, EV_ABS, ABS_X);
+- input_set_capability(input_dev, EV_ABS, ABS_Y);
++ input_set_capability(input_dev, EV_KEY, BTN_TOUCH);
++ input_set_capability(input_dev, EV_ABS, ABS_X);
++ input_set_capability(input_dev, EV_ABS, ABS_Y);
+
+- /* Initialize these with 4 fuzz for jitter... */
+- input_set_abs_params(input_dev, ABS_X, CY8CTMG110_X_MIN,
+- CY8CTMG110_X_MAX, 4, 0);
+- input_set_abs_params(input_dev, ABS_Y, CY8CTMG110_Y_MIN,
+- CY8CTMG110_Y_MAX, 4, 0);
++ /* Initialize these with 4 fuzz for jitter... */
++ input_set_abs_params(input_dev, ABS_X, CY8CTMG110_X_MIN,
++ CY8CTMG110_X_MAX, 4, 0);
++ input_set_abs_params(input_dev, ABS_Y, CY8CTMG110_Y_MIN,
++ CY8CTMG110_Y_MAX, 4, 0);
++
++#ifdef CONFIG_TOUCHSCREEN_CY8CTMG110_MULTIPLE_INPUT
++ }
++#endif
+
+ err = gpio_request(CY8CTMG110_RESET_PIN_GPIO, NULL);
+
+--
+1.6.2.2
+
++++++ linux-2.6.35-lednames.patch (new)
--- linux-2.6.35-lednames.patch
+++ linux-2.6.35-lednames.patch
+Return-Path: <moblin-kernel-bounces at linux.intel.com>
+X-Original-To: arjan at linux.intel.com
+Delivered-To: arjan at linux.intel.com
+Received: from linux.intel.com (localhost.localdomain [127.0.0.1])
+ by linux.intel.com (Postfix) with ESMTP id 8A4AA3C0001;
+ Wed, 8 Sep 2010 21:44:07 -0700 (PDT)
+X-Original-To: moblin-kernel at linux.intel.com
+Delivered-To: moblin-kernel at localhost.localdomain
+Received: from azsmga001.ch.intel.com (azsmga001.ch.intel.com [10.2.17.19])
+ by linux.intel.com (Postfix) with ESMTP id 5DC743C0001;
+ Wed, 8 Sep 2010 21:44:06 -0700 (PDT)
+X-ExtLoop1: 1
+X-IronPort-AV: E=Sophos;i="4.56,337,1280732400"; d="scan'208";a="322548199"
+Received: from unknown (HELO localhost.localdomain) ([172.24.241.48])
+ by azsmga001.ch.intel.com with ESMTP; 08 Sep 2010 21:43:58 -0700
+From: jacob.jun.pan at linux.intel.com
+To: Moblin Kernel <moblin-kernel at linux.intel.com>,
+ Alan Cox <alan at linux.intel.com>
+Date: Wed, 8 Sep 2010 21:36:25 -0700
+Message-Id: <1284006985-32224-1-git-send-email-jacob.jun.pan at linux.intel.com>
+X-Mailer: git-send-email 1.7.0.4
+Cc: Jacob Pan <jacob.jun.pan at linux.intel.com>
+Subject: [Moblin-kernel] [PATCH] pca953x: assign unique led class name
+X-BeenThere: moblin-kernel at linux.intel.com
+X-Mailman-Version: 2.1.5
+Precedence: list
+List-Id: Moblin Kernel internal list <moblin-kernel.linux.intel.com>
+List-Unsubscribe: <http://linux.intel.com/mailman/listinfo/moblin-kernel>,
+ <mailto:moblin-kernel-request at linux.intel.com?subject=unsubscribe>
+List-Archive: <http://linux.intel.com/pipermail/moblin-kernel>
+List-Post: <mailto:moblin-kernel at linux.intel.com>
+List-Help: <mailto:moblin-kernel-request at linux.intel.com?subject=help>
+List-Subscribe: <http://linux.intel.com/mailman/listinfo/moblin-kernel>,
+ <mailto:moblin-kernel-request at linux.intel.com?subject=subscribe>
+Sender: moblin-kernel-bounces at linux.intel.com
+Errors-To: moblin-kernel-bounces at linux.intel.com
+
+From: Jacob Pan <jacob.jun.pan at linux.intel.com>
+
+Unique name must be used to register led class device for each chip.
+Otherwise, setup would fail which also affect devices use the i2c
+gpio expander, such as gpio keys.
+
+Signed-off-by: Jacob Pan <jacob.jun.pan at linux.intel.com>
+---
+ drivers/gpio/pca953x.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c
+index 3afff5f..d6da100 100644
+--- a/drivers/gpio/pca953x.c
++++ b/drivers/gpio/pca953x.c
+@@ -614,9 +614,10 @@ static int max7315_setup_leds(struct i2c_client *client,
+
+ for (i = 0; i < chip->leds_size; i++) {
+ struct max7315_led_data *led = &chip->leds[i];
++
+ led->client = client;
+ led->id = 2;
+- led->name = "p2";
++ led->name = dev_name(&client->dev);
+
+ led->status = MAX7315_LED_STATUS_OFF;
+ led->ldev.name = led->name;
+--
+1.7.0.4
+
+_______________________________________________
+Moblin-kernel mailing list
+Moblin-kernel at linux.intel.com
+http://linux.intel.com/mailman/listinfo/moblin-kernel
++++++ linux-2.6.35-mrst-i2c-power-fix.patch (new)
--- linux-2.6.35-mrst-i2c-power-fix.patch
+++ linux-2.6.35-mrst-i2c-power-fix.patch
+Return-Path: <hong.liu at intel.com>
+X-Original-To: arjan at linux.intel.com
+Delivered-To: arjan at linux.intel.com
+Received: from orsmga002.jf.intel.com (orsmga002.jf.intel.com [10.7.209.21])
+ by linux.intel.com (Postfix) with ESMTP id 5CE6F6A4020;
+ Tue, 31 Aug 2010 00:13:07 -0700 (PDT)
+X-ExtLoop1: 1
+X-IronPort-AV: E=Sophos;i="4.56,297,1280732400";
+ d="scan'208";a="550287046"
+Received: from hongdev.sh.intel.com (HELO [10.239.77.244]) ([10.239.77.244])
+ by orsmga002.jf.intel.com with ESMTP; 31 Aug 2010 00:13:05 -0700
+Subject: [patch] mrst-i2c: fix runtime PM error
+From: Hong Liu <hong.liu at intel.com>
+To: Alan Cox <alan at linux.intel.com>, Arjan van de Ven <arjan at linux.intel.com>
+Cc: "Wang, Wen W" <wen.w.wang at intel.com>, "Zhang, Xiaolin" <xiaolin.zhang at intel.com>, moblin-kernel <moblin-kernel at linux.intel.com>
+Content-Type: text/plain; charset="UTF-8"
+Organization: Intel
+Date: Tue, 31 Aug 2010 15:15:53 +0800
+Message-ID: <1283238953.23216.29.camel at hongdev>
+Mime-Version: 1.0
+X-Mailer: Evolution 2.28.3 (2.28.3-1.fc12)
+Content-Transfer-Encoding: 7bit
+
+mrst-i2c: fix runtime PM error
+
+The runtime PM code is working on the wrong device (i2c_adapter->dev).
+The correct one should be pci_dev->dev. This breaks attached i2c
+slave devices with runtime PM enabled. Slave device needs to runtime
+resume parent device before runtime resuming itself, but we always get
+error since we don't have pm_runtime callback for i2c_adapter->dev.
+
+Signed-off-by: Hong Liu <hong.liu at intel.com>
+---
+ drivers/i2c/busses/i2c-mrst.c | 25 +++++++++++++------------
+ drivers/i2c/busses/i2c-mrst.h | 1 +
+ 2 files changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/i2c/busses/i2c-mrst.c b/drivers/i2c/busses/i2c-mrst.c
+index e17388d..75963a0 100644
+--- a/drivers/i2c/busses/i2c-mrst.c
++++ b/drivers/i2c/busses/i2c-mrst.c
+@@ -507,7 +507,7 @@ static int mrst_i2c_xfer(struct i2c_adapter *adap,
+ (struct mrst_i2c_private *)i2c_get_adapdata(adap);
+ int i, err;
+
+- pm_runtime_get(&adap->dev);
++ pm_runtime_get(i2c->dev);
+
+ mutex_lock(&i2c->lock);
+ dev_dbg(&adap->dev, "mrst_i2c_xfer, process %d msg(s)\n", num);
+@@ -517,14 +517,14 @@ static int mrst_i2c_xfer(struct i2c_adapter *adap,
+ dev_err(&adap->dev, "Adapter %d in transfer/standby\n",
+ adap->nr);
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+ return -1;
+ }
+
+ /* if number of messages equal 0*/
+ if (num == 0) {
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+ return 0;
+ }
+
+@@ -533,7 +533,7 @@ static int mrst_i2c_xfer(struct i2c_adapter *adap,
+ dev_err(&adap->dev, "Invalid address 0x%03x (%d-bit)\n",
+ pmsg[0].addr, pmsg[0].flags & I2C_M_TEN ? 10 : 7);
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+ return -EINVAL;
+ }
+ for (i = 0; i < num; i++) {
+@@ -541,14 +541,14 @@ static int mrst_i2c_xfer(struct i2c_adapter *adap,
+ if (unlikely(mrst_i2c_address_neq(&pmsg[0], &pmsg[i]))) {
+ dev_err(&adap->dev, "Invalid address in msg[%d]\n", i);
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+ return -EINVAL;
+ }
+ }
+
+ if (mrst_i2c_setup(adap, pmsg)) {
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+ return -EINVAL;
+ }
+
+@@ -588,7 +588,7 @@ exit:
+
+ i2c->status = STATUS_IDLE;
+ mutex_unlock(&i2c->lock);
+- pm_runtime_put(&adap->dev);
++ pm_runtime_put(i2c->dev);
+
+ return i;
+ }
+@@ -648,9 +648,9 @@ static int mrst_i2c_resume(struct pci_dev *dev)
+
+ static int mrst_i2c_runtime_suspend(struct device *dev)
+ {
+- struct i2c_adapter *adap = to_i2c_adapter(dev);
++ struct pci_dev *pdev = to_pci_dev(dev);
+ int err = 0;
+- adap = adap;
++ pdev = pdev;
+ /* Doing nothing now */
+
+ return err;
+@@ -658,9 +658,9 @@ static int mrst_i2c_runtime_suspend(struct device *dev)
+
+ static int mrst_i2c_runtime_resume(struct device *dev)
+ {
+- struct i2c_adapter *adap = to_i2c_adapter(dev);
++ struct pci_dev *pdev = to_pci_dev(dev);
+ int err = 0;
+- adap = adap;
++ pdev = pdev;
+
+ /* Doing nothing now */
+
+@@ -868,6 +868,7 @@ static int __devinit mrst_i2c_probe(struct pci_dev *dev,
+ adap->class = I2C_CLASS_HWMON;
+ adap->dev.parent = &dev->dev;
+ mrst->adap = adap;
++ mrst->dev = &dev->dev;
+ mrst->base = base;
+ mrst->speed = STANDARD;
+ mrst->abort = 0;
+@@ -925,7 +926,7 @@ static int __devinit mrst_i2c_probe(struct pci_dev *dev,
+ (mrst->platform == MOORESTOWN) ? "Moorestown" : "Medfield",
+ busnum);
+
+- pm_runtime_enable(&adap->dev);
++ pm_runtime_enable(&dev->dev);
+ return 0;
+
+ fail4:
+diff --git a/drivers/i2c/busses/i2c-mrst.h b/drivers/i2c/busses/i2c-mrst.h
+index b20bc60..eaf79eb 100644
+--- a/drivers/i2c/busses/i2c-mrst.h
++++ b/drivers/i2c/busses/i2c-mrst.h
+@@ -26,6 +26,7 @@ enum platform_enum {
+
+ struct mrst_i2c_private {
+ struct i2c_adapter *adap;
++ struct device *dev;
+ /* Register base address */
+ void __iomem *base;
+ /* Speed mode */
+--
+1.7.2.2
+
+
++++++ linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch (new)
--- linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+++ linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+From e29ad526764eafbddba98af6609c3c46bc93fb61 Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan at linux.intel.com>
+Date: Wed, 15 Sep 2010 16:40:44 +0100
+Subject: [PATCH] mrst_max3110: Make the IRQ option runtime
+
+And while we are at it allow it to fail to find one. Without this the IRQ
+option will cause the 3110 driver to fail on 0.7 SFI firmware.
+
+Signed-off-by: Alan Cox <alan at linux.intel.com>
+---
+ drivers/serial/Kconfig | 7 -----
+ drivers/serial/mrst_max3110.c | 55 +++++++++++++++++++++--------------------
+ 2 files changed, 28 insertions(+), 34 deletions(-)
+
+diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
+index 8327a74..f139dd7 100644
+--- a/drivers/serial/Kconfig
++++ b/drivers/serial/Kconfig
+@@ -717,13 +717,6 @@ config SERIAL_MRST_MAX3110
+ the Intel Moorestown platform. On other systems use the max3100
+ driver.
+
+-config MRST_MAX3110_IRQ
+- boolean "Enable GPIO IRQ for Max3110 over Moorestown"
+- default n
+- depends on SERIAL_MRST_MAX3110 && GPIO_LANGWELL
+- help
+- This has to be enabled after Moorestown GPIO driver is loaded
+-
+ config SERIAL_MFD_HSU
+ tristate "Medfield High Speed UART support"
+ depends on PCI
+diff --git a/drivers/serial/mrst_max3110.c b/drivers/serial/mrst_max3110.c
+index 880dce3..bae2697 100644
+--- a/drivers/serial/mrst_max3110.c
++++ b/drivers/serial/mrst_max3110.c
+@@ -446,7 +446,6 @@ static int max3110_main_thread(void *_max)
+ return ret;
+ }
+
+-#ifdef CONFIG_MRST_MAX3110_IRQ
+ static irqreturn_t serial_m3110_irq(int irq, void *dev_id)
+ {
+ struct uart_max3110 *max = dev_id;
+@@ -458,7 +457,7 @@ static irqreturn_t serial_m3110_irq(int irq, void *dev_id)
+
+ return IRQ_HANDLED;
+ }
+-#else
++
+ /* if don't use RX IRQ, then need a thread to polling read */
+ static int max3110_read_thread(void *_max)
+ {
+@@ -481,7 +480,6 @@ static int max3110_read_thread(void *_max)
+
+ return 0;
+ }
+-#endif
+
+ static int serial_m3110_startup(struct uart_port *port)
+ {
+@@ -504,34 +502,38 @@ static int serial_m3110_startup(struct uart_port *port)
+ /* as we use thread to handle tx/rx, need set low latency */
+ port->state->port.tty->low_latency = 1;
+
+-#ifdef CONFIG_MRST_MAX3110_IRQ
+- ret = request_irq(max->irq, serial_m3110_irq,
++ if (max->irq) {
++ max->read_thread = NULL;
++ ret = request_irq(max->irq, serial_m3110_irq,
+ IRQ_TYPE_EDGE_FALLING, "max3110", max);
+- if (ret)
+- return ret;
++ if (ret) {
++ max->irq = 0;
++ pr_err(PR_FMT "unable to allocate IRQ, polling\n");
++ } else {
++ /* Enable RX IRQ only */
++ config |= WC_RXA_IRQ_ENABLE;
++ }
++ }
+
+- /* Enable RX IRQ only */
+- config |= WC_RXA_IRQ_ENABLE;
+-#else
+- /* If IRQ is disabled, start a read thread for input data */
+- max->read_thread =
+- kthread_run(max3110_read_thread, max, "max3110_read");
+- if (IS_ERR(max->read_thread)) {
+- ret = PTR_ERR(max->read_thread);
+- max->read_thread = NULL;
+- pr_err(PR_FMT "Can't create read thread!");
+- return ret;
++ if (max->irq == 0) {
++ /* If IRQ is disabled, start a read thread for input data */
++ max->read_thread =
++ kthread_run(max3110_read_thread, max, "max3110_read");
++ if (IS_ERR(max->read_thread)) {
++ ret = PTR_ERR(max->read_thread);
++ max->read_thread = NULL;
++ pr_err(PR_FMT "Can't create read thread!\n");
++ return ret;
++ }
+ }
+-#endif
+
+ ret = max3110_out(max, config);
+ if (ret) {
+-#ifdef CONFIG_MRST_MAX3110_IRQ
+- free_irq(max->irq, max);
+-#else
+- kthread_stop(max->read_thread);
++ if (max->irq)
++ free_irq(max->irq, max);
++ if (max->read_thread)
++ kthread_stop(max->read_thread);
+ max->read_thread = NULL;
+-#endif
+ return ret;
+ }
+
+@@ -550,9 +552,8 @@ static void serial_m3110_shutdown(struct uart_port *port)
+ max->read_thread = NULL;
+ }
+
+-#ifdef CONFIG_MRST_MAX3110_IRQ
+- free_irq(max->irq, max);
+-#endif
++ if (max->irq)
++ free_irq(max->irq, max);
+
+ /* Disable interrupts from this port */
+ config = WC_TAG | WC_SW_SHDI;
+--
+1.6.1.3
+
++++++ linux-2.6.35-stable-cherry-picks.patch (new)
--- linux-2.6.35-stable-cherry-picks.patch
+++ linux-2.6.35-stable-cherry-picks.patch
+diff --git a/arch/arm/include/asm/ptrace.h b/arch/arm/include/asm/ptrace.h
+index 9dcb11e..bf62c44 100644
+--- a/arch/arm/include/asm/ptrace.h
++++ b/arch/arm/include/asm/ptrace.h
+@@ -158,15 +158,24 @@ struct pt_regs {
+ */
+ static inline int valid_user_regs(struct pt_regs *regs)
+ {
+- if (user_mode(regs) && (regs->ARM_cpsr & PSR_I_BIT) == 0) {
+- regs->ARM_cpsr &= ~(PSR_F_BIT | PSR_A_BIT);
+- return 1;
++ unsigned long mode = regs->ARM_cpsr & MODE_MASK;
++
++ /*
++ * Always clear the F (FIQ) and A (delayed abort) bits
++ */
++ regs->ARM_cpsr &= ~(PSR_F_BIT | PSR_A_BIT);
++
++ if ((regs->ARM_cpsr & PSR_I_BIT) == 0) {
++ if (mode == USR_MODE)
++ return 1;
++ if (elf_hwcap & HWCAP_26BIT && mode == USR26_MODE)
++ return 1;
+ }
+
+ /*
+ * Force CPSR to something logical...
+ */
+- regs->ARM_cpsr &= PSR_f | PSR_s | (PSR_x & ~PSR_A_BIT) | PSR_T_BIT | MODE32_BIT;
++ regs->ARM_cpsr &= PSR_f | PSR_s | PSR_x | PSR_T_BIT | MODE32_BIT;
+ if (!(elf_hwcap & HWCAP_26BIT))
+ regs->ARM_cpsr |= USR_MODE;
+
+diff --git a/arch/arm/mach-ixp4xx/ixdp425-setup.c b/arch/arm/mach-ixp4xx/ixdp425-setup.c
+index 827cbc4..ea9ee4e 100644
+--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
++++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
+@@ -100,6 +100,7 @@ ixdp425_flash_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
+
+ static struct platform_nand_data ixdp425_flash_nand_data = {
+ .chip = {
++ .nr_chips = 1,
+ .chip_delay = 30,
+ .options = NAND_NO_AUTOINCR,
+ #ifdef CONFIG_MTD_PARTITIONS
+diff --git a/arch/arm/mach-mx3/mach-qong.c b/arch/arm/mach-mx3/mach-qong.c
+index e5b5b83..1f9363f 100644
+--- a/arch/arm/mach-mx3/mach-qong.c
++++ b/arch/arm/mach-mx3/mach-qong.c
+@@ -169,6 +169,7 @@ static void qong_nand_select_chip(struct mtd_info *mtd, int chip)
+
+ static struct platform_nand_data qong_nand_data = {
+ .chip = {
++ .nr_chips = 1,
+ .chip_delay = 20,
+ .options = 0,
+ },
+diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
+index 5041d1b..696b1a9 100644
+--- a/arch/arm/mach-orion5x/ts78xx-setup.c
++++ b/arch/arm/mach-orion5x/ts78xx-setup.c
+@@ -216,6 +216,7 @@ static struct mtd_partition ts78xx_ts_nand_parts[] = {
+
+ static struct platform_nand_data ts78xx_ts_nand_data = {
+ .chip = {
++ .nr_chips = 1,
+ .part_probe_types = ts_nand_part_probes,
+ .partitions = ts78xx_ts_nand_parts,
+ .nr_partitions = ARRAY_SIZE(ts78xx_ts_nand_parts),
+diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
+index 9eaf5b0..68a27bc 100644
+--- a/arch/blackfin/mach-bf537/boards/stamp.c
++++ b/arch/blackfin/mach-bf537/boards/stamp.c
+@@ -400,6 +400,7 @@ static int bfin_plat_nand_dev_ready(struct mtd_info *mtd)
+
+ static struct platform_nand_data bfin_plat_nand_data = {
+ .chip = {
++ .nr_chips = 1,
+ .chip_delay = 30,
+ #ifdef CONFIG_MTD_PARTITIONS
+ .part_probe_types = part_probes,
+diff --git a/arch/blackfin/mach-bf561/boards/acvilon.c b/arch/blackfin/mach-bf561/boards/acvilon.c
+index bfcfa86..35b6d12 100644
+--- a/arch/blackfin/mach-bf561/boards/acvilon.c
++++ b/arch/blackfin/mach-bf561/boards/acvilon.c
+@@ -284,6 +284,7 @@ static int bfin_plat_nand_dev_ready(struct mtd_info *mtd)
+
+ static struct platform_nand_data bfin_plat_nand_data = {
+ .chip = {
++ .nr_chips = 1,
+ .chip_delay = 30,
+ #ifdef CONFIG_MTD_PARTITIONS
+ .part_probe_types = part_probes,
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index dcb0593..f942bb7 100644
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -247,6 +247,11 @@ config ARCH_HWEIGHT_CFLAGS
+
+ config KTIME_SCALAR
+ def_bool X86_32
++
++config ARCH_CPU_PROBE_RELEASE
++ def_bool y
++ depends on HOTPLUG_CPU
++
+ source "init/Kconfig"
+ source "kernel/Kconfig.freezer"
+
+diff --git a/arch/x86/include/asm/cmpxchg_32.h b/arch/x86/include/asm/cmpxchg_32.h
+index c1cf59d..20955ea 100644
+--- a/arch/x86/include/asm/cmpxchg_32.h
++++ b/arch/x86/include/asm/cmpxchg_32.h
+@@ -53,60 +53,33 @@ struct __xchg_dummy {
+ __xchg((v), (ptr), sizeof(*ptr))
+
+ /*
+- * The semantics of XCHGCMP8B are a bit strange, this is why
+- * there is a loop and the loading of %%eax and %%edx has to
+- * be inside. This inlines well in most cases, the cached
+- * cost is around ~38 cycles. (in the future we might want
+- * to do an SIMD/3DNOW!/MMX/FPU 64-bit store here, but that
+- * might have an implicit FPU-save as a cost, so it's not
+- * clear which path to go.)
++ * CMPXCHG8B only writes to the target if we had the previous
++ * value in registers, otherwise it acts as a read and gives us the
++ * "new previous" value. That is why there is a loop. Preloading
++ * EDX:EAX is a performance optimization: in the common case it means
++ * we need only one locked operation.
+ *
+- * cmpxchg8b must be used with the lock prefix here to allow
+- * the instruction to be executed atomically, see page 3-102
+- * of the instruction set reference 24319102.pdf. We need
+- * the reader side to see the coherent 64bit value.
++ * A SIMD/3DNOW!/MMX/FPU 64-bit store here would require at the very
++ * least an FPU save and/or %cr0.ts manipulation.
++ *
++ * cmpxchg8b must be used with the lock prefix here to allow the
++ * instruction to be executed atomically. We need to have the reader
++ * side to see the coherent 64bit value.
+ */
+-static inline void __set_64bit(unsigned long long *ptr,
+- unsigned int low, unsigned int high)
++static inline void set_64bit(volatile u64 *ptr, u64 value)
+ {
++ u32 low = value;
++ u32 high = value >> 32;
++ u64 prev = *ptr;
++
+ asm volatile("\n1:\t"
+- "movl (%1), %%eax\n\t"
+- "movl 4(%1), %%edx\n\t"
+- LOCK_PREFIX "cmpxchg8b (%1)\n\t"
++ LOCK_PREFIX "cmpxchg8b %0\n\t"
+ "jnz 1b"
+- : "=m" (*ptr)
+- : "D" (ptr),
+- "b" (low),
+- "c" (high)
+- : "ax", "dx", "memory");
+-}
+-
+-static inline void __set_64bit_constant(unsigned long long *ptr,
+- unsigned long long value)
+-{
+- __set_64bit(ptr, (unsigned int)value, (unsigned int)(value >> 32));
+-}
+-
+-#define ll_low(x) *(((unsigned int *)&(x)) + 0)
+-#define ll_high(x) *(((unsigned int *)&(x)) + 1)
+-
+-static inline void __set_64bit_var(unsigned long long *ptr,
+- unsigned long long value)
+-{
+- __set_64bit(ptr, ll_low(value), ll_high(value));
++ : "=m" (*ptr), "+A" (prev)
++ : "b" (low), "c" (high)
++ : "memory");
+ }
+
+-#define set_64bit(ptr, value) \
+- (__builtin_constant_p((value)) \
+- ? __set_64bit_constant((ptr), (value)) \
+- : __set_64bit_var((ptr), (value)))
+-
+-#define _set_64bit(ptr, value) \
+- (__builtin_constant_p(value) \
+- ? __set_64bit(ptr, (unsigned int)(value), \
+- (unsigned int)((value) >> 32)) \
+- : __set_64bit(ptr, ll_low((value)), ll_high((value))))
+-
+ extern void __cmpxchg_wrong_size(void);
+
+ /*
+diff --git a/arch/x86/include/asm/cmpxchg_64.h b/arch/x86/include/asm/cmpxchg_64.h
+index b92f147..9596e7c 100644
+--- a/arch/x86/include/asm/cmpxchg_64.h
++++ b/arch/x86/include/asm/cmpxchg_64.h
(4091 more lines skipped)
++++++ series
--- series
+++ series
@@ -9,6 +9,7 @@
patch-2.6.35.3.bz2
+
#
# Patch to add a "nonintconfig" option to the Makefile
# needed for unattended builds
@@ -32,6 +33,10 @@
# Kernel CVE patches - these go last in the backport section
# no non-cve patches should go here!
+# cherry picking the important security/corruption fixes from
+# the stable series
+
+linux-2.6.35-stable-cherry-picks.patch
#
# End of the Direct Backports section
@@ -59,6 +64,17 @@
linux-2.6.35-aava-firmware-workaround-wifi.patch
linux-2.6.35-make-gma600-work-on-IA.patch
linux-2.6.35-mrst-rtc.patch
+linux-2.6.35-Add-MIP-header-update-when-FW-is-upgraded.patch
+linux-2.6.35-Bug-fix-for-camera-flash-IC-not-found.patch
+linux-2.6.35-DMA-driver-Add-runtime-PM.patch
+linux-2.6.35-Fix-loadfw.patch
+linux-2.6.35-Subject-Moblin-kernel-MeeGo-AC-Tree-CI-add-supp.patch
+linux-2.6.35-apds9802als-fix-als-sensing-range-value.patch
+linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch
+linux-2.6.35-lednames.patch
+linux-2.6.35-mrst-i2c-power-fix.patch
+linux-2.6.35-fix-build-for-cy8ctmg110-driver.patch
+
#
# End of the Moorsetown architecture patches
@@ -97,11 +113,11 @@
# Cellular modem support
linux-2.6-n900-modem-support.patch
# Fix wl1251 scanning while associated
-linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
+# linux-2.6.36-wl1251-fix-trigger-scan-timeout-usage.patch
# Introduce EEM support in g_nokia which should fix usb networking
linux-2.6.37-EEM-support-for-g_nokia.patch
-# omap3camera driver
-#linux-2.6-omap3camera.patch
+# omap3isp-rx51 driver
+linux-2.6-omap3isp-rx51.patch
# TI dspbridge driver
linux-2.6.36-tidspbridge.patch
# lp5523 platform data for rx51 board
@@ -109,7 +125,7 @@
# usb charger platform device support
linux-2.6.37-omap-rx51-add-support-for-USB-chargers.patch
# isp1704 usb charger detection driver
-linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
+# linux-2.6.37-power_supply-add-isp1704-charger-detection-driver.patch
#
# End of the Nokia N900 patches
++++++ deleted files:
--- linux-2.6-omap3camera.patch
--- linux-2.6.35-ac-2010-08-03.patch
--- linux-2.6.35-ac-2010-08-04.patch
--- linux-2.6.35-ac-2010-08-09.patch
--- linux-2.6.35-ac-fixups.patch
--- linux-2.6.35-phylib-Support-phy-module-autoloading.patch
--- linux-2.6.35-rc6-arm-buildgoof.patch
--- linux-2.6.37-leds-Add-lp5523-led-driver.patch
More information about the MeeGo-commits
mailing list