设备树中添加标志位,进行功能开关

  • Post author:
  • Post category:其他




设备树中添加标志位,进行功能开关


介绍

: 我们经常添加宏来设置是否选用功能来选择编译分支,最近遇到的场景是在设备树中添加配置,来达到一样的效果。


遇到的场景

:在多个dma驱动中,SSI驱动用到了其中之一一个DMA,由于加载各个DMA驱动的流程是类似的,现只想在SSI驱动用到的DMA 1中添加一个变更,即在DMA 1的节点中添加一个配置。具体代码如下:

//设备树
&dmaname0 {
	continuous-mode;     //可选功能标识
 };

//c 文件
// ture为存在配置,false为未配置
bool continuous;
continuous = of_property_read_bool(np, "continuous-mode");

//为达到更便捷,可以在驱动的抽象出来的结构体中添加flag,之后该驱动保留的private_data都可以根据flag判断功能了。
struct x{
    bool continuous;
}x_driver;
x_driver.continuous = of_property_read_bool(np, "continuous-mode");



版权声明:本文为weixin_42129235原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。