小编aep*_*aep的帖子

设备树不匹配:.probe从未被调用过

我无法理解设备树是如何工作的,或者特别是为什么这个驱动程序不会初始化.这是针对Android的版本3.10的rockchip供应商内核

drivers/watchdog/rk29_wdt.c(为了便于阅读而减少)

static const struct of_device_id of_rk29_wdt_match[] = {
    { .compatible = "rockchip,watch dog" }
};
static struct platform_driver rk29_wdt_driver = {
    .probe          = rk29_wdt_probe,
    [..]
            .of_match_table = of_rk29_wdt_match,
            .name   = "rk29-wdt",
    },
};

static int __init watchdog_init(void)
{ 
    printk("watchdog_init\n");
    return platform_driver_register(&rk29_wdt_driver);
}
Run Code Online (Sandbox Code Playgroud)

这就是soc dtsi

弓/ ARM /开机/ DTS/rk3288.dtsi

    watchdog: wdt@2004c000 {
            compatible = "rockchip,watch dog";
            reg = <0xff800000 0x100>;
            clocks = <&pclk_pd_alive>;
            clock-names = "pclk_wdt";
            interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
            rockchip,irq = <0>;
            rockchip,timeout = <2>;
            rockchip,atboot = …
Run Code Online (Sandbox Code Playgroud)

arm linux-device-driver linux-kernel device-tree

9
推荐指数
1
解决办法
2755
查看次数