xref: /OK3568_Linux_fs/kernel/arch/sh/include/asm/gpio.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  *  include/asm-sh/gpio.h
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Generic GPIO API and pinmux table support for SuperH.
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Copyright (c) 2008 Magnus Damm
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun #ifndef __ASM_SH_GPIO_H
10*4882a593Smuzhiyun #define __ASM_SH_GPIO_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include <linux/kernel.h>
13*4882a593Smuzhiyun #include <linux/errno.h>
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #if defined(CONFIG_CPU_SH3)
16*4882a593Smuzhiyun #include <cpu/gpio.h>
17*4882a593Smuzhiyun #endif
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define ARCH_NR_GPIOS 512
20*4882a593Smuzhiyun #include <asm-generic/gpio.h>
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun #ifdef CONFIG_GPIOLIB
23*4882a593Smuzhiyun 
gpio_get_value(unsigned gpio)24*4882a593Smuzhiyun static inline int gpio_get_value(unsigned gpio)
25*4882a593Smuzhiyun {
26*4882a593Smuzhiyun 	return __gpio_get_value(gpio);
27*4882a593Smuzhiyun }
28*4882a593Smuzhiyun 
gpio_set_value(unsigned gpio,int value)29*4882a593Smuzhiyun static inline void gpio_set_value(unsigned gpio, int value)
30*4882a593Smuzhiyun {
31*4882a593Smuzhiyun 	__gpio_set_value(gpio, value);
32*4882a593Smuzhiyun }
33*4882a593Smuzhiyun 
gpio_cansleep(unsigned gpio)34*4882a593Smuzhiyun static inline int gpio_cansleep(unsigned gpio)
35*4882a593Smuzhiyun {
36*4882a593Smuzhiyun 	return __gpio_cansleep(gpio);
37*4882a593Smuzhiyun }
38*4882a593Smuzhiyun 
gpio_to_irq(unsigned gpio)39*4882a593Smuzhiyun static inline int gpio_to_irq(unsigned gpio)
40*4882a593Smuzhiyun {
41*4882a593Smuzhiyun 	return __gpio_to_irq(gpio);
42*4882a593Smuzhiyun }
43*4882a593Smuzhiyun 
irq_to_gpio(unsigned int irq)44*4882a593Smuzhiyun static inline int irq_to_gpio(unsigned int irq)
45*4882a593Smuzhiyun {
46*4882a593Smuzhiyun 	return -ENOSYS;
47*4882a593Smuzhiyun }
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun #endif /* CONFIG_GPIOLIB */
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun #endif /* __ASM_SH_GPIO_H */
52