diff options
Diffstat (limited to 'drivers/pwm/core.c')
| -rw-r--r-- | drivers/pwm/core.c | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index 2ca95042a0b..4b66bf09ee5 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -661,10 +661,16 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id)  		}  	} +	mutex_unlock(&pwm_lookup_lock); +  	if (chip)  		pwm = pwm_request_from_chip(chip, index, con_id ?: dev_id); +	if (IS_ERR(pwm)) +		return pwm; + +	pwm_set_period(pwm, p->period); +	pwm_set_polarity(pwm, p->polarity); -	mutex_unlock(&pwm_lookup_lock);  	return pwm;  } @@ -808,12 +814,12 @@ static void pwm_dbg_show(struct pwm_chip *chip, struct seq_file *s)  		seq_printf(s, " pwm-%-3d (%-20.20s):", i, pwm->label);  		if (test_bit(PWMF_REQUESTED, &pwm->flags)) -			seq_printf(s, " requested"); +			seq_puts(s, " requested");  		if (test_bit(PWMF_ENABLED, &pwm->flags)) -			seq_printf(s, " enabled"); +			seq_puts(s, " enabled"); -		seq_printf(s, "\n"); +		seq_puts(s, "\n");  	}  }  | 
