主题 : smart210的PWM驱动程序pwm->pwm_id 值的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 109797
精华: 0
发帖: 2
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2014-11-05
最后登录: 2016-02-24
楼主  发表于: 2015-01-20 14:26

 smart210的PWM驱动程序pwm->pwm_id 值的问题

struct pwm_device *pwm_request(int pwm_id, const char *label)  //(0,"pwm")
{
    struct pwm_device *pwm;
    int found = 0;

    mutex_lock(&pwm_lock);
                                              
    list_for_each_entry(pwm, &pwm_list, list)
        {
        if (pwm->pwm_id == pwm_id)      //pwm->pwm_id 的值是哪里来的?哪里初始化或者赋值的?
                {
            found = 1;
            break;
        }
    }

    if (found)
        {
        if (pwm->use_count == 0)
                {
            pwm->use_count = 1;
            pwm->label = label; //"pwm"  (0,"pwm")
        }
                else
            pwm = ERR_PTR(-EBUSY);
    }
        else
        pwm = ERR_PTR(-ENOENT);

    mutex_unlock(&pwm_lock);
    return pwm;
}

其中 pwm->pwm_id 的值是哪里来的?哪里初始化或者赋值的?
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2015-01-23 15:11
建议仔细的看一下 s3c_pwm_probe,也可以加些打印来帮助分析