[linux驱动]设备驱动模型相关(二)——常用API

1,在/sys/class/目录下创建一个设备节点,比如创建一个class_test_usb的设备节点
static struct calss *test_class;
test_class = class_creat(THIS_MODULE,"class_test_usb");

2,在class_test_usb目录下创建另外一个设备节点android0,如下
struct device *dev;
dev = device_creat(test_calss,NULL,MKDEV(0,0),NULL,"android0");
if(IS_ERR(dev))
	return PTR_ERR(dev);

3,在/sys/class/class_test_usb/android0/目录下创建几个其它设备节点enable state等
static struct device_attribute* test_attributes[]={
	&dev_attr_state,
	&dev_attr_enable,
	NULL
}
static DEVICE_ATTR(enable,S_IRUGO |S_IWUSR,enable_show,enable_store);


struct device_attribute ** attrs=test_attributes;
struct device_attribute *attr;
int err;
while((attr=*attrs++))
{
	err=device_creat_file(dev,attr);
	if(err)
	{
		device_destory(test_class,dev->devt);
		return err;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值