Add .of_match table and .ofdata_to_platdata callback to allow for ethoc
device configuration from the device tree.

Signed-off-by: Max Filippov <jcmvb...@gmail.com>
Acked-by: Joe Hershberger <joe.hershber...@ni.com>
---
 drivers/net/ethoc.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 4846c58..a5c4b46 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                            = &ethoc_ops,
-- 
2.1.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to