typedef struct
{ struct cdev cdev;
unsigned int value;
}led_dev;
在_init函数里面有
cdev_init(&led_dev->cdev, &GPIO_LED_ctl_ops);
这句话,但是被提示错误
error: parse error before "led_dev"
请问是哪里错了呀, 我调了很久了.
ret=cdev_add(&led_dev.cdev,devno,1); 这句话也会有这个错误.
我就是想在驱动程序里面能自动创建设备文件节点, 不需要insmod后再手工去mknod. 所以又把led驱动拿来改
typedef struct
{ struct cdev cdev;
unsigned int value;
}led_dev; // led_dev是一个类型
cdev_init(&led_dev->cdev, &GPIO_LED_ctl_ops); // 这里是把led_dev当作一个变量来用,前后不一致。
你需要另外定义一个led_dev的变量或者指针
led_dev dev;
cdev_init(&dev.cdev, &GPIO_LED_ctl_ops);
或者
led_dev *dev;
cdev_init(&dev->cdev, &GPIO_LED_ctl_ops);