Linux学习_设备树修改示例
创始人
2025-05-28 01:58:03

Linux学习_设备树使用示例

  • 设备树节点与platform_device匹配
  • 总线结构与设备树

设备树节点与platform_device匹配

匹配的条件在于:

  1. 设备树dts文件中,该节点要有compatible属性
  2. platform_driver中要有of_match_table,其中一项的.compatible成员设置为一个字符串
  3. 上述两个compatible要一致

总线结构与设备树

曾经,使用总线结构编码时,我们使用了board_xxx.c来实现platform_device,使用chip_demo_gpio.c来实现platform_driver,再用led_drv.c实现open、read、write函数,调用devicedriver
在引入设备树后,我们用设备树.dts文件来实现platform_device,其他差别不大,对platform_driver稍作修改即可调用
dts文件代码示例如下:

#define GROUP_PIN(g,p) ((g<<16) | (p))/ {100ask_led@0 {compatible = "100as,leddrv";pin = ;};100ask_led@1 {compatible = "100as,leddrv";pin = ;};};

修改platform_driver

static const struct of_device_id ask100_leds[] = {{ .compatible = "100as,leddrv" },{ },
};static struct platform_driver chip_demo_gpio_driver = {.probe      = chip_demo_gpio_probe,.remove     = chip_demo_gpio_remove,.driver     = {.name   = "100ask_led",.of_match_table = ask100_leds,},
};
static int __init chip_demo_gpio_drv_init(void){int err;err = platform_driver_register(&chip_demo_gpio_driver);register_led_operations(&board_demo_led_opr);return 0;
}

相关内容

热门资讯

驴友野穿老君山死亡?栾川县文广... 12月14日,有网友在社交平台发布视频称,12日有驴友围绕洛阳市老君山自然保护区的野线进行徒步穿越,...
拒绝踩雷!2025北京口碑好的... 在这个信息爆炸的时代,来北京旅游,最怕的不是景点人多,而是选错了旅行社,让原本期待的“诗与远方”变成...
2026元旦贺春系列商业服务游... 今天分享的是:2026元旦贺春系列商业服务游园会活动策划方案 报告共计:35页 2026元旦迎新春:...
【头条】武汉巴东商会返乡考察文... 12月13日至14日,武汉巴东商会会长谭晓锋,党委书记赵晋锋,副会长黄波、吴熙俊率20余人代表团返乡...
澳洲签证几天下签 护照上那片空白页,似乎总在低语着远方的召唤。当你终于决定踏上澳洲那片辽阔土地时,第一个现实问题便悄然...