ixp4xx: fix gpio_line_set() logic, fixes #18986
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 44439
This commit is contained in:
parent
8f3e9c91a8
commit
285348e086
@ -1,6 +1,6 @@
|
|||||||
--- a/arch/arm/mach-ixp4xx/common.c
|
--- a/arch/arm/mach-ixp4xx/common.c
|
||||||
+++ b/arch/arm/mach-ixp4xx/common.c
|
+++ b/arch/arm/mach-ixp4xx/common.c
|
||||||
@@ -84,22 +84,7 @@ void __init ixp4xx_map_io(void)
|
@@ -93,22 +93,7 @@
|
||||||
/*
|
/*
|
||||||
* GPIO-functions
|
* GPIO-functions
|
||||||
*/
|
*/
|
||||||
@ -24,7 +24,7 @@
|
|||||||
{
|
{
|
||||||
if (direction == IXP4XX_GPIO_IN)
|
if (direction == IXP4XX_GPIO_IN)
|
||||||
*IXP4XX_GPIO_GPOER |= (1 << line);
|
*IXP4XX_GPIO_GPOER |= (1 << line);
|
||||||
@@ -107,12 +92,12 @@ static void gpio_line_config(u8 line, u3
|
@@ -116,17 +101,17 @@
|
||||||
*IXP4XX_GPIO_GPOER &= ~(1 << line);
|
*IXP4XX_GPIO_GPOER &= ~(1 << line);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,11 +37,19 @@
|
|||||||
-static void gpio_line_set(u8 line, int value)
|
-static void gpio_line_set(u8 line, int value)
|
||||||
+void gpio_line_set(u8 line, int value)
|
+void gpio_line_set(u8 line, int value)
|
||||||
{
|
{
|
||||||
if (value == IXP4XX_GPIO_HIGH)
|
- if (value == IXP4XX_GPIO_HIGH)
|
||||||
*IXP4XX_GPIO_GPOUTR |= (1 << line);
|
- *IXP4XX_GPIO_GPOUTR |= (1 << line);
|
||||||
|
- else if (value == IXP4XX_GPIO_LOW)
|
||||||
|
+ if (value == IXP4XX_GPIO_LOW)
|
||||||
|
*IXP4XX_GPIO_GPOUTR &= ~(1 << line);
|
||||||
|
+ else
|
||||||
|
+ *IXP4XX_GPIO_GPOUTR |= (1 << line);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
|
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
|
||||||
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
|
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
|
||||||
@@ -131,5 +131,21 @@ struct pci_sys_data;
|
@@ -131,5 +131,21 @@
|
||||||
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
||||||
extern struct pci_ops ixp4xx_ops;
|
extern struct pci_ops ixp4xx_ops;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user