summaryrefslogtreecommitdiffstats
path: root/drivers/net/smc91111.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2023-04-28 11:11:52 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2023-05-02 11:25:36 +0200
commitbc2c64e6fb13284e3e5aaf1cfeacdda8722fb109 (patch)
tree681b6d45d937eca85a1efe57084f978a47a7fb34 /drivers/net/smc91111.c
parent374e66c1d4b0d82056e6d8bf9f2c37cef6203549 (diff)
downloadbarebox-bc2c64e6fb13284e3e5aaf1cfeacdda8722fb109.tar.gz
barebox-bc2c64e6fb13284e3e5aaf1cfeacdda8722fb109.tar.xz
ARM: versatile: Use smc91c111 from device tree
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/smc91111.c')
-rw-r--r--drivers/net/smc91111.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c
index 89195fc826..a23f2ad129 100644
--- a/drivers/net/smc91111.c
+++ b/drivers/net/smc91111.c
@@ -440,7 +440,6 @@ struct smc91c111_priv {
struct mii_bus miibus;
struct accessors a;
void __iomem *base;
- int qemu_fixup;
unsigned shift;
int version;
int revision;
@@ -1048,7 +1047,8 @@ static int smc91c111_eth_open(struct eth_device *edev)
if (ret)
return ret;
- if (priv->qemu_fixup && edev->phydev->phy_id == 0x00000000) {
+ if (of_machine_is_compatible("arm,versatile-pb") ||
+ of_machine_is_compatible("arm,versatile-ab")) {
struct phy_device *dev = edev->phydev;
dev->speed = SPEED_100;
@@ -1451,7 +1451,6 @@ static int smc91c111_probe(struct device *dev)
if (dev->platform_data) {
struct smc91c111_pdata *pdata = dev->platform_data;
- priv->qemu_fixup = pdata->qemu_fixup;
priv->shift = pdata->addr_shift;
if (pdata->bus_width == 16)
priv->a = access_via_16bit;
@@ -1489,8 +1488,15 @@ static int smc91c111_probe(struct device *dev)
return 0;
}
+static __maybe_unused struct of_device_id smc91c111_dt_ids[] = {
+ {
+ .compatible = "smsc,lan91c111",
+ },
+};
+
static struct driver smc91c111_driver = {
- .name = "smc91c111",
- .probe = smc91c111_probe,
+ .of_compatible = DRV_OF_COMPAT(smc91c111_dt_ids),
+ .name = "smc91c111",
+ .probe = smc91c111_probe,
};
device_platform_driver(smc91c111_driver);