Firefly开源社区

rk3688pwm3申请失败

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2016-12-27 18:09:08     

#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/err.h>
#include <linux/pwm.h>
#include <linux/pwm_backlight.h>
#include <linux/slab.h>





static struct of_device_id pwm3_test_of_match[] = {
        { .compatible = "pwm3_test" },
        { }
};


static int pwm3_test_probe(struct platform_device *pdev)
{
        struct pwm_device        *pwm3=NULL;
       
        pwm3= pwm_request(3,"pwm3_test");

        if(IS_ERR(pwm3))
        {      
             printk("BBBBBBBBBBBBBBB \n");
             return -1;
        }       

        pwm_config(pwm3, 500000, 1000000);
        pwm_enable(pwm3);

        printk("AAAAAAAAAAAAAAAAA");

        return 0;

}

static int pwm3_test_remove(struct platform_device *pdev)
{


        return 0;
}




static struct platform_driver pwm3_test_driver = {
        .driver                = {
                .name                = "pwm3_test",
                .owner                = THIS_MODULE,
               
                .of_match_table        = of_match_ptr(pwm3_test_of_match),
        },
        .probe                = pwm3_test_probe,
        .remove                = pwm3_test_remove,
       
};

module_platform_driver(pwm3_test_driver);

MODULE_LICENSE("GPL");






接着是设备树

        pwm3_test:pwm3_test{
                compatible = "pwm3_test";
               
        };


然后是dtsi


        pwm3: pwm@ff680030 {
                compatible = "rockchip,rk-pwm";
                reg = <0x0 0xff680030 0x0 0x10>;
                #pwm-cells = <2>;
                pinctrl-names = "default";
                pinctrl-0 = <&pwm3_pin>;
                clocks = <&clk_gates13 6>;
                clock-names = "pclk_pwm";
                status = "okay";
        };

然后就申请失败,,失败的原因是pwm_request函数下的pwm_to_device函数里面的
return radix_tree_lookup(&pwm_tree, pwm);
出错了。
有没有哪位知道为什么这个出错了
回复

使用道具 举报

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2016-12-28 16:44:55     
有没有人看到啊,不会的留个言好让我知道这个帖子已经发上去了
回复

使用道具 举报

2814

积分

17

威望

18

贡献

高级创客

Rank: 6Rank: 6

积分
2814
QQ
发表于 2016-12-29 09:09:40     
其他PWM申请不会有问题吗??
回复

使用道具 举报

216

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
216
发表于 2017-10-31 10:14:40     
奔跑 发表于 2016-12-28 16:44
有没有人看到啊,不会的留个言好让我知道这个帖子已经发上去了

楼主解决了么
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表