net: ti: cpsw: Block off ofdata_to_platdata with OF_CONTROL

The ofdata_to_platdata function should not be called if OF_CONTROL is
not enabled because fdtdec_* calls will fail. Block the function with
OF_CONTROL

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
This commit is contained in:
Faiz Abbas 2019-03-18 13:54:35 +05:30 committed by Tom Rini
parent a58d222df9
commit c3b460a516

View File

@ -1193,6 +1193,7 @@ static int cpsw_eth_probe(struct udevice *dev)
return _cpsw_register(priv); return _cpsw_register(priv);
} }
#if CONFIG_IS_ENABLED(OF_CONTROL)
static int cpsw_eth_ofdata_to_platdata(struct udevice *dev) static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
{ {
struct eth_pdata *pdata = dev_get_platdata(dev); struct eth_pdata *pdata = dev_get_platdata(dev);
@ -1352,6 +1353,13 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
return 0; return 0;
} }
static const struct udevice_id cpsw_eth_ids[] = {
{ .compatible = "ti,cpsw" },
{ .compatible = "ti,am335x-cpsw" },
{ }
};
#endif
int cpsw_get_slave_phy_addr(struct udevice *dev, int slave) int cpsw_get_slave_phy_addr(struct udevice *dev, int slave)
{ {
struct cpsw_priv *priv = dev_get_priv(dev); struct cpsw_priv *priv = dev_get_priv(dev);
@ -1360,21 +1368,17 @@ int cpsw_get_slave_phy_addr(struct udevice *dev, int slave)
return data->slave_data[slave].phy_addr; return data->slave_data[slave].phy_addr;
} }
static const struct udevice_id cpsw_eth_ids[] = {
{ .compatible = "ti,cpsw" },
{ .compatible = "ti,am335x-cpsw" },
{ }
};
U_BOOT_DRIVER(eth_cpsw) = { U_BOOT_DRIVER(eth_cpsw) = {
.name = "eth_cpsw", .name = "eth_cpsw",
.id = UCLASS_ETH, .id = UCLASS_ETH,
#if CONFIG_IS_ENABLED(OF_CONTROL)
.of_match = cpsw_eth_ids, .of_match = cpsw_eth_ids,
.ofdata_to_platdata = cpsw_eth_ofdata_to_platdata, .ofdata_to_platdata = cpsw_eth_ofdata_to_platdata,
.platdata_auto_alloc_size = sizeof(struct eth_pdata),
#endif
.probe = cpsw_eth_probe, .probe = cpsw_eth_probe,
.ops = &cpsw_eth_ops, .ops = &cpsw_eth_ops,
.priv_auto_alloc_size = sizeof(struct cpsw_priv), .priv_auto_alloc_size = sizeof(struct cpsw_priv),
.platdata_auto_alloc_size = sizeof(struct eth_pdata),
.flags = DM_FLAG_ALLOC_PRIV_DMA, .flags = DM_FLAG_ALLOC_PRIV_DMA,
}; };
#endif /* CONFIG_DM_ETH */ #endif /* CONFIG_DM_ETH */