|
@@ -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");
|