diff options
Diffstat (limited to 'drivers/net/liteeth.c')
-rw-r--r-- | drivers/net/liteeth.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/net/liteeth.c b/drivers/net/liteeth.c index 137cb854c5..1781e26348 100644 --- a/drivers/net/liteeth.c +++ b/drivers/net/liteeth.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * LiteX Liteeth Ethernet * @@ -52,7 +53,7 @@ #define MAX_PKT_SIZE LITEETH_BUFFER_SIZE struct liteeth { - struct device_d *dev; + struct device *dev; struct eth_device edev; void __iomem *base; void __iomem *mdio_base; @@ -72,6 +73,8 @@ struct liteeth { int rx_slot; int num_rx_slots; void __iomem *rx_base; + + void *rx_buf; }; static inline void litex_write8(void __iomem *addr, u8 val) @@ -229,9 +232,9 @@ static int liteeth_eth_rx(struct eth_device *edev) rx_slot = litex_read8(priv->base + LITEETH_WRITER_SLOT); - memcpy(NetRxPackets[0], priv->rx_base + rx_slot * LITEETH_BUFFER_SIZE, len); + memcpy(priv->rx_buf, priv->rx_base + rx_slot * LITEETH_BUFFER_SIZE, len); - net_receive(edev, NetRxPackets[0], len); + net_receive(edev, priv->rx_buf, len); litex_write8(priv->base + LITEETH_WRITER_EV_PENDING, reg); @@ -269,9 +272,9 @@ static int liteeth_set_ethaddr(struct eth_device *edev, return 0; } -static int liteeth_probe(struct device_d *dev) +static int liteeth_probe(struct device *dev) { - struct device_node *np = dev->device_node; + struct device_node *np = dev->of_node; struct eth_device *edev; void __iomem *buf_base; struct liteeth *priv; @@ -322,6 +325,8 @@ static int liteeth_probe(struct device_d *dev) priv->tx_base = buf_base + priv->num_rx_slots * LITEETH_BUFFER_SIZE; priv->tx_slot = 0; + priv->rx_buf = xmalloc(PKTSIZE); + edev->init = liteeth_init_dev; edev->open = liteeth_eth_open; edev->send = liteeth_eth_send; @@ -364,8 +369,9 @@ static const struct of_device_id liteeth_dt_ids[] = { }, { } }; +MODULE_DEVICE_TABLE(of, liteeth_dt_ids); -static struct driver_d liteeth_driver = { +static struct driver liteeth_driver = { .name = DRV_NAME, .probe = liteeth_probe, .of_compatible = DRV_OF_COMPAT(liteeth_dt_ids), |