为什么这样编译就出现错误!
头文件里定义的
#define GPIO_IOCTL_MAGIC "G"
#define LED1_SWT _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define LED2_SWT _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define LED3_SWT _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define LED4_SWT _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define BEEP_SWT _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
然后C文件里的
static int gpio_ioctl(struct inode *inode,struct file *file, unsigned int cmd,unsigned long arg)
{
unsigned int swt = (unsigned int)arg;
switch(cmd)
{
case LED1_SWT: { switch_gpio(S3C2410_GPB5,swt);} break;
case LED2_SWT: { switch_gpio(S3C2410_GPB6,swt);} break;
case LED3_SWT: { switch_gpio(S3C2410_GPB7,swt);} break;
case LED4_SWT: { switch_gpio(S3C2410_GPB8,swt);} break;
case BEEP_SWT: { switch_gpio(S3C2410_GPB0,swt);} break;
default:
{
printk("Unsupported command/n");
break;
}
}
return 0;
}就出现问题,
关键就是case LED1_SWT: 这个case写法好像有问题,我有看不出来什么不对。。。 |