Lines Matching refs:leds

56 	struct sc27xx_led leds[SC27XX_LEDS_MAX];  member
82 static u32 sc27xx_led_get_offset(struct sc27xx_led *leds) in sc27xx_led_get_offset() argument
84 return leds->priv->base + SC27XX_LEDS_OFFSET * leds->line; in sc27xx_led_get_offset()
87 static int sc27xx_led_enable(struct sc27xx_led *leds, enum led_brightness value) in sc27xx_led_enable() argument
89 u32 base = sc27xx_led_get_offset(leds); in sc27xx_led_enable()
90 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_enable()
91 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_enable()
92 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_enable()
107 static int sc27xx_led_disable(struct sc27xx_led *leds) in sc27xx_led_disable() argument
109 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_disable()
110 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_disable()
111 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_disable()
119 struct sc27xx_led *leds = to_sc27xx_led(ldev); in sc27xx_led_set() local
122 mutex_lock(&leds->priv->lock); in sc27xx_led_set()
125 err = sc27xx_led_disable(leds); in sc27xx_led_set()
127 err = sc27xx_led_enable(leds, value); in sc27xx_led_set()
129 mutex_unlock(&leds->priv->lock); in sc27xx_led_set()
148 struct sc27xx_led *leds = to_sc27xx_led(ldev); in sc27xx_led_pattern_clear() local
149 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_pattern_clear()
150 u32 base = sc27xx_led_get_offset(leds); in sc27xx_led_pattern_clear()
151 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_pattern_clear()
152 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_pattern_clear()
155 mutex_lock(&leds->priv->lock); in sc27xx_led_pattern_clear()
166 mutex_unlock(&leds->priv->lock); in sc27xx_led_pattern_clear()
175 struct sc27xx_led *leds = to_sc27xx_led(ldev); in sc27xx_led_pattern_set() local
176 u32 base = sc27xx_led_get_offset(leds); in sc27xx_led_pattern_set()
177 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_pattern_set()
178 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_pattern_set()
179 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_pattern_set()
189 mutex_lock(&leds->priv->lock); in sc27xx_led_pattern_set()
236 mutex_unlock(&leds->priv->lock); in sc27xx_led_pattern_set()
250 struct sc27xx_led *led = &priv->leds[i]; in sc27xx_led_register()
316 if (reg >= SC27XX_LEDS_MAX || priv->leds[reg].active) { in sc27xx_led_probe()
322 priv->leds[reg].fwnode = of_fwnode_handle(child); in sc27xx_led_probe()
323 priv->leds[reg].active = true; in sc27xx_led_probe()