Cc: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
        if (!pdata)
                return -EBUSY;
 
-       leds_data = kzalloc(sizeof(struct lt3593_led_data) * pdata->num_leds,
-                               GFP_KERNEL);
+       leds_data = devm_kzalloc(&pdev->dev,
+                       sizeof(struct lt3593_led_data) * pdata->num_leds,
+                       GFP_KERNEL);
        if (!leds_data)
                return -ENOMEM;
 
        for (i = i - 1; i >= 0; i--)
                delete_lt3593_led(&leds_data[i]);
 
-       kfree(leds_data);
-
        return ret;
 }
 
        for (i = 0; i < pdata->num_leds; i++)
                delete_lt3593_led(&leds_data[i]);
 
-       kfree(leds_data);
-
        return 0;
 }