backlight: mp3309c: Initialize backlight properties without memset
authorUwe Kleine-König <u.kleine-koenig@baylibre.com>
Tue, 1 Jul 2025 09:22:37 +0000 (11:22 +0200)
committerLee Jones <lee@kernel.org>
Tue, 2 Sep 2025 10:36:59 +0000 (11:36 +0100)
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@baylibre.com>
Tested-by: Flavio Suligoi <f.suligoi@asem.it>
Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org>
Link: https://lore.kernel.org/r/14514a1b0d3df6438aa10bb74f1c4fc2367d9987.1751361465.git.u.kleine-koenig@baylibre.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/backlight/mp3309c.c

index bb4e855..9337110 100644 (file)
@@ -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))