+No change here since previous version? What prevents you from following
+static int led_multicolor_init_color(struct led_classdev_mc_data *data,
+ struct led_classdev_mc *mcled_cdev,
+ int color_id, int color_index)
+{
+ struct led_classdev *led_cdev = mcled_cdev->led_cdev;
+ struct led_classdev_mc_priv *mc_priv;
+ int ret;
+
+ mc_priv = devm_kzalloc(led_cdev->dev, sizeof(*mc_priv), GFP_KERNEL);
+ if (!mc_priv)
+ return -ENOMEM;
+
+ mc_priv->led_color_id = color_id;
+ mc_priv->mcled_cdev = mcled_cdev;
+
+ data->led_kobj = kobject_create_and_add(led_colors[color_id],
+ data->color_kobj);
what has been done for drivers/usb/core/ledtrig-usbport.c?
Use sysfs_create_group() for creating color dir
and sysfs_add_file_to_group() for adding files to it.