006_注册设备

一、在虚拟平台platform总线上注册设备

1、platform_device结构体

(1)位置

	源码目录下的include/linux/platform_device.h中。

(2)代码

struct platform_device {
	const char	* name;//设备的名称,在/sys/devices中会显示
	int		id;    //设备的id,用于插入总线并且具有相同name的设备编号,
                           //如果只有一个设备,则为-1
	struct device	dev;   //结构体中内嵌的device结构体
	u32		num_resources;  //设备使用资源的数量
	struct resource	* resource;     //设备使用的资源数组

	const struct platform_device_id	*id_entry;

	/* MFD cell pointer */
	struct mfd_cell *mfd_cell;

	/* arch specific additions */
	struct pdev_archdata	archdata;
};

在大多数驱动中,需要写的只有设备名name 和设备编号id,常用的还有资源数组resource。

二、添加设备到平台总线

(1)打开源码目录下 arch/arm/mach-exynos/mach-itop4412.c文件,在里面添加如下内容:
下面以skyfall为例子。

#ifdef CONFIG_SKYFALL_CTL
struct platform_device s3c_dev
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值