Hi, On Mon, Dec 9, 2013 at 9:44 PM, Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote: > Hello. > > > On 09-12-2013 15:21, srinivas kandagatla wrote: > >>> +static int sun7i_gmac_init(struct platform_device *pdev) >>> +{ >>> + struct resource *res; >>> + struct device *dev = &pdev->dev; >>> + void __iomem *addr = NULL; >>> + struct plat_stmmacenet_data *plat_dat = NULL; > > > No need to initialize it since you're assigning to it right below. > > >>> + u32 priv_clk_reg; >>> + >>> + plat_dat = dev_get_platdata(&pdev->dev); >>> + if (!plat_dat) >>> + return -EINVAL; > > >> dev_get_platdata will return NULL for DT, So this function will fail all >> the time. > > > Indeed, unless the probe() method assigns it from the 'data' field of > 'struct of_device_id'. > > >> How is it supposed to work? >> Am I missing some thing? > > > Look at stmmac_pltfr_probe(). Actually, Srinivas is right. The platform data assigned from the 'data field' is not the same one as dev_get_platdata(). This is something I missed when I was reworking the patches. ChenYu -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html