itop-4412之设备注册

本节主要介绍如何在平台总线中注册设备

1. 设备注册需要用到结构体
  • platform_device
    该结构体的头文件为:include/linux/platform_device.h
    主要是用来定义设备的名称、子设备编号。具体结构如下所示:

    这里写图片描述

  • 参数说明
    “name”:设备名称,驱动初始化前需要和注册驱动的”name”字段匹配参数
    “id”:表示子设备编号,一个设备额如果有多个子设备,则需写入子设备数量,如果只有一个则用-1表示。
    “device”:表示结构体内嵌的设备结构体。
    “num_resource”:表示设备使用的资源数组。

2. 设备注册流程
  • 在平台文件中注册设备
    平台文件路径为:arch/arm/mach-exynos/mach-itop4412.c(内核源码路径下)。具体注册操作如下:
    #ifdef CONFIG_LED_CTL
    struct platform_device s3c_device_led_ctl = {
            .name   = "led",
            .id             = -1,
    };
    #endif
  • 将宏定义的LED_CTL添加到drivers/char/Kconfig
        config LED_CTL
            bool "Enable LED config"
            default y
            help
              Enable LED config

添加完后使用make menuconfig即可查看到新添加进内核的新选项,如下图所示:

这里写图片描述

  • 打开平台文件:arch/arm/mach-exynos/mach-itop4412.c ;添加led设备的代码:
    #ifdef CONFIG_LED_CTL
            &s3c_device_led_ctl,
    #endif
3. 重新编译内核,重新烧写内核到开发板

重启开发板使用命令ls /sys/device/platform,查看到新注册的”led“设备。如下图所示
这里写图片描述

参考:

itop4412驱动实验手册

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值