diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-06-04 15:31:01 -0400 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-07-22 12:46:37 -0400 |
commit | e480158cc825b45eebcc2ff2ff5e5f7965c3875f (patch) | |
tree | 8d43fa800f869e537aade0cbf952d8c3a671ed75 /arch/openrisc | |
parent | 88ef7f3f130ddd37f72bc919865eeefe1d437787 (diff) |
OpenRISC: GPIO
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/openrisc')
-rw-r--r-- | arch/openrisc/include/asm/gpio.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/arch/openrisc/include/asm/gpio.h b/arch/openrisc/include/asm/gpio.h new file mode 100644 index 000000000000..0b0d174f47cd --- /dev/null +++ b/arch/openrisc/include/asm/gpio.h | |||
@@ -0,0 +1,65 @@ | |||
1 | /* | ||
2 | * OpenRISC Linux | ||
3 | * | ||
4 | * Linux architectural port borrowing liberally from similar works of | ||
5 | * others. All original copyrights apply as per the original source | ||
6 | * declaration. | ||
7 | * | ||
8 | * OpenRISC implementation: | ||
9 | * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> | ||
10 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | ||
11 | * et al. | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2 of the License, or | ||
16 | * (at your option) any later version. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ASM_OPENRISC_GPIO_H | ||
20 | #define __ASM_OPENRISC_GPIO_H | ||
21 | |||
22 | #include <linux/errno.h> | ||
23 | #include <asm-generic/gpio.h> | ||
24 | |||
25 | #ifdef CONFIG_GPIOLIB | ||
26 | |||
27 | /* | ||
28 | * OpenRISC (or1k) does not have on-chip GPIO's so there is not really | ||
29 | * any standardized implementation that makes sense here. If passing | ||
30 | * through gpiolib becomes a bottleneck then it may make sense, on a | ||
31 | * case-by-case basis, to implement these inlined/rapid versions. | ||
32 | * | ||
33 | * Just call gpiolib. | ||
34 | */ | ||
35 | static inline int gpio_get_value(unsigned int gpio) | ||
36 | { | ||
37 | return __gpio_get_value(gpio); | ||
38 | } | ||
39 | |||
40 | static inline void gpio_set_value(unsigned int gpio, int value) | ||
41 | { | ||
42 | __gpio_set_value(gpio, value); | ||
43 | } | ||
44 | |||
45 | static inline int gpio_cansleep(unsigned int gpio) | ||
46 | { | ||
47 | return __gpio_cansleep(gpio); | ||
48 | } | ||
49 | |||
50 | /* | ||
51 | * Not implemented, yet. | ||
52 | */ | ||
53 | static inline int gpio_to_irq(unsigned int gpio) | ||
54 | { | ||
55 | return -ENOSYS; | ||
56 | } | ||
57 | |||
58 | static inline int irq_to_gpio(unsigned int irq) | ||
59 | { | ||
60 | return -EINVAL; | ||
61 | } | ||
62 | |||
63 | #endif /* CONFIG_GPIOLIB */ | ||
64 | |||
65 | #endif /* __ASM_OPENRISC_GPIO_H */ | ||