From: Milo Kim Date: Tue, 25 Aug 2015 06:07:08 +0000 (+0900) Subject: power:lp8727_charger: parsing child node after getting debounce-ms X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9615a29932e8a2c719142ac81481ad7d0e271924;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git power:lp8727_charger: parsing child node after getting debounce-ms According to lp8727 bindings[*], charging parameter is optional. So parsing can be skipped in case those properties are undefined. However, 'debounce-ms' should be read prior to checking the properties. Otherwise, 'debounce-ms' property will be ignored even it is configured inside the DT. So, counting child is processed after updating 'debounce-ms'. [*] Documentation/devicetree/bindings/power_supply/lp8727_charger.txt Cc: Dmitry Eremin-Solenikov Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Milo Kim Signed-off-by: Sebastian Reichel --- diff --git a/drivers/power/lp8727_charger.c b/drivers/power/lp8727_charger.c index 30dc265435ee..042fb3dacb46 100644 --- a/drivers/power/lp8727_charger.c +++ b/drivers/power/lp8727_charger.c @@ -515,16 +515,16 @@ static struct lp8727_platform_data *lp8727_parse_dt(struct device *dev) struct lp8727_platform_data *pdata; const char *type; - /* If charging parameter is not defined, just skip parsing the dt */ - if (of_get_child_count(np) == 0) - return NULL; - pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) return ERR_PTR(-ENOMEM); of_property_read_u32(np, "debounce-ms", &pdata->debounce_msec); + /* If charging parameter is not defined, just skip parsing the dt */ + if (of_get_child_count(np) == 0) + return pdata; + for_each_child_of_node(np, child) { of_property_read_string(child, "charger-type", &type);