All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] net: octeontx: smi: use dt live tree API
@ 2021-06-17 23:08 Tim Harvey
  2021-06-18  8:20 ` Ramon Fried
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Harvey @ 2021-06-17 23:08 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried
  Cc: Stefan Roese, Suneel Garapati, u-boot, Tim Harvey

clean up octeontx_smi_probe by using the live-tree API.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefan Roese <sr@denx.de>
---
v2: added reviewed-by tag
---
 drivers/net/octeontx/smi.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
index 27f4423c6a..d70fa820c7 100644
--- a/drivers/net/octeontx/smi.c
+++ b/drivers/net/octeontx/smi.c
@@ -314,10 +314,12 @@ read_error:
 
 int octeontx_smi_probe(struct udevice *dev)
 {
-	int ret, subnode, cnt = 0, node = dev_ofnode(dev).of_offset;
-	struct mii_dev *bus;
-	struct octeontx_smi_priv *priv;
 	pci_dev_t bdf = dm_pci_get_bdf(dev);
+	struct octeontx_smi_priv *priv;
+	struct mii_dev *bus;
+	int ret, cnt = 0;
+	ofnode subnode;
+	u64 baseaddr;
 
 	debug("SMI PCI device: %x\n", bdf);
 	if (!dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0, PCI_REGION_MEM)) {
@@ -325,14 +327,12 @@ int octeontx_smi_probe(struct udevice *dev)
 		return -1;
 	}
 
-	node = fdt_node_offset_by_compatible(gd->fdt_blob, -1,
-					     "cavium,thunder-8890-mdio-nexus");
-	fdt_for_each_subnode(subnode, gd->fdt_blob, node) {
-		ret = fdt_node_check_compatible(gd->fdt_blob, subnode,
-						"cavium,thunder-8890-mdio");
-		if (ret)
+	dev_for_each_subnode(subnode, dev) {
+		if (!ofnode_device_is_compatible(subnode,
+						 "cavium,thunder-8890-mdio"))
+			continue;
+		if (ofnode_read_u64(subnode, "reg", &baseaddr))
 			continue;
-
 		bus = mdio_alloc();
 		priv = malloc(sizeof(*priv));
 		if (!bus || !priv) {
@@ -347,9 +347,7 @@ int octeontx_smi_probe(struct udevice *dev)
 		bus->priv = priv;
 
 		priv->mode = CLAUSE22;
-		priv->baseaddr = (void __iomem *)fdtdec_get_addr(gd->fdt_blob,
-								 subnode,
-								 "reg");
+		priv->baseaddr = (void __iomem *)baseaddr;
 		debug("mdio base addr %p\n", priv->baseaddr);
 
 		/* use given name or generate its own unique name */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] net: octeontx: smi: use dt live tree API
  2021-06-17 23:08 [PATCH v2] net: octeontx: smi: use dt live tree API Tim Harvey
@ 2021-06-18  8:20 ` Ramon Fried
  2021-06-18  8:28   ` Ramon Fried
  0 siblings, 1 reply; 3+ messages in thread
From: Ramon Fried @ 2021-06-18  8:20 UTC (permalink / raw)
  To: Tim Harvey
  Cc: Joe Hershberger, Stefan Roese, Suneel Garapati, U-Boot Mailing List

On Fri, Jun 18, 2021 at 2:09 AM Tim Harvey <tharvey@gateworks.com> wrote:
>
> clean up octeontx_smi_probe by using the live-tree API.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> Reviewed-by: Stefan Roese <sr@denx.de>
> ---
> v2: added reviewed-by tag
> ---
>  drivers/net/octeontx/smi.c | 24 +++++++++++-------------
>  1 file changed, 11 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
> index 27f4423c6a..d70fa820c7 100644
> --- a/drivers/net/octeontx/smi.c
> +++ b/drivers/net/octeontx/smi.c
> @@ -314,10 +314,12 @@ read_error:
>
>  int octeontx_smi_probe(struct udevice *dev)
>  {
> -       int ret, subnode, cnt = 0, node = dev_ofnode(dev).of_offset;
> -       struct mii_dev *bus;
> -       struct octeontx_smi_priv *priv;
>         pci_dev_t bdf = dm_pci_get_bdf(dev);
> +       struct octeontx_smi_priv *priv;
> +       struct mii_dev *bus;
> +       int ret, cnt = 0;
> +       ofnode subnode;
> +       u64 baseaddr;
>
>         debug("SMI PCI device: %x\n", bdf);
>         if (!dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0, PCI_REGION_MEM)) {
> @@ -325,14 +327,12 @@ int octeontx_smi_probe(struct udevice *dev)
>                 return -1;
>         }
>
> -       node = fdt_node_offset_by_compatible(gd->fdt_blob, -1,
> -                                            "cavium,thunder-8890-mdio-nexus");
> -       fdt_for_each_subnode(subnode, gd->fdt_blob, node) {
> -               ret = fdt_node_check_compatible(gd->fdt_blob, subnode,
> -                                               "cavium,thunder-8890-mdio");
> -               if (ret)
> +       dev_for_each_subnode(subnode, dev) {
> +               if (!ofnode_device_is_compatible(subnode,
> +                                                "cavium,thunder-8890-mdio"))
> +                       continue;
> +               if (ofnode_read_u64(subnode, "reg", &baseaddr))
>                         continue;
> -
>                 bus = mdio_alloc();
>                 priv = malloc(sizeof(*priv));
>                 if (!bus || !priv) {
> @@ -347,9 +347,7 @@ int octeontx_smi_probe(struct udevice *dev)
>                 bus->priv = priv;
>
>                 priv->mode = CLAUSE22;
> -               priv->baseaddr = (void __iomem *)fdtdec_get_addr(gd->fdt_blob,
> -                                                                subnode,
> -                                                                "reg");
> +               priv->baseaddr = (void __iomem *)baseaddr;
>                 debug("mdio base addr %p\n", priv->baseaddr);
>
>                 /* use given name or generate its own unique name */
> --
> 2.17.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] net: octeontx: smi: use dt live tree API
  2021-06-18  8:20 ` Ramon Fried
@ 2021-06-18  8:28   ` Ramon Fried
  0 siblings, 0 replies; 3+ messages in thread
From: Ramon Fried @ 2021-06-18  8:28 UTC (permalink / raw)
  To: Tim Harvey
  Cc: Joe Hershberger, Stefan Roese, Suneel Garapati, U-Boot Mailing List

On Fri, Jun 18, 2021 at 11:20 AM Ramon Fried <rfried.dev@gmail.com> wrote:
>
> On Fri, Jun 18, 2021 at 2:09 AM Tim Harvey <tharvey@gateworks.com> wrote:
> >
> > clean up octeontx_smi_probe by using the live-tree API.
> >
> > Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> > Reviewed-by: Stefan Roese <sr@denx.de>
> > ---
> > v2: added reviewed-by tag
> > ---
> >  drivers/net/octeontx/smi.c | 24 +++++++++++-------------
> >  1 file changed, 11 insertions(+), 13 deletions(-)
> >
> > diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
> > index 27f4423c6a..d70fa820c7 100644
> > --- a/drivers/net/octeontx/smi.c
> > +++ b/drivers/net/octeontx/smi.c
> > @@ -314,10 +314,12 @@ read_error:
> >
> >  int octeontx_smi_probe(struct udevice *dev)
> >  {
> > -       int ret, subnode, cnt = 0, node = dev_ofnode(dev).of_offset;
> > -       struct mii_dev *bus;
> > -       struct octeontx_smi_priv *priv;
> >         pci_dev_t bdf = dm_pci_get_bdf(dev);
> > +       struct octeontx_smi_priv *priv;
> > +       struct mii_dev *bus;
> > +       int ret, cnt = 0;
> > +       ofnode subnode;
> > +       u64 baseaddr;
> >
> >         debug("SMI PCI device: %x\n", bdf);
> >         if (!dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0, PCI_REGION_MEM)) {
> > @@ -325,14 +327,12 @@ int octeontx_smi_probe(struct udevice *dev)
> >                 return -1;
> >         }
> >
> > -       node = fdt_node_offset_by_compatible(gd->fdt_blob, -1,
> > -                                            "cavium,thunder-8890-mdio-nexus");
> > -       fdt_for_each_subnode(subnode, gd->fdt_blob, node) {
> > -               ret = fdt_node_check_compatible(gd->fdt_blob, subnode,
> > -                                               "cavium,thunder-8890-mdio");
> > -               if (ret)
> > +       dev_for_each_subnode(subnode, dev) {
> > +               if (!ofnode_device_is_compatible(subnode,
> > +                                                "cavium,thunder-8890-mdio"))
> > +                       continue;
> > +               if (ofnode_read_u64(subnode, "reg", &baseaddr))
> >                         continue;
> > -
> >                 bus = mdio_alloc();
> >                 priv = malloc(sizeof(*priv));
> >                 if (!bus || !priv) {
> > @@ -347,9 +347,7 @@ int octeontx_smi_probe(struct udevice *dev)
> >                 bus->priv = priv;
> >
> >                 priv->mode = CLAUSE22;
> > -               priv->baseaddr = (void __iomem *)fdtdec_get_addr(gd->fdt_blob,
> > -                                                                subnode,
> > -                                                                "reg");
> > +               priv->baseaddr = (void __iomem *)baseaddr;
> >                 debug("mdio base addr %p\n", priv->baseaddr);
> >
> >                 /* use given name or generate its own unique name */
> > --
> > 2.17.1
> >
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
applied to u-boot-net/master, thanks!

Best regards,
Ramon Fried

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-18  8:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-17 23:08 [PATCH v2] net: octeontx: smi: use dt live tree API Tim Harvey
2021-06-18  8:20 ` Ramon Fried
2021-06-18  8:28   ` Ramon Fried

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.