f74e92c64f354cd20aec2a9f396c2dc0583fe272
[openwrt-10.03/.git] / target / linux / brcm-2.4 / files / arch / mips / bcm947xx / include / linux_gpio.h
1 /*
2  * Linux Broadcom BCM47xx GPIO char driver
3  *
4  * Copyright 2007, Broadcom Corporation
5  * All Rights Reserved.
6  * 
7  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11  *
12  * $Id$
13  */
14
15 #ifndef _linux_gpio_h_
16 #define _linux_gpio_h_
17
18 struct gpio_ioctl {
19         uint32 mask;
20         uint32 val;
21 };
22
23 #define GPIO_IOC_MAGIC  'G'
24
25 /* reserve/release a gpio to the caller */
26 #define  GPIO_IOC_RESERVE       _IOWR(GPIO_IOC_MAGIC, 1, struct gpio_ioctl)
27 #define  GPIO_IOC_RELEASE       _IOWR(GPIO_IOC_MAGIC, 2, struct gpio_ioctl)
28 /* ioctls to read/write the gpio registers */
29 #define  GPIO_IOC_OUT           _IOWR(GPIO_IOC_MAGIC, 3, struct gpio_ioctl)
30 #define  GPIO_IOC_IN            _IOWR(GPIO_IOC_MAGIC, 4, struct gpio_ioctl)
31 #define  GPIO_IOC_OUTEN         _IOWR(GPIO_IOC_MAGIC, 5, struct gpio_ioctl)
32
33 #endif  /* _linux_gpio_h_ */