aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch
diff options
context:
space:
mode:
authorJan Kobler <eng1@koblersystems.de>2011-03-01 14:01:38 +0100
committerTom Rini <tom_rini@mentor.com>2011-03-01 11:26:09 -0700
commit1840fd720b423ed4245a4fdb511170ae33dfde80 (patch)
tree92ec149ed37bf1981debf236649546c96c1024e4 /recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch
parentaffc152bd4df73fd3892eb09cab0a331fd282866 (diff)
downloadopenembedded-1840fd720b423ed4245a4fdb511170ae33dfde80.tar.gz
linux-2.6.31 config and patch files for pcm043
These config and patch files are from the Phytec Linux BSP for phyCORE-i.MX35 PD10.1.1. They were taken from the archive ftp://ftp.phytec.de/pub/Products/phyCORE-iMX350/Linux/PD10.1.1/OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1.tar.gz The patch files are from the folder in this archive OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1/configs/phyCORE-i.MX35-2010.08.0/patches/linux-2.6.31.6/generic The patch files have been shipped for linux-2.6.31.6 and are used here on linux-2.6.31.12. Because it seems to work, pcm043 is added to linux-2.6.31.bb. The sequence of the patches for pcm043 in linux-2.6.31.bb is derived from the file OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1/configs/phyCORE-i.MX35-2010.08.0/patches/linux-2.6.31.6/generic/series The defconfig file is the file OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1/configs/phyCORE-i.MX35-2010.08.0/kernelconfig These patch files from the folder OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1/configs/phyCORE-i.MX35-2010.08.0/patches/linux-2.6.31.6/generic are NOT used: 0063-add-generic-platform-bus-based-sja1000-driver.patch 0076-mx3fb-pretty-printing-update.patch 0078-sja1000-driver-Fix-net-device-stats.patch patch-2.6.31.6-rt19.gz because they are not referenced by the file OSELAS.BSP-Phytec-phyCORE-i.MX35-PD10.1.1/configs/phyCORE-i.MX35-2010.08.0/patches/linux-2.6.31.6/generic/series Signed-off-by: Jan Kobler <eng1@koblersystems.de> Signed-off-by: Tom Rini <tom_rini@mentor.com>
Diffstat (limited to 'recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch')
-rw-r--r--recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch b/recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch
new file mode 100644
index 0000000000..a6854e1feb
--- /dev/null
+++ b/recipes/linux/linux-2.6.31/pcm043/fix_max7301.patch
@@ -0,0 +1,28 @@
+Fix wrong setting of portconfig register.
+mask size is 2bits, so shift must be twice offset
+direction input value is 2
+
+Signed-off-by: Jan Weitzel <J.Weitzel@phytec.de>
+---
+Index: linux-2.6.28/drivers/gpio/max7301.c
+===================================================================
+--- linux-2.6.28.orig/drivers/gpio/max7301.c
++++ linux-2.6.28/drivers/gpio/max7301.c
+@@ -123,7 +123,7 @@ static int max7301_direction_input(struc
+
+ /* Standard GPIO API doesn't support pull-ups, has to be extended.
+ * Hard-coding no pollup for now. */
+- *config = (*config & ~(3 << (offset & 3))) | (1 << (offset & 3));
++ *config = (*config & ~(3 << (2*(offset & 3)))) | (2 << (2*(offset & 3)));
+
+ ret = max7301_write(ts->spi, 0x08 + (offset >> 2), *config);
+
+@@ -157,7 +157,7 @@ static int max7301_direction_output(stru
+
+ mutex_lock(&ts->lock);
+
+- *config = (*config & ~(3 << (offset & 3))) | (1 << (offset & 3));
++ *config = (*config & ~(3 << (2*(offset & 3)))) | (1 << (2*(offset & 3)));
+
+ ret = __max7301_set(ts, offset, value);
+