leds: qcom-lpg: Introduce a wrapper for getting driver data from a pwm chip
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 6 Dec 2023 11:43:19 +0000 (12:43 +0100)
committerLee Jones <lee@kernel.org>
Wed, 13 Dec 2023 15:51:14 +0000 (15:51 +0000)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/4785982785812615d15c7dd6d2755270bd8670b2.1701860672.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/rgb/leds-qcom-lpg.c

index 54c90ee..156b73d 100644 (file)
@@ -976,9 +976,14 @@ static int lpg_pattern_mc_clear(struct led_classdev *cdev)
        return lpg_pattern_clear(led);
 }
 
+static inline struct lpg *lpg_pwm_from_chip(struct pwm_chip *chip)
+{
+       return container_of(chip, struct lpg, pwm);
+}
+
 static int lpg_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
 {
-       struct lpg *lpg = container_of(chip, struct lpg, pwm);
+       struct lpg *lpg = lpg_pwm_from_chip(chip);
        struct lpg_channel *chan = &lpg->channels[pwm->hwpwm];
 
        return chan->in_use ? -EBUSY : 0;
@@ -994,7 +999,7 @@ static int lpg_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
 static int lpg_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
                         const struct pwm_state *state)
 {
-       struct lpg *lpg = container_of(chip, struct lpg, pwm);
+       struct lpg *lpg = lpg_pwm_from_chip(chip);
        struct lpg_channel *chan = &lpg->channels[pwm->hwpwm];
        int ret = 0;
 
@@ -1025,7 +1030,7 @@ out_unlock:
 static int lpg_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
                             struct pwm_state *state)
 {
-       struct lpg *lpg = container_of(chip, struct lpg, pwm);
+       struct lpg *lpg = lpg_pwm_from_chip(chip);
        struct lpg_channel *chan = &lpg->channels[pwm->hwpwm];
        unsigned int resolution;
        unsigned int pre_div;