-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: shmobile: move custom gpio functions to sh-gpio.h
Move custom shmobile gpio code to a sh-gpio.h to remove the dependency on mach/gpio.h. shmobile always uses gpiolib, so we can remove __GPIOLIB_COMPLEX define from mach/gpio.h. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com>
- Loading branch information
Rob Herring
committed
Sep 14, 2012
1 parent
74595e1
commit 6679185
Showing
13 changed files
with
64 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,6 +42,8 @@ | |
#include <asm/mach-types.h> | ||
#include <asm/mach/arch.h> | ||
|
||
#include "sh-gpio.h" | ||
|
||
/* | ||
* SDHI | ||
* | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1 @@ | ||
/* | ||
* Generic GPIO API and pinmux table support | ||
* | ||
* Copyright (c) 2008 Magnus Damm | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
#ifndef __ASM_ARCH_GPIO_H | ||
#define __ASM_ARCH_GPIO_H | ||
|
||
#include <linux/kernel.h> | ||
#include <linux/errno.h> | ||
#include <linux/sh_pfc.h> | ||
#include <linux/io.h> | ||
|
||
#ifdef CONFIG_GPIOLIB | ||
|
||
static inline int irq_to_gpio(unsigned int irq) | ||
{ | ||
return -ENOSYS; | ||
} | ||
|
||
#else | ||
|
||
#define __ARM_GPIOLIB_COMPLEX | ||
|
||
#endif /* CONFIG_GPIOLIB */ | ||
|
||
/* | ||
* FIXME !! | ||
* | ||
* current gpio frame work doesn't have | ||
* the method to control only pull up/down/free. | ||
* this function should be replaced by correct gpio function | ||
*/ | ||
static inline void __init gpio_direction_none(u32 addr) | ||
{ | ||
__raw_writeb(0x00, addr); | ||
} | ||
|
||
static inline void __init gpio_request_pullup(u32 addr) | ||
{ | ||
u8 data = __raw_readb(addr); | ||
|
||
data &= 0x0F; | ||
data |= 0xC0; | ||
__raw_writeb(data, addr); | ||
} | ||
|
||
static inline void __init gpio_request_pulldown(u32 addr) | ||
{ | ||
u8 data = __raw_readb(addr); | ||
|
||
data &= 0x0F; | ||
data |= 0xA0; | ||
|
||
__raw_writeb(data, addr); | ||
} | ||
|
||
#endif /* __ASM_ARCH_GPIO_H */ | ||
/* empty */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/* | ||
* Generic GPIO API and pinmux table support | ||
* | ||
* Copyright (c) 2008 Magnus Damm | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
#ifndef __ASM_ARCH_GPIO_H | ||
#define __ASM_ARCH_GPIO_H | ||
|
||
#include <linux/kernel.h> | ||
#include <linux/errno.h> | ||
#include <linux/io.h> | ||
|
||
/* | ||
* FIXME !! | ||
* | ||
* current gpio frame work doesn't have | ||
* the method to control only pull up/down/free. | ||
* this function should be replaced by correct gpio function | ||
*/ | ||
static inline void __init gpio_direction_none(u32 addr) | ||
{ | ||
__raw_writeb(0x00, addr); | ||
} | ||
|
||
static inline void __init gpio_request_pullup(u32 addr) | ||
{ | ||
u8 data = __raw_readb(addr); | ||
|
||
data &= 0x0F; | ||
data |= 0xC0; | ||
__raw_writeb(data, addr); | ||
} | ||
|
||
static inline void __init gpio_request_pulldown(u32 addr) | ||
{ | ||
u8 data = __raw_readb(addr); | ||
|
||
data &= 0x0F; | ||
data |= 0xA0; | ||
|
||
__raw_writeb(data, addr); | ||
} | ||
|
||
#endif /* __ASM_ARCH_GPIO_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters