diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2012-10-09 16:03:21 +0200 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-10-09 16:04:25 +0200 |
commit | ffe315012510165ce82e4dd4767f0a5dba9edbf7 (patch) | |
tree | f601cd980af9d0ced5ca9aedecef4fa0d2ca0e15 /arch/arm/mach-shmobile/sh-gpio.h | |
parent | mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID (diff) | |
parent | UAPI: (Scripted) Disintegrate include/mtd (diff) | |
download | linux-ffe315012510165ce82e4dd4767f0a5dba9edbf7.tar.xz linux-ffe315012510165ce82e4dd4767f0a5dba9edbf7.zip |
Merge tag 'disintegrate-mtd-20121009' of git://git.infradead.org/users/dhowells/linux-headers
UAPI Disintegration 2012-10-09
Conflicts:
MAINTAINERS
arch/arm/configs/bcmring_defconfig
arch/arm/mach-imx/clk-imx51-imx53.c
drivers/mtd/nand/Kconfig
drivers/mtd/nand/bcm_umi_nand.c
drivers/mtd/nand/nand_bcm_umi.h
drivers/mtd/nand/orion_nand.c
Diffstat (limited to 'arch/arm/mach-shmobile/sh-gpio.h')
-rw-r--r-- | arch/arm/mach-shmobile/sh-gpio.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/sh-gpio.h b/arch/arm/mach-shmobile/sh-gpio.h new file mode 100644 index 000000000000..e834763ac2a5 --- /dev/null +++ b/arch/arm/mach-shmobile/sh-gpio.h @@ -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(void __iomem * addr) +{ + __raw_writeb(0x00, addr); +} + +static inline void __init gpio_request_pullup(void __iomem * addr) +{ + u8 data = __raw_readb(addr); + + data &= 0x0F; + data |= 0xC0; + __raw_writeb(data, addr); +} + +static inline void __init gpio_request_pulldown(void __iomem * addr) +{ + u8 data = __raw_readb(addr); + + data &= 0x0F; + data |= 0xA0; + + __raw_writeb(data, addr); +} + +#endif /* __ASM_ARCH_GPIO_H */ |