struct plcm_io {
	int value;
	char msg[40];
};
#define PLCM_IOCTL_STOP_THREAD	 _IOWR('O',0x00,struct plcm_io)
#define PLCM_IOCTL_BACKLIGHT	 _IOWR('O',0x01,struct plcm_io)
#define PLCM_IOCTL_SET_LINE	     _IOWR('O',0x02,struct plcm_io)
#define PLCM_IOCTL_CLEARDISPLAY	 _IOWR('O',0x03,struct plcm_io)
#define PLCM_IOCTL_RETURNHOME	 _IOWR('O',0x04,struct plcm_io)
#define PLCM_IOCTL_ENTRYMODE_ID	 _IOWR('O',0x05,struct plcm_io)
#define PLCM_IOCTL_ENTRYMODE_SH	 _IOWR('O',0x06,struct plcm_io)
#define PLCM_IOCTL_DISPLAY_D	 _IOWR('O',0x07,struct plcm_io)
#define PLCM_IOCTL_DISPLAY_C	 _IOWR('O',0x08,struct plcm_io)
#define PLCM_IOCTL_DISPLAY_B	 _IOWR('O',0x09,struct plcm_io)
#define PLCM_IOCTL_SHIFT_SC  	 _IOWR('O',0x0A,struct plcm_io)
#define PLCM_IOCTL_SHIFT_RL  	 _IOWR('O',0x0B,struct plcm_io)
#define PLCM_IOCTL_GET_KEYPAD  	 _IOWR('O',0x0C,struct plcm_io)
#define PLCM_IOCTL_WRITE  	     _IOWR('O',0x0D,struct plcm_io)
#define PLCM_IOCTL_READ  	     _IOWR('O',0x0E,struct plcm_io)

#ifdef _KERNEL
#define cdev_plcm_init(c, n) { \
	dev_init(c, n, open), \
	dev_init(c, n, close), \
	(dev_type_read((*))) lkmenodev, \
	(dev_type_write((*))) lkmenodev, \
	dev_init(c, n, ioctl), \
	(dev_type_stop((*))) lkmenodev, \
	(dev_type_poll((*))) lkmenodev, \
	(dev_type_mmap((*))) lkmenodev \
}
#endif