Commit d741434c authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by David S. Miller

dt:net:stmmac: Allocate platform data only if its NULL.

In some DT use-cases platform data might be already allocated and passed
via AUXDATA. These are the cases where machine level code populates few
callbacks in the platform data.

This patch adds check and reuses platform_data if its valid, before
allocating a new one.
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
Acked-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c9324d18
...@@ -92,8 +92,10 @@ static int stmmac_pltfr_probe(struct platform_device *pdev) ...@@ -92,8 +92,10 @@ static int stmmac_pltfr_probe(struct platform_device *pdev)
if (IS_ERR(addr)) if (IS_ERR(addr))
return PTR_ERR(addr); return PTR_ERR(addr);
plat_dat = pdev->dev.platform_data;
if (pdev->dev.of_node) { if (pdev->dev.of_node) {
plat_dat = devm_kzalloc(&pdev->dev, if (!plat_dat)
plat_dat = devm_kzalloc(&pdev->dev,
sizeof(struct plat_stmmacenet_data), sizeof(struct plat_stmmacenet_data),
GFP_KERNEL); GFP_KERNEL);
if (!plat_dat) { if (!plat_dat) {
...@@ -106,8 +108,6 @@ static int stmmac_pltfr_probe(struct platform_device *pdev) ...@@ -106,8 +108,6 @@ static int stmmac_pltfr_probe(struct platform_device *pdev)
pr_err("%s: main dt probe failed", __func__); pr_err("%s: main dt probe failed", __func__);
return ret; return ret;
} }
} else {
plat_dat = pdev->dev.platform_data;
} }
/* Custom initialisation (if needed)*/ /* Custom initialisation (if needed)*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment