diff options
| author | Mark Brown <broonie@kernel.org> | 2020-12-28 17:20:00 +0300 | 
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2020-12-28 17:20:00 +0300 | 
| commit | 2ae6f64ce1ce304b502461fdfe0b96c8171ae2cc (patch) | |
| tree | 88e987c447daf2c29e2d4c15e58d1029b0cc78c2 /drivers/pwm/pwm-sl28cpld.c | |
| parent | 3b66e4a8e58a85af3212c7117d7a29c9ef6679a2 (diff) | |
| parent | 5c8fe583cce542aa0b84adc939ce85293de36e5e (diff) | |
| download | linux-2ae6f64ce1ce304b502461fdfe0b96c8171ae2cc.tar.xz | |
Merge tag 'v5.11-rc1' into regulator-5.11
Linux 5.11-rc1
Diffstat (limited to 'drivers/pwm/pwm-sl28cpld.c')
| -rw-r--r-- | drivers/pwm/pwm-sl28cpld.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/pwm/pwm-sl28cpld.c b/drivers/pwm/pwm-sl28cpld.c index 5046b6b7fd35..0b01ec25e2f0 100644 --- a/drivers/pwm/pwm-sl28cpld.c +++ b/drivers/pwm/pwm-sl28cpld.c @@ -84,12 +84,14 @@ struct sl28cpld_pwm {  	struct regmap *regmap;  	u32 offset;  }; +#define sl28cpld_pwm_from_chip(_chip) \ +	container_of(_chip, struct sl28cpld_pwm, pwm_chip)  static void sl28cpld_pwm_get_state(struct pwm_chip *chip,  				   struct pwm_device *pwm,  				   struct pwm_state *state)  { -	struct sl28cpld_pwm *priv = dev_get_drvdata(chip->dev); +	struct sl28cpld_pwm *priv = sl28cpld_pwm_from_chip(chip);  	unsigned int reg;  	int prescaler; @@ -118,7 +120,7 @@ static void sl28cpld_pwm_get_state(struct pwm_chip *chip,  static int sl28cpld_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,  			      const struct pwm_state *state)  { -	struct sl28cpld_pwm *priv = dev_get_drvdata(chip->dev); +	struct sl28cpld_pwm *priv = sl28cpld_pwm_from_chip(chip);  	unsigned int cycle, prescaler;  	bool write_duty_cycle_first;  	int ret; @@ -230,6 +232,8 @@ static int sl28cpld_pwm_probe(struct platform_device *pdev)  	chip->base = -1;  	chip->npwm = 1; +	platform_set_drvdata(pdev, priv); +  	ret = pwmchip_add(&priv->pwm_chip);  	if (ret) {  		dev_err(&pdev->dev, "failed to add PWM chip (%pe)", @@ -237,8 +241,6 @@ static int sl28cpld_pwm_probe(struct platform_device *pdev)  		return ret;  	} -	platform_set_drvdata(pdev, priv); -  	return 0;  }  | 
