* [PATCH 0/5] Few more omap fixes for 2.6.31
@ 2009-08-05 14:11 Tony Lindgren
2009-08-05 14:13 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs Tony Lindgren
` (7 more replies)
0 siblings, 8 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:11 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
Hi all,
Here are few more fixes for omap for review.
Regards,
Tony
---
Janboe Ye (1):
OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
Roger Quadros (2):
OMAP3: RX51: Define TWL4030 USB transceiver in board file
OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
Sergio Aguirre (1):
OMAP3: Overo: Fix smsc911x platform device resource value
Vikram Pandita (1):
OMAP2/3: DMA errata correction
arch/arm/mach-omap2/board-overo.c | 2 -
arch/arm/mach-omap2/board-rx51-peripherals.c | 5 ++
arch/arm/plat-omap/dma.c | 4 +-
arch/arm/plat-omap/gpio.c | 68 ++++++++++++++++++++++++--
arch/arm/plat-omap/sram.c | 4 +-
5 files changed, 75 insertions(+), 8 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
@ 2009-08-05 14:13 ` Tony Lindgren
2009-08-10 13:01 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs, v3 Tony Lindgren
2009-08-05 14:14 ` [PATCH 2/5] OMAP2/3: DMA errata correction Tony Lindgren
` (6 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:13 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Roger Quadros
From: Roger Quadros <ext-roger.quadros@nokia.com>
gpio_get() should return DATAIN register value when the GPIO
is configured as input whereas it should return DATAOUT register
value when the GPIO is configured as output.
Now /sys/kernel/debug/gpio shows proper values for output GPIOs
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/gpio.c | 68 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 64 insertions(+), 4 deletions(-)
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 26b387c..e702b88 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -476,14 +476,12 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
__raw_writel(l, reg);
}
-static int __omap_get_gpio_datain(int gpio)
+static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
{
- struct gpio_bank *bank;
void __iomem *reg;
if (check_gpio(gpio) < 0)
return -EINVAL;
- bank = get_gpio_bank(gpio);
reg = bank->base;
switch (bank->method) {
#ifdef CONFIG_ARCH_OMAP1
@@ -524,6 +522,53 @@ static int __omap_get_gpio_datain(int gpio)
& (1 << get_gpio_index(gpio))) != 0;
}
+static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
+{
+ void __iomem *reg;
+
+ if (check_gpio(gpio) < 0)
+ return -EINVAL;
+ reg = bank->base;
+
+ switch (bank->method) {
+#ifdef CONFIG_ARCH_OMAP1
+ case METHOD_MPUIO:
+ reg += OMAP_MPUIO_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP15XX
+ case METHOD_GPIO_1510:
+ reg += OMAP1510_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP16XX
+ case METHOD_GPIO_1610:
+ reg += OMAP1610_GPIO_DATAOUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP730
+ case METHOD_GPIO_730:
+ reg += OMAP730_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP850
+ case METHOD_GPIO_850:
+ reg += OMAP850_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
+ defined(CONFIG_ARCH_OMAP4)
+ case METHOD_GPIO_24XX:
+ reg += OMAP24XX_GPIO_DATAOUT;
+ break;
+#endif
+ default:
+ return -EINVAL;
+ }
+
+ return (__raw_readl(reg) & (1 << get_gpio_index(gpio))) != 0;
+}
+
#define MOD_REG_BIT(reg, bit_mask, set) \
do { \
int l = __raw_readl(base + reg); \
@@ -1350,9 +1395,24 @@ static int gpio_input(struct gpio_chip *chip, unsigned offset)
return 0;
}
+static int gpio_is_input(struct gpio_bank *bank, int mask);
+
static int gpio_get(struct gpio_chip *chip, unsigned offset)
{
- return __omap_get_gpio_datain(chip->base + offset);
+ struct gpio_bank *bank;
+ void __iomem *reg;
+ int gpio;
+ u32 mask;
+
+ gpio = chip->base + offset;
+ bank = get_gpio_bank(gpio);
+ reg = bank->base;
+ mask = 1 << get_gpio_index(gpio);
+
+ if (gpio_is_input(bank, mask))
+ return _get_gpio_datain(bank, gpio);
+ else
+ return _get_gpio_dataout(bank, gpio);
}
static int gpio_output(struct gpio_chip *chip, unsigned offset, int value)
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/5] OMAP2/3: DMA errata correction
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
2009-08-05 14:13 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs Tony Lindgren
@ 2009-08-05 14:14 ` Tony Lindgren
2009-08-10 11:52 ` [PATCH 1.5/5] OMAP: Fix testing of cpu defines for mach-omap1 Tony Lindgren
2009-08-05 14:15 ` [PATCH 3/5] OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size Tony Lindgren
` (5 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:14 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Nishant Kamat, Vikram Pandita, linux-omap
From: Vikram Pandita <vikram.pandita@ti.com>
This errata is valid for:
OMAP2420 Errata 1.85 Impacts all 2420 ES rev
OMAP2430 Errata 1.10 Impacts only ES1.0
Description: DMA may hang when several channels are used in parallel
OMAP3430: Not impacted, so remove the errata fix for omap3
Fixed issue reported on cpu_is_omap24xx check reported by Nishant Kamat
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Reviewed-by: Nishant Kamat <nskamat@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/dma.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 7677a4a..e3ac94f 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -946,7 +946,9 @@ void omap_start_dma(int lch)
cur_lch = next_lch;
} while (next_lch != -1);
- } else if (cpu_class_is_omap2()) {
+ } else if (cpu_is_omap242x() ||
+ (cpu_is_omap243x() && omap_type() <= OMAP2430_REV_ES1_0)) {
+
/* Errata: Need to write lch even if not using chaining */
dma_write(lch, CLNK_CTRL(lch));
}
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/5] OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
2009-08-05 14:13 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs Tony Lindgren
2009-08-05 14:14 ` [PATCH 2/5] OMAP2/3: DMA errata correction Tony Lindgren
@ 2009-08-05 14:15 ` Tony Lindgren
2009-08-05 14:17 ` [PATCH 4/5] OMAP3: Overo: Fix smsc911x platform device resource value Tony Lindgren
` (4 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:15 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Paul Walmsley, linux-omap, Janboe Ye, Li Hong Mei
From: Janboe Ye <yuan-bo.ye@motorola.com>
commit e85c205ac1427f2405021a36f083280ff0d0a35e increase vmalloc size.
vmalloc space will overlap with OMAP3 sram virtual address.
Signed-off-by: Li Hong Mei <hong-mei.li@motorola.com>
Signed-off-by: Janboe Ye <yuan-bo.ye@motorola.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
---
arch/arm/plat-omap/sram.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
index 4ea7380..2890b11 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -44,9 +44,9 @@
#define OMAP2_SRAM_VA 0xe3000000
#define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800)
#define OMAP3_SRAM_PA 0x40200000
-#define OMAP3_SRAM_VA 0xd7000000
+#define OMAP3_SRAM_VA 0xe3000000
#define OMAP3_SRAM_PUB_PA 0x40208000
-#define OMAP3_SRAM_PUB_VA 0xd7008000
+#define OMAP3_SRAM_PUB_VA (OMAP3_SRAM_VA + 0x8000)
#define OMAP4_SRAM_PA 0x40200000 /*0x402f0000*/
#define OMAP4_SRAM_VA 0xd7000000 /*0xd70f0000*/
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/5] OMAP3: Overo: Fix smsc911x platform device resource value
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
` (2 preceding siblings ...)
2009-08-05 14:15 ` [PATCH 3/5] OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size Tony Lindgren
@ 2009-08-05 14:17 ` Tony Lindgren
2009-08-05 14:18 ` [PATCH 5/5] OMAP3: RX51: Define TWL4030 USB transceiver in board file Tony Lindgren
` (3 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:17 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Sergio Aguirre, linux-omap
From: Sergio Aguirre <saaguirre@ti.com>
Fixes a wrong setting of resource parameter list in
SMSC911x platform driver data structure for Overo case.
This fixes folowing warning when compiling for Overo board:
warning: initialization from incompatible pointer type
Introduced since commit id:
commit 172ef275444efa12d834fb9d1b1acdac92db47f7
Author: Steve Sakoman <sakoman@gmail.com>
Date: Mon Feb 2 06:27:49 2009 +0000
ARM: Add SMSC911X support to Overo platform (V2)
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-overo.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index dff5528..fec1bb1 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -146,7 +146,7 @@ static struct platform_device overo_smsc911x_device = {
.name = "smsc911x",
.id = -1,
.num_resources = ARRAY_SIZE(overo_smsc911x_resources),
- .resource = &overo_smsc911x_resources,
+ .resource = overo_smsc911x_resources,
.dev = {
.platform_data = &overo_smsc911x_config,
},
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/5] OMAP3: RX51: Define TWL4030 USB transceiver in board file
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
` (3 preceding siblings ...)
2009-08-05 14:17 ` [PATCH 4/5] OMAP3: Overo: Fix smsc911x platform device resource value Tony Lindgren
@ 2009-08-05 14:18 ` Tony Lindgren
2009-08-06 6:52 ` [PATCH 5/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up Tony Lindgren
` (2 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-05 14:18 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Felipe Balbi, linux-omap, Roger Quadros
From: Roger Quadros <ext-roger.quadros@nokia.com>
Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer
dereference during MUSB initialisation.
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-rx51-peripherals.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index 9a0bf67..56d931a 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -278,6 +278,10 @@ static struct twl4030_gpio_platform_data rx51_gpio_data = {
.setup = rx51_twlgpio_setup,
};
+static struct twl4030_usb_data rx51_usb_data = {
+ .usb_mode = T2_USB_MODE_ULPI,
+};
+
static struct twl4030_platform_data rx51_twldata = {
.irq_base = TWL4030_IRQ_BASE,
.irq_end = TWL4030_IRQ_END,
@@ -286,6 +290,7 @@ static struct twl4030_platform_data rx51_twldata = {
.gpio = &rx51_gpio_data,
.keypad = &rx51_kp_data,
.madc = &rx51_madc_data,
+ .usb = &rx51_usb_data,
.vaux1 = &rx51_vaux1,
.vaux2 = &rx51_vaux2,
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
` (4 preceding siblings ...)
2009-08-05 14:18 ` [PATCH 5/5] OMAP3: RX51: Define TWL4030 USB transceiver in board file Tony Lindgren
@ 2009-08-06 6:52 ` Tony Lindgren
2009-08-06 6:54 ` [PATCH 6/5] " Tony Lindgren
2009-08-06 8:12 ` [PATCH 7/5] OMAP3: RX51: Updated rx51_defconfig Tony Lindgren
2009-08-07 9:01 ` Git pull request for omap fixes for 2.6.31 Tony Lindgren
7 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2009-08-06 6:52 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
[-- Attachment #1: Type: text/plain, Size: 37 bytes --]
One more patch I missed below.
Tony
[-- Attachment #2: mmc-free-regulators.patch --]
[-- Type: text/x-diff, Size: 1350 bytes --]
>From 8b28d125dcfa4a250a897baa2425d1f30dd56219 Mon Sep 17 00:00:00 2001
From: Roger Quadros <ext-roger.quadros@nokia.com>
Date: Thu, 6 Aug 2009 09:49:18 +0300
Subject: [PATCH] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
twl_mmc_cleanup() must free up the regulators that were
allocated by twl_mmc_late_init().
This eliminates the below error when 'omap_hsmmc' module is
repeatedly loaded and unloaded.
"sysfs: cannot create duplicate filename '/devices/platform
/mmci-omap-hs.0/microamps_requested_vmmc'"
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c
index 1541fd4..3c04c2f 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.c
+++ b/arch/arm/mach-omap2/mmc-twl4030.c
@@ -119,6 +119,7 @@ static int twl_mmc_late_init(struct device *dev)
if (i != 0)
break;
ret = PTR_ERR(reg);
+ hsmmc[i].vcc = NULL;
goto err;
}
hsmmc[i].vcc = reg;
@@ -165,8 +166,13 @@ done:
static void twl_mmc_cleanup(struct device *dev)
{
struct omap_mmc_platform_data *mmc = dev->platform_data;
+ int i;
gpio_free(mmc->slots[0].switch_pin);
+ for(i = 0; i < ARRAY_SIZE(hsmmc); i++) {
+ regulator_put(hsmmc[i].vcc);
+ regulator_put(hsmmc[i].vcc_aux);
+ }
}
#ifdef CONFIG_PM
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 6/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
2009-08-06 6:52 ` [PATCH 5/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up Tony Lindgren
@ 2009-08-06 6:54 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-06 6:54 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
* Tony Lindgren <tony@atomide.com> [090806 09:53]:
> One more patch I missed below.
And it should be numbered 6/5, not 5/5.
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 7/5] OMAP3: RX51: Updated rx51_defconfig
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
` (5 preceding siblings ...)
2009-08-06 6:52 ` [PATCH 5/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up Tony Lindgren
@ 2009-08-06 8:12 ` Tony Lindgren
2009-08-07 9:01 ` Git pull request for omap fixes for 2.6.31 Tony Lindgren
7 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-06 8:12 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
[-- Attachment #1: Type: text/plain, Size: 22 bytes --]
Just one more..
Tony
[-- Attachment #2: rx51-boots.patch --]
[-- Type: text/x-diff, Size: 1652 bytes --]
>From a46c20070f08759cfbd42c05fe7debb178d896cb Mon Sep 17 00:00:00 2001
From: Roger Quadros <ext-roger.quadros@nokia.com>
Date: Thu, 6 Aug 2009 11:07:46 +0300
Subject: [PATCH] OMAP3: RX51: Updated rx51_defconfig
Added REGULATOR, MMC and updated default CMDLINE so RX51 now boots.
Note that the regulator code should be moved from mmc-twl4030.c
to omap_hsmmc.c so it can be a module.
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig
index eb2cb31..f238df6 100644
--- a/arch/arm/configs/rx51_defconfig
+++ b/arch/arm/configs/rx51_defconfig
@@ -282,7 +282,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0"
+CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0 console=ttyS2,115200n8"
# CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
@@ -1354,7 +1354,7 @@ CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_ISP1301_OMAP is not set
CONFIG_TWL4030_USB=y
-CONFIG_MMC=m
+CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
@@ -1449,7 +1449,8 @@ CONFIG_RTC_DRV_TWL4030=m
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
-# CONFIG_REGULATOR is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_TWL4030=y
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Git pull request for omap fixes for 2.6.31
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
` (6 preceding siblings ...)
2009-08-06 8:12 ` [PATCH 7/5] OMAP3: RX51: Updated rx51_defconfig Tony Lindgren
@ 2009-08-07 9:01 ` Tony Lindgren
2009-08-07 9:06 ` Russell King - ARM Linux
7 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2009-08-07 9:01 UTC (permalink / raw)
To: Russell King; +Cc: linux-arm-kernel, linux-omap
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Hi Russell,
Here's the pull request for you.
Tony
[-- Attachment #2: pull.txt --]
[-- Type: text/plain, Size: 1234 bytes --]
The following changes since commit ed680c4ad478d0fee9740f7d029087f181346564:
Linus Torvalds (1):
Linux 2.6.31-rc5
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes
Janboe Ye (1):
OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
Roger Quadros (4):
OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
OMAP3: RX51: Define TWL4030 USB transceiver in board file
OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
OMAP3: RX51: Updated rx51_defconfig
Sergio Aguirre (1):
OMAP3: Overo: Fix smsc911x platform device resource value
Vikram Pandita (1):
OMAP2/3: DMA errata correction
arch/arm/configs/rx51_defconfig | 7 ++-
arch/arm/mach-omap2/board-overo.c | 2 +-
arch/arm/mach-omap2/board-rx51-peripherals.c | 5 ++
arch/arm/mach-omap2/mmc-twl4030.c | 6 ++
arch/arm/plat-omap/dma.c | 4 +-
arch/arm/plat-omap/gpio.c | 68 ++++++++++++++++++++++++--
arch/arm/plat-omap/sram.c | 4 +-
7 files changed, 85 insertions(+), 11 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Git pull request for omap fixes for 2.6.31
2009-08-07 9:01 ` Git pull request for omap fixes for 2.6.31 Tony Lindgren
@ 2009-08-07 9:06 ` Russell King - ARM Linux
2009-08-07 9:13 ` Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Russell King - ARM Linux @ 2009-08-07 9:06 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-arm-kernel, linux-omap
On Fri, Aug 07, 2009 at 12:01:48PM +0300, Tony Lindgren wrote:
> Here's the pull request for you.
I'll hold off merging this for a bit - I've sent Linus two pull requests
over the last couple of weeks, both of which so far haven't produced a
reaction. It would be unfair for me to merge more stuff onto that branch
until Linus has pulled.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Git pull request for omap fixes for 2.6.31
2009-08-07 9:06 ` Russell King - ARM Linux
@ 2009-08-07 9:13 ` Tony Lindgren
2009-08-10 13:18 ` Git pull request for omap fixes for 2.6.31, v2 Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2009-08-07 9:13 UTC (permalink / raw)
To: Russell King - ARM Linux; +Cc: linux-arm-kernel, linux-omap
* Russell King - ARM Linux <linux@arm.linux.org.uk> [090807 12:06]:
> On Fri, Aug 07, 2009 at 12:01:48PM +0300, Tony Lindgren wrote:
> > Here's the pull request for you.
>
> I'll hold off merging this for a bit - I've sent Linus two pull requests
> over the last couple of weeks, both of which so far haven't produced a
> reaction. It would be unfair for me to merge more stuff onto that branch
> until Linus has pulled.
OK thanks.
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1.5/5] OMAP: Fix testing of cpu defines for mach-omap1
2009-08-05 14:14 ` [PATCH 2/5] OMAP2/3: DMA errata correction Tony Lindgren
@ 2009-08-10 11:52 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-10 11:52 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Nishant Kamat, Vikram Pandita, linux-omap
[-- Attachment #1: Type: text/plain, Size: 136 bytes --]
Looks like this is needed before the 2/5 patch for DMA workaround patch to
keep compile working on mach-omap1 machines.
Regards,
Tony
[-- Attachment #2: cpu-remove-ifdef.patch --]
[-- Type: text/x-diff, Size: 1246 bytes --]
>From f60e4730feab2b3d0101d059534123e04fc26862 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Mon, 10 Aug 2009 14:04:15 +0300
Subject: [PATCH] OMAP: Fix testing of cpu defines for mach-omap1
There's no need to keep these defines limited in the ifdef block
for mach-omap2. It will just cause problems testing for the CPU
revision in the common code, like the next patch does for the DMA
errata.
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h
index 285eaa3..11e73d9 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -378,9 +378,6 @@ IS_OMAP_TYPE(3430, 0x3430)
#define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \
cpu_is_omap44xx())
-#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
- defined(CONFIG_ARCH_OMAP4)
-
/* Various silicon revisions for omap2 */
#define OMAP242X_CLASS 0x24200024
#define OMAP2420_REV_ES1_0 0x24200024
@@ -436,5 +433,3 @@ IS_OMAP_TYPE(3430, 0x3430)
int omap_chip_is(struct omap_chip_id oci);
void omap2_check_revision(void);
-
-#endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs, v3
2009-08-05 14:13 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs Tony Lindgren
@ 2009-08-10 13:01 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-10 13:01 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Roger Quadros
[-- Attachment #1: Type: text/plain, Size: 84 bytes --]
Here's an update from Roger for this one that builds without
CONFIG_DEBUG_FS.
Tony
[-- Attachment #2: gpio-data-v3.patch --]
[-- Type: text/x-diff, Size: 4331 bytes --]
>From b37c45b8c27c049dc44673e40fd63820fd9a9d91 Mon Sep 17 00:00:00 2001
From: Roger Quadros <ext-roger.quadros@nokia.com>
Date: Wed, 5 Aug 2009 16:53:24 +0300
Subject: [PATCH] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
gpio_get() should return DATAIN register value when the GPIO
is configured as input whereas it should return DATAOUT register
value when the GPIO is configured as output.
Now /sys/kernel/debug/gpio shows proper values for output GPIOs
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 26b387c..9c16ca8 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -476,14 +476,12 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
__raw_writel(l, reg);
}
-static int __omap_get_gpio_datain(int gpio)
+static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
{
- struct gpio_bank *bank;
void __iomem *reg;
if (check_gpio(gpio) < 0)
return -EINVAL;
- bank = get_gpio_bank(gpio);
reg = bank->base;
switch (bank->method) {
#ifdef CONFIG_ARCH_OMAP1
@@ -524,6 +522,53 @@ static int __omap_get_gpio_datain(int gpio)
& (1 << get_gpio_index(gpio))) != 0;
}
+static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
+{
+ void __iomem *reg;
+
+ if (check_gpio(gpio) < 0)
+ return -EINVAL;
+ reg = bank->base;
+
+ switch (bank->method) {
+#ifdef CONFIG_ARCH_OMAP1
+ case METHOD_MPUIO:
+ reg += OMAP_MPUIO_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP15XX
+ case METHOD_GPIO_1510:
+ reg += OMAP1510_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP16XX
+ case METHOD_GPIO_1610:
+ reg += OMAP1610_GPIO_DATAOUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP730
+ case METHOD_GPIO_730:
+ reg += OMAP730_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#ifdef CONFIG_ARCH_OMAP850
+ case METHOD_GPIO_850:
+ reg += OMAP850_GPIO_DATA_OUTPUT;
+ break;
+#endif
+#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
+ defined(CONFIG_ARCH_OMAP4)
+ case METHOD_GPIO_24XX:
+ reg += OMAP24XX_GPIO_DATAOUT;
+ break;
+#endif
+ default:
+ return -EINVAL;
+ }
+
+ return (__raw_readl(reg) & (1 << get_gpio_index(gpio))) != 0;
+}
+
#define MOD_REG_BIT(reg, bit_mask, set) \
do { \
int l = __raw_readl(base + reg); \
@@ -1350,9 +1395,49 @@ static int gpio_input(struct gpio_chip *chip, unsigned offset)
return 0;
}
+static int gpio_is_input(struct gpio_bank *bank, int mask)
+{
+ void __iomem *reg = bank->base;
+
+ switch (bank->method) {
+ case METHOD_MPUIO:
+ reg += OMAP_MPUIO_IO_CNTL;
+ break;
+ case METHOD_GPIO_1510:
+ reg += OMAP1510_GPIO_DIR_CONTROL;
+ break;
+ case METHOD_GPIO_1610:
+ reg += OMAP1610_GPIO_DIRECTION;
+ break;
+ case METHOD_GPIO_730:
+ reg += OMAP730_GPIO_DIR_CONTROL;
+ break;
+ case METHOD_GPIO_850:
+ reg += OMAP850_GPIO_DIR_CONTROL;
+ break;
+ case METHOD_GPIO_24XX:
+ reg += OMAP24XX_GPIO_OE;
+ break;
+ }
+ return __raw_readl(reg) & mask;
+}
+
static int gpio_get(struct gpio_chip *chip, unsigned offset)
{
- return __omap_get_gpio_datain(chip->base + offset);
+ struct gpio_bank *bank;
+ void __iomem *reg;
+ int gpio;
+ u32 mask;
+
+ gpio = chip->base + offset;
+ bank = get_gpio_bank(gpio);
+ reg = bank->base;
+ mask = 1 << get_gpio_index(gpio);
+
+ if (gpio_is_input(bank, mask))
+ return _get_gpio_datain(bank, gpio);
+ else
+ return _get_gpio_dataout(bank, gpio);
}
static int gpio_output(struct gpio_chip *chip, unsigned offset, int value)
@@ -1886,34 +1971,6 @@ arch_initcall(omap_gpio_sysinit);
#include <linux/debugfs.h>
#include <linux/seq_file.h>
-static int gpio_is_input(struct gpio_bank *bank, int mask)
-{
- void __iomem *reg = bank->base;
-
- switch (bank->method) {
- case METHOD_MPUIO:
- reg += OMAP_MPUIO_IO_CNTL;
- break;
- case METHOD_GPIO_1510:
- reg += OMAP1510_GPIO_DIR_CONTROL;
- break;
- case METHOD_GPIO_1610:
- reg += OMAP1610_GPIO_DIRECTION;
- break;
- case METHOD_GPIO_730:
- reg += OMAP730_GPIO_DIR_CONTROL;
- break;
- case METHOD_GPIO_850:
- reg += OMAP850_GPIO_DIR_CONTROL;
- break;
- case METHOD_GPIO_24XX:
- reg += OMAP24XX_GPIO_OE;
- break;
- }
- return __raw_readl(reg) & mask;
-}
-
-
static int dbg_gpio_show(struct seq_file *s, void *unused)
{
unsigned i, j, gpio;
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Git pull request for omap fixes for 2.6.31, v2
2009-08-07 9:13 ` Tony Lindgren
@ 2009-08-10 13:18 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2009-08-10 13:18 UTC (permalink / raw)
To: Russell King - ARM Linux; +Cc: linux-arm-kernel, linux-omap
[-- Attachment #1: Type: text/plain, Size: 668 bytes --]
* Tony Lindgren <tony@atomide.com> [090807 12:14]:
> * Russell King - ARM Linux <linux@arm.linux.org.uk> [090807 12:06]:
> > On Fri, Aug 07, 2009 at 12:01:48PM +0300, Tony Lindgren wrote:
> > > Here's the pull request for you.
> >
> > I'll hold off merging this for a bit - I've sent Linus two pull requests
> > over the last couple of weeks, both of which so far haven't produced a
> > reaction. It would be unfair for me to merge more stuff onto that branch
> > until Linus has pulled.
>
> OK thanks.
Looks like I did not test this series enough.. I've updated it now for the
two patches as posted here earlier today. Updated pull request below.
Regards,
Tony
[-- Attachment #2: pull.txt --]
[-- Type: text/plain, Size: 1362 bytes --]
The following changes since commit ed680c4ad478d0fee9740f7d029087f181346564:
Linus Torvalds (1):
Linux 2.6.31-rc5
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes
Janboe Ye (1):
OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
Roger Quadros (4):
OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
OMAP3: RX51: Define TWL4030 USB transceiver in board file
OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
OMAP3: RX51: Updated rx51_defconfig
Sergio Aguirre (1):
OMAP3: Overo: Fix smsc911x platform device resource value
Tony Lindgren (1):
OMAP: Fix testing of cpu defines for mach-omap1
Vikram Pandita (1):
OMAP2/3: DMA errata correction
arch/arm/configs/rx51_defconfig | 7 +-
arch/arm/mach-omap2/board-overo.c | 2 +-
arch/arm/mach-omap2/board-rx51-peripherals.c | 5 +
arch/arm/mach-omap2/mmc-twl4030.c | 6 ++
arch/arm/plat-omap/dma.c | 4 +-
arch/arm/plat-omap/gpio.c | 121 +++++++++++++++++++-------
arch/arm/plat-omap/include/mach/cpu.h | 5 -
arch/arm/plat-omap/sram.c | 4 +-
8 files changed, 110 insertions(+), 44 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-08-10 13:18 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-05 14:11 [PATCH 0/5] Few more omap fixes for 2.6.31 Tony Lindgren
2009-08-05 14:13 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs Tony Lindgren
2009-08-10 13:01 ` [PATCH 1/5] OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs, v3 Tony Lindgren
2009-08-05 14:14 ` [PATCH 2/5] OMAP2/3: DMA errata correction Tony Lindgren
2009-08-10 11:52 ` [PATCH 1.5/5] OMAP: Fix testing of cpu defines for mach-omap1 Tony Lindgren
2009-08-05 14:15 ` [PATCH 3/5] OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size Tony Lindgren
2009-08-05 14:17 ` [PATCH 4/5] OMAP3: Overo: Fix smsc911x platform device resource value Tony Lindgren
2009-08-05 14:18 ` [PATCH 5/5] OMAP3: RX51: Define TWL4030 USB transceiver in board file Tony Lindgren
2009-08-06 6:52 ` [PATCH 5/5] OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up Tony Lindgren
2009-08-06 6:54 ` [PATCH 6/5] " Tony Lindgren
2009-08-06 8:12 ` [PATCH 7/5] OMAP3: RX51: Updated rx51_defconfig Tony Lindgren
2009-08-07 9:01 ` Git pull request for omap fixes for 2.6.31 Tony Lindgren
2009-08-07 9:06 ` Russell King - ARM Linux
2009-08-07 9:13 ` Tony Lindgren
2009-08-10 13:18 ` Git pull request for omap fixes for 2.6.31, v2 Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox