]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
ar8327: use flex array for name 22069/head
authorRosen Penev <rosenp@gmail.com>
Sun, 8 Feb 2026 22:10:16 +0000 (14:10 -0800)
committerRobert Marko <robimarko@gmail.com>
Tue, 31 Mar 2026 09:44:27 +0000 (11:44 +0200)
Simplifies allocation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22069
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/generic/files/drivers/net/phy/ar8327.c
target/linux/generic/files/drivers/net/phy/ar8327.h

index e071a67d70a5511511617a782fba72880951786c..bf7d7af5b71ae29efdfc8b16063fbf3a51cf54b4 100644 (file)
@@ -319,7 +319,7 @@ ar8327_led_create(struct ar8xxx_priv *priv,
        if (led_info->led_num >= AR8327_NUM_LEDS)
                return -EINVAL;
 
-       aled = kzalloc(sizeof(*aled) + strlen(led_info->name) + 1,
+       aled = kzalloc(struct_size(aled, name, strlen(led_info->name) + 1),
                       GFP_KERNEL);
        if (!aled)
                return -ENOMEM;
@@ -333,7 +333,6 @@ ar8327_led_create(struct ar8xxx_priv *priv,
        if (aled->mode == AR8327_LED_MODE_HW)
                aled->enable_hw_mode = true;
 
-       aled->name = (char *)(aled + 1);
        strcpy(aled->name, led_info->name);
 
        aled->cdev.name = aled->name;
index 68bb883cfa0172532aeb8b54e0786db501e7dc84..cc94139d9d78cd507e8558b4a66b21eb427f522c 100644 (file)
@@ -339,7 +339,6 @@ struct ar8327_led {
        struct led_classdev cdev;
        struct ar8xxx_priv *sw_priv;
 
-       char *name;
        bool active_low;
        u8 led_num;
        enum ar8327_led_mode mode;
@@ -350,6 +349,7 @@ struct ar8327_led {
        bool enable_hw_mode;
        enum ar8327_led_pattern pattern;
        struct fwnode_handle *fwnode;
+       char name[];
 };
 
 struct ar8327_data {