devm_kfree should not have to be explicitly used.
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression x,d;
@@
x = devm_kzalloc(...)
...
?-devm_kfree(d,x);
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                                       &da9052_backlight_ops, &props);
        if (IS_ERR(bl)) {
                dev_err(&pdev->dev, "Failed to register backlight\n");
-               devm_kfree(&pdev->dev, wleds);
                return PTR_ERR(bl);
        }
 
        wleds->state = DA9052_WLEDS_OFF;
        da9052_adjust_wled_brightness(wleds);
        backlight_device_unregister(bl);
-       devm_kfree(&pdev->dev, wleds);
 
        return 0;
 }