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;
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;
struct led_classdev cdev;
struct ar8xxx_priv *sw_priv;
- char *name;
bool active_low;
u8 led_num;
enum ar8327_led_mode mode;
bool enable_hw_mode;
enum ar8327_led_pattern pattern;
struct fwnode_handle *fwnode;
+ char name[];
};
struct ar8327_data {