mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 17:16:45 +07:00
0a4b04dc29
ARM is moving to stricter checks on readl/write functions, so we need to use the correct types everywhere. This patch is a bit ugly for shmobile, which is the only platform that just uses integer literals all over the place, but I can't see a better way to do this. Acked-by: Simon Horman <horms@verge.net.au> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
63 lines
1.2 KiB
C
63 lines
1.2 KiB
C
/*
|
|
* 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(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 */
|