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