[PATCH 2/2] backlight: mp3309c: Initialize backlight properties without memset
Uwe Kleine-König
u.kleine-koenig at baylibre.com
Tue Jul 1 09:22:37 UTC 2025
Assigning values to a struct using a compound literal (since C99) also
guarantees that all unspecified struct members are empty-initialized, so
it properly replaces the memset to zero.
The code looks a bit nicer and more idiomatic (though that might be
subjective?). The resulting binary is a bit smaller. On ARCH=arm with
an allnoconfig + minimal changes to enable the mp3309c driver the
difference is 12 bytes.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig at baylibre.com>
---
drivers/video/backlight/mp3309c.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c
index bb4e85531cea..9337110ce6e5 100644
--- a/drivers/video/backlight/mp3309c.c
+++ b/drivers/video/backlight/mp3309c.c
@@ -352,12 +352,13 @@ static int mp3309c_probe(struct i2c_client *client)
chip->pdata = pdata;
/* Backlight properties */
- memset(&props, 0, sizeof(struct backlight_properties));
- props.brightness = pdata->default_brightness;
- props.max_brightness = pdata->max_brightness;
- props.scale = BACKLIGHT_SCALE_LINEAR;
- props.type = BACKLIGHT_RAW;
- props.power = BACKLIGHT_POWER_ON;
+ props = (typeof(props)){
+ .brightness = pdata->default_brightness,
+ .max_brightness = pdata->max_brightness,
+ .scale = BACKLIGHT_SCALE_LINEAR,
+ .type = BACKLIGHT_RAW,
+ .power = BACKLIGHT_POWER_ON,
+ };
chip->bl = devm_backlight_device_register(dev, "mp3309c", dev, chip,
&mp3309c_bl_ops, &props);
if (IS_ERR(chip->bl))
--
2.49.0
More information about the dri-devel
mailing list