From: Max Filippov Date: Fri, 5 Aug 2016 15:26:18 +0000 (+0300) Subject: net/ethoc: support device tree X-Git-Tag: v2016.09-rc2~48^2~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2de18c8d77b026115dbe6b3e1a35446e31d3dbad;p=oweals%2Fu-boot.git net/ethoc: support device tree Add .of_match table and .ofdata_to_platdata callback to allow for ethoc device configuration from the device tree. Signed-off-by: Max Filippov Acked-by: Joe Hershberger --- diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index 4846c58ecc..a5c4b4621d 100644 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@ -523,6 +523,14 @@ static void ethoc_stop(struct udevice *dev) ethoc_disable_rx_and_tx(priv); } +static int ethoc_ofdata_to_platdata(struct udevice *dev) +{ + struct ethoc_eth_pdata *pdata = dev_get_platdata(dev); + + pdata->eth_pdata.iobase = dev_get_addr(dev); + return 0; +} + static int ethoc_probe(struct udevice *dev) { struct ethoc_eth_pdata *pdata = dev_get_platdata(dev); @@ -549,9 +557,16 @@ static const struct eth_ops ethoc_ops = { .write_hwaddr = ethoc_write_hwaddr, }; +static const struct udevice_id ethoc_ids[] = { + { .compatible = "opencores,ethoc" }, + { } +}; + U_BOOT_DRIVER(ethoc) = { .name = "ethoc", .id = UCLASS_ETH, + .of_match = ethoc_ids, + .ofdata_to_platdata = ethoc_ofdata_to_platdata, .probe = ethoc_probe, .remove = ethoc_remove, .ops = ðoc_ops,