Re: [PATCH 3/4] net: dsa: b53: mmap: allow passing a chip ID

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/20/23 08:50, Álvaro Fernández Rojas wrote:
BCM63268 SoCs require a special handling for their RGMIIs, so we should be
able to identify them as a special BCM63xx switch.

Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
---
  drivers/net/dsa/b53/b53_mmap.c | 32 +++++++++++++++++++++++---------
  drivers/net/dsa/b53/b53_priv.h |  9 ++++++++-
  2 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/drivers/net/dsa/b53/b53_mmap.c b/drivers/net/dsa/b53/b53_mmap.c
index 464c77e10f60..706df04b6cee 100644
--- a/drivers/net/dsa/b53/b53_mmap.c
+++ b/drivers/net/dsa/b53/b53_mmap.c
@@ -248,7 +248,7 @@ static int b53_mmap_probe_of(struct platform_device *pdev,
  		return -ENOMEM;
pdata->regs = mem;
-	pdata->chip_id = BCM63XX_DEVICE_ID;
+	pdata->chip_id = (u32)device_get_match_data(dev);
  	pdata->big_endian = of_property_read_bool(np, "big-endian");
of_ports = of_get_child_by_name(np, "ports");
@@ -330,14 +330,28 @@ static void b53_mmap_shutdown(struct platform_device *pdev)
  }
static const struct of_device_id b53_mmap_of_table[] = {
-	{ .compatible = "brcm,bcm3384-switch" },
-	{ .compatible = "brcm,bcm6318-switch" },
-	{ .compatible = "brcm,bcm6328-switch" },
-	{ .compatible = "brcm,bcm6362-switch" },
-	{ .compatible = "brcm,bcm6368-switch" },
-	{ .compatible = "brcm,bcm63268-switch" },
-	{ .compatible = "brcm,bcm63xx-switch" },
-	{ /* sentinel */ },
+	{
+		.compatible = "brcm,bcm3384-switch",
+		.data = (void *)BCM63XX_DEVICE_ID,
+	}, {
+		.compatible = "brcm,bcm6318-switch",
+		.data = (void *)BCM63XX_DEVICE_ID,

You will want to also pass BCM63268_DEVICE_ID here, see my comment in patch 4.
--
Florian




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux