Firefly开源社区

打印 上一主题 下一主题

rk3688pwm3申请失败

109

积分

0

威望

0

贡献

技术小白

积分
109

rk3688pwm3申请失败

发表于 2016-12-27 18:09:08      浏览:8920 | 回复:5        打印      只看该作者   [复制链接] 楼主

#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        只看该作者  沙发
有没有人看到啊,不会的留个言好让我知道这个帖子已经发上去了
回复

使用道具 举报

3750

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3750
发表于 2016-12-29 09:09:40        只看该作者  板凳
其他PWM申请不会有问题吗??
回复

使用道具 举报

216

积分

0

威望

0

贡献

技术达人

Rank: 2

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

楼主解决了么
回复

使用道具 举报

9

积分

0

威望

0

贡献

吃瓜的群众

积分
9
发表于 2021-12-2 19:42:08        只看该作者  5#
社区里RK3688的资料太少了。
回复

使用道具 举报

13

积分

0

威望

0

贡献

技术小白

积分
13
发表于 2022-1-7 15:22:05        只看该作者  6#
学习下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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