Input: twl6040-vibra - add missing of_node_put
authorLibo Chen <clbchenlibo.chen@huawei.com>
Sat, 4 Jan 2014 08:00:30 +0000 (00:00 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 4 Jan 2014 08:47:36 +0000 (00:47 -0800)
We should drop reference to twl6040_core_node device_node once we are done
using it.

Signed-off-by: Libo Chen <libo.chen@huawei.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/twl6040-vibra.c

index 7864b0c3ebb3f2f2ad571cb04ac29b67572aaa85..89bca7647f549ca033d297c8de994df0bcabe307 100644 (file)
@@ -276,6 +276,7 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
 
        info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
        if (!info) {
+               of_node_put(twl6040_core_node);
                dev_err(&pdev->dev, "couldn't allocate memory\n");
                return -ENOMEM;
        }
@@ -295,6 +296,8 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
        of_property_read_u32(twl6040_core_node, "ti,vddvibl-uV", &vddvibl_uV);
        of_property_read_u32(twl6040_core_node, "ti,vddvibr-uV", &vddvibr_uV);
 
+       of_node_put(twl6040_core_node);
+
        if ((!info->vibldrv_res && !info->viblmotor_res) ||
            (!info->vibrdrv_res && !info->vibrmotor_res)) {
                dev_err(info->dev, "invalid vibra driver/motor resistance\n");