Commit 551c1363 authored by Fabio Baltieri's avatar Fabio Baltieri Committed by Benjamin Cabé
Browse files

led: add and use a LED_BRIGTHNESS_MAX definition

The led_set_brightness API says that brightness is defined as
percentage, add a macro from the max and use it everywhere.

Signed-off-by: default avatarFabio Baltieri <fabiobaltieri@google.com>
parent 9dfeaf20
Loading
Loading
Loading
Loading
+1 −1
Changes for drivers/led/ht16k33.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -305,7 +305,7 @@ static int ht16k33_init(const struct device *dev)
	dev_data->min_period = 0U;
	dev_data->max_period = 2000U;
	dev_data->min_brightness = 0U;
	dev_data->max_brightness = 100U;
	dev_data->max_brightness = LED_BRIGTHNESS_MAX;

	/* System oscillator on */
	cmd[0] = HT16K33_CMD_SYSTEM_SETUP | HT16K33_OPT_S;
+3 −3
Changes for drivers/led/is31fl3194.c: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -145,12 +145,12 @@ static int is31fl3194_set_brightness(const struct device *dev, uint32_t led, uin
		return -ENOTSUP;
	}

	if (value > 100) {
	if (value > LED_BRIGTHNESS_MAX) {
		return -EINVAL;
	}

	/* Rescale 0..100 to 0..255 */
	value = value * 255 / 100;
	value = value * 255 / LED_BRIGTHNESS_MAX;

	ret = i2c_reg_write_byte_dt(&config->bus, led_channels[led], value);
	if (ret == 0) {
@@ -168,7 +168,7 @@ static int is31fl3194_set_brightness(const struct device *dev, uint32_t led, uin

static inline int is31fl3194_led_on(const struct device *dev, uint32_t led)
{
	return is31fl3194_set_brightness(dev, led, 100);
	return is31fl3194_set_brightness(dev, led, LED_BRIGTHNESS_MAX);
}

static inline int is31fl3194_led_off(const struct device *dev, uint32_t led)
+4 −4
Changes for drivers/led/is31fl3216a.c: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ static int is31fl3216a_update_pwm(const struct i2c_dt_spec *i2c)

static uint8_t is31fl3216a_brightness_to_pwm(uint8_t brightness)
{
	return (0xFFU * brightness) / 100;
	return (0xFFU * brightness) / LED_BRIGTHNESS_MAX;
}

static int is31fl3216a_led_write_channels(const struct device *dev,
@@ -87,7 +87,7 @@ static int is31fl3216a_led_write_channels(const struct device *dev,
	i2c_buffer[0] = IS31FL3216A_REG_PWM_LAST - start_channel -
			(num_channels - 1);
	for (i = 0; i < num_channels; i++) {
		if (buf[num_channels - i - 1] > 100) {
		if (buf[num_channels - i - 1] > LED_BRIGTHNESS_MAX) {
			return -EINVAL;
		}
		i2c_buffer[i + 1] = is31fl3216a_brightness_to_pwm(
@@ -111,7 +111,7 @@ static int is31fl3216a_led_set_brightness(const struct device *dev,
	int status;
	uint8_t pwm_value;

	if (led > IS31FL3216A_MAX_LEDS - 1 || value > 100) {
	if (led > IS31FL3216A_MAX_LEDS - 1 || value > LED_BRIGTHNESS_MAX) {
		return -EINVAL;
	}

@@ -126,7 +126,7 @@ static int is31fl3216a_led_set_brightness(const struct device *dev,

static int is31fl3216a_led_on(const struct device *dev, uint32_t led)
{
	return is31fl3216a_led_set_brightness(dev, led, 100);
	return is31fl3216a_led_set_brightness(dev, led, LED_BRIGTHNESS_MAX);
}

static int is31fl3216a_led_off(const struct device *dev, uint32_t led)
+2 −4
Changes for drivers/led/is31fl3733.c: 2 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -43,8 +43,6 @@ LOG_MODULE_REGISTER(is31fl3733, CONFIG_LED_LOG_LEVEL);
#define IS31FL3733_MAX_LED (IS31FL3733_ROW_COUNT * IS31FL3733_COL_COUNT)

/* Max brightness */
#define IS31FL3733_MAX_BRIGHTNESS 100

struct is31fl3733_config {
	struct i2c_dt_spec bus;
	struct gpio_dt_spec sdb;
@@ -98,7 +96,7 @@ static int is31fl3733_led_set_brightness(const struct device *dev, uint32_t led,
{
	const struct is31fl3733_config *config = dev->config;
	int ret;
	uint8_t led_brightness = (uint8_t)(((uint32_t)value * 255) / 100);
	uint8_t led_brightness = (uint8_t)(((uint32_t)value * 255) / LED_BRIGTHNESS_MAX);

	if (led >= IS31FL3733_MAX_LED) {
		return -EINVAL;
@@ -115,7 +113,7 @@ static int is31fl3733_led_set_brightness(const struct device *dev, uint32_t led,

static int is31fl3733_led_on(const struct device *dev, uint32_t led)
{
	return is31fl3733_led_set_brightness(dev, led, IS31FL3733_MAX_BRIGHTNESS);
	return is31fl3733_led_set_brightness(dev, led, LED_BRIGTHNESS_MAX);
}

static int is31fl3733_led_off(const struct device *dev, uint32_t led)
+1 −1
Changes for drivers/led/led_dac.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ static int led_dac_set_brightness(const struct device *dev, uint32_t led, uint8_
	value = pct > 0 ? config->leds[led].dac_min_brightness +
				  (uint64_t)(config->leds[led].dac_max_brightness -
					     config->leds[led].dac_min_brightness) *
					  pct / 100
					  pct / LED_BRIGTHNESS_MAX
			: 0;

	return led_dac_set_raw(dev, led, value);
Loading