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 的值是哪里来的?哪里初始化或者赋值的?