]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: mvmdio: add ACPI support
authorMarcin Wojtas <mw@semihalf.com>
Mon, 21 Jun 2021 17:30:26 +0000 (19:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Jun 2021 16:54:55 +0000 (09:54 -0700)
This patch introducing ACPI support for the mvmdio driver by adding
acpi_match_table with two entries:

* "MRVL0100" for the SMI operation
* "MRVL0101" for the XSMI mode

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvmdio.c

index d14762d93640ac4bb69fbd0870423fcf0c696f89..7537ee3f6622ca55a6bd654173f9ff4802f10f7b 100644 (file)
  * warranty of any kind, whether express or implied.
  */
 
+#include <linux/acpi.h>
 #include <linux/clk.h>
 #include <linux/delay.h>
+#include <linux/fwnode_mdio.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
@@ -281,7 +283,7 @@ static int orion_mdio_probe(struct platform_device *pdev)
        struct orion_mdio_dev *dev;
        int i, ret;
 
-       type = (enum orion_mdio_bus_type)of_device_get_match_data(&pdev->dev);
+       type = (enum orion_mdio_bus_type)device_get_match_data(&pdev->dev);
 
        r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!r) {
@@ -369,7 +371,7 @@ static int orion_mdio_probe(struct platform_device *pdev)
                goto out_mdio;
        }
 
-       ret = of_mdiobus_register(bus, pdev->dev.of_node);
+       ret = fwnode_mdiobus_register(bus, pdev->dev.fwnode);
        if (ret < 0) {
                dev_err(&pdev->dev, "Cannot register MDIO bus (%d)\n", ret);
                goto out_mdio;
@@ -421,12 +423,20 @@ static const struct of_device_id orion_mdio_match[] = {
 };
 MODULE_DEVICE_TABLE(of, orion_mdio_match);
 
+static const struct acpi_device_id orion_mdio_acpi_match[] = {
+       { "MRVL0100", BUS_TYPE_SMI },
+       { "MRVL0101", BUS_TYPE_XSMI },
+       { },
+};
+MODULE_DEVICE_TABLE(acpi, orion_mdio_acpi_match);
+
 static struct platform_driver orion_mdio_driver = {
        .probe = orion_mdio_probe,
        .remove = orion_mdio_remove,
        .driver = {
                .name = "orion-mdio",
                .of_match_table = orion_mdio_match,
+               .acpi_match_table = ACPI_PTR(orion_mdio_acpi_match),
        },
 };