1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_LANDISK_GIO_H
3 #define __ASM_SH_LANDISK_GIO_H
4 
5 #include <linux/ioctl.h>
6 
7 /* version */
8 #define VERSION_STR	"1.00"
9 
10 /* Driver name */
11 #define GIO_DRIVER_NAME		"/dev/giodrv"
12 
13 /* Use 'k' as magic number */
14 #define GIODRV_IOC_MAGIC  'k'
15 
16 #define GIODRV_IOCRESET    _IO(GIODRV_IOC_MAGIC, 0)
17 /*
18  * S means "Set" through a ptr,
19  * T means "Tell" directly
20  * G means "Get" (to a pointed var)
21  * Q means "Query", response is on the return value
22  * X means "eXchange": G and S atomically
23  * H means "sHift": T and Q atomically
24  */
25 #define GIODRV_IOCSGIODATA1   _IOW(GIODRV_IOC_MAGIC,  1, unsigned char *)
26 #define GIODRV_IOCGGIODATA1   _IOR(GIODRV_IOC_MAGIC,  2, unsigned char *)
27 #define GIODRV_IOCSGIODATA2   _IOW(GIODRV_IOC_MAGIC,  3, unsigned short *)
28 #define GIODRV_IOCGGIODATA2   _IOR(GIODRV_IOC_MAGIC,  4, unsigned short *)
29 #define GIODRV_IOCSGIODATA4   _IOW(GIODRV_IOC_MAGIC,  5, unsigned long *)
30 #define GIODRV_IOCGGIODATA4   _IOR(GIODRV_IOC_MAGIC,  6, unsigned long *)
31 #define GIODRV_IOCSGIOSETADDR _IOW(GIODRV_IOC_MAGIC,  7, unsigned long *)
32 #define GIODRV_IOCHARDRESET   _IO(GIODRV_IOC_MAGIC, 8) /* debugging tool */
33 #define GIODRV_IOC_MAXNR 8
34 
35 #define GIO_READ 0x00000000
36 #define GIO_WRITE 0x00000001
37 
38 #endif /* __ASM_SH_LANDISK_GIO_H  */
39