pwm: samsung: Make use of pwmchip_parent() accessor
struct pwm_chip::dev is about to change. To not have to touch this driver in the same commit as struct pwm_chip::dev, use the accessor function provided for exactly this purpose. Link: https://lore.kernel.org/r/421ee291a065aeae7a1552f22da4173313e789ad.1707900770.git.u.kleine-koenig@pengutronix.de Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This commit is contained in:
@@ -198,12 +198,12 @@ static unsigned long pwm_samsung_calc_tin(struct pwm_chip *chip,
|
|||||||
return rate;
|
return rate;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_warn(chip->dev,
|
dev_warn(pwmchip_parent(chip),
|
||||||
"tclk of PWM %d is inoperational, using tdiv\n", chan);
|
"tclk of PWM %d is inoperational, using tdiv\n", chan);
|
||||||
}
|
}
|
||||||
|
|
||||||
rate = pwm_samsung_get_tin_rate(our_chip, chan);
|
rate = pwm_samsung_get_tin_rate(our_chip, chan);
|
||||||
dev_dbg(chip->dev, "tin parent at %lu\n", rate);
|
dev_dbg(pwmchip_parent(chip), "tin parent at %lu\n", rate);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compare minimum PWM frequency that can be achieved with possible
|
* Compare minimum PWM frequency that can be achieved with possible
|
||||||
@@ -233,7 +233,7 @@ static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm)
|
|||||||
struct samsung_pwm_chip *our_chip = to_samsung_pwm_chip(chip);
|
struct samsung_pwm_chip *our_chip = to_samsung_pwm_chip(chip);
|
||||||
|
|
||||||
if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) {
|
if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) {
|
||||||
dev_warn(chip->dev,
|
dev_warn(pwmchip_parent(chip),
|
||||||
"tried to request PWM channel %d without output\n",
|
"tried to request PWM channel %d without output\n",
|
||||||
pwm->hwpwm);
|
pwm->hwpwm);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -327,12 +327,12 @@ static int __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
|
|||||||
|
|
||||||
period = NSEC_PER_SEC / period_ns;
|
period = NSEC_PER_SEC / period_ns;
|
||||||
|
|
||||||
dev_dbg(chip->dev, "duty_ns=%d, period_ns=%d (%u)\n",
|
dev_dbg(pwmchip_parent(chip), "duty_ns=%d, period_ns=%d (%u)\n",
|
||||||
duty_ns, period_ns, period);
|
duty_ns, period_ns, period);
|
||||||
|
|
||||||
tin_rate = pwm_samsung_calc_tin(chip, pwm->hwpwm, period);
|
tin_rate = pwm_samsung_calc_tin(chip, pwm->hwpwm, period);
|
||||||
|
|
||||||
dev_dbg(chip->dev, "tin_rate=%lu\n", tin_rate);
|
dev_dbg(pwmchip_parent(chip), "tin_rate=%lu\n", tin_rate);
|
||||||
|
|
||||||
tin_ns = NSEC_PER_SEC / tin_rate;
|
tin_ns = NSEC_PER_SEC / tin_rate;
|
||||||
tcnt = period_ns / tin_ns;
|
tcnt = period_ns / tin_ns;
|
||||||
@@ -356,7 +356,7 @@ static int __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
|
|||||||
/* -1UL will give 100% duty. */
|
/* -1UL will give 100% duty. */
|
||||||
--tcmp;
|
--tcmp;
|
||||||
|
|
||||||
dev_dbg(chip->dev, "tin_ns=%u, tcmp=%u/%u\n", tin_ns, tcmp, tcnt);
|
dev_dbg(pwmchip_parent(chip), "tin_ns=%u, tcmp=%u/%u\n", tin_ns, tcmp, tcnt);
|
||||||
|
|
||||||
/* Update PWM registers. */
|
/* Update PWM registers. */
|
||||||
writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
|
writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
|
||||||
@@ -368,7 +368,7 @@ static int __pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
|
|||||||
* shortly afer this update (before it autoreloaded the new values).
|
* shortly afer this update (before it autoreloaded the new values).
|
||||||
*/
|
*/
|
||||||
if (oldtcmp == (u32) -1) {
|
if (oldtcmp == (u32) -1) {
|
||||||
dev_dbg(chip->dev, "Forcing manual update");
|
dev_dbg(pwmchip_parent(chip), "Forcing manual update");
|
||||||
pwm_samsung_manual_update(our_chip, pwm);
|
pwm_samsung_manual_update(our_chip, pwm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -510,7 +510,7 @@ MODULE_DEVICE_TABLE(of, samsung_pwm_matches);
|
|||||||
static int pwm_samsung_parse_dt(struct pwm_chip *chip)
|
static int pwm_samsung_parse_dt(struct pwm_chip *chip)
|
||||||
{
|
{
|
||||||
struct samsung_pwm_chip *our_chip = to_samsung_pwm_chip(chip);
|
struct samsung_pwm_chip *our_chip = to_samsung_pwm_chip(chip);
|
||||||
struct device_node *np = chip->dev->of_node;
|
struct device_node *np = pwmchip_parent(chip)->of_node;
|
||||||
const struct of_device_id *match;
|
const struct of_device_id *match;
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
const __be32 *cur;
|
const __be32 *cur;
|
||||||
@@ -524,7 +524,7 @@ static int pwm_samsung_parse_dt(struct pwm_chip *chip)
|
|||||||
|
|
||||||
of_property_for_each_u32(np, "samsung,pwm-outputs", prop, cur, val) {
|
of_property_for_each_u32(np, "samsung,pwm-outputs", prop, cur, val) {
|
||||||
if (val >= SAMSUNG_PWM_NUM) {
|
if (val >= SAMSUNG_PWM_NUM) {
|
||||||
dev_err(chip->dev,
|
dev_err(pwmchip_parent(chip),
|
||||||
"%s: invalid channel index in samsung,pwm-outputs property\n",
|
"%s: invalid channel index in samsung,pwm-outputs property\n",
|
||||||
__func__);
|
__func__);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user