cfg80211: Replace zero-length array with flexible-array
[carl9170fw.git] / carlfw / include / gpio.h
1 /*
2  * carl9170 firmware - used by the ar9170 wireless device
3  *
4  * GPIO definitions
5  *
6  * Copyright 2009-2011 Christian Lamparter <chunkeey@googlemail.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program; If not, see <http://www.gnu.org/licenses/>.
20  */
21
22 #ifndef __CARL9170FW_GPIO_H
23 #define __CARL9170FW_GPIO_H
24
25 #include "config.h"
26 #include "hw.h"
27 #include "io.h"
28
29 static inline __inline void led_init(void)
30 {
31         set(AR9170_GPIO_REG_PORT_TYPE, 3);
32 }
33
34 static inline __inline void led_set(const unsigned int ledstate)
35 {
36         set(AR9170_GPIO_REG_PORT_DATA, ledstate);
37 }
38
39 static inline __inline u16 get_random_u16(void)
40 {
41         return getw(AR9170_RAND_REG_NUM);
42 }
43
44 #ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT
45
46 void gpio_timer(void);
47
48 #endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */
49 #endif /* __CARL9170FW_GPIO_H */