diff mbox

[net-next,v7,0/6] ACPI support for dpaa2 MAC driver.

Message ID 20200715090400.4733-1-calvin.johnson@oss.nxp.com
State Changes Requested
Delegated to: David Miller
Headers show

Commit Message

Calvin Johnson July 15, 2020, 9:03 a.m. UTC
This patch series provides ACPI support for dpaa2 MAC driver.
 This also introduces ACPI mechanism to get PHYs registered on a
 MDIO bus and provide them to be connected to MAC.

 Patch "net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver" depends on
 https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git/commit/?h=acpi/for-next&id=c279c4cf5bcd3c55b4fb9709d9036cd1bfe3beb8
 Remaining patches are independent of the above patch and can be applied without
 any issues.

 Device Tree can be tested on LX2160A-RDB with the below change which is also
available in the above referenced patches:


Changes in v7:
- remove unnecessary -ve check for u32 var
- assign flags to phy_dev

Changes in v6:
- change device_mdiobus_register() parameter position
- improve documentation
- change device_mdiobus_register() parameter position
- clean up phylink_fwnode_phy_connect()

Changes in v5:
- add description
- clean up if else
- rename phy_find_by_fwnode() to phy_find_by_mdio_handle()
- add docment for phy_find_by_mdio_handle()
- error out DT in phy_find_by_mdio_handle()
- clean up err return
- return -EINVAL for invalid fwnode

Changes in v4:
- release fwnode_mdio after use
- return ERR_PTR instead of NULL
- introduce device_mdiobus_register()

Changes in v3:
- cleanup based on v2 comments
- Added description for more properties
- Added MDIO node DSDT entry
- introduce fwnode_mdio_find_bus()
- renamed and improved phy_find_by_fwnode()
- cleanup based on v2 comments
- move code into phylink_fwnode_phy_connect()

Changes in v2:
- clean up dpaa2_mac_get_node()
- introduce find_phy_device()
- use acpi_find_child_device()

Calvin Johnson (6):
  Documentation: ACPI: DSD: Document MDIO PHY
  net: phy: introduce device_mdiobus_register()
  net/fsl: use device_mdiobus_register()
  net: phy: introduce phy_find_by_mdio_handle()
  phylink: introduce phylink_fwnode_phy_connect()
  net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver

 Documentation/firmware-guide/acpi/dsd/phy.rst | 90 +++++++++++++++++++
 .../net/ethernet/freescale/dpaa2/dpaa2-mac.c  | 70 ++++++++-------
 drivers/net/ethernet/freescale/xgmac_mdio.c   |  3 +-
 drivers/net/phy/mdio_bus.c                    | 51 +++++++++++
 drivers/net/phy/phy_device.c                  | 40 +++++++++
 drivers/net/phy/phylink.c                     | 32 +++++++
 include/linux/mdio.h                          |  1 +
 include/linux/phy.h                           |  2 +
 include/linux/phylink.h                       |  3 +
 9 files changed, 260 insertions(+), 32 deletions(-)
 create mode 100644 Documentation/firmware-guide/acpi/dsd/phy.rst

Comments

Grant Likely Sept. 25, 2020, 1:39 p.m. UTC | #1
On 15/07/2020 10:03, Calvin Johnson wrote:
>   This patch series provides ACPI support for dpaa2 MAC driver.
>   This also introduces ACPI mechanism to get PHYs registered on a
>   MDIO bus and provide them to be connected to MAC.
> 
>   Patch "net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver" depends on
>   https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git/commit/?h=acpi/for-next&id=c279c4cf5bcd3c55b4fb9709d9036cd1bfe3beb8
>   Remaining patches are independent of the above patch and can be applied without
>   any issues.
> 
>   Device Tree can be tested on LX2160A-RDB with the below change which is also
> available in the above referenced patches:

Hi Calvin,

In principle, I agree with adding PHY linkage to ACPI, and I sent a 
comment about how the PHYs should be referenced. Unfortunately changing 
that details requires pretty much the entire series to be rewritten 
(sorry!). I won't do any detailed review on patches 2-6 until I see the 
next version.

g.


> 
> --- a/drivers/bus/fsl-mc/fsl-mc-bus.c
> +++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
> @@ -931,6 +931,7 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
>          if (error < 0)
>                  goto error_cleanup_mc_io;
> 
> +       mc_bus_dev->dev.fwnode = pdev->dev.fwnode;
>          mc->root_mc_bus_dev = mc_bus_dev;
>          return 0;
> 
> 
> Changes in v7:
> - remove unnecessary -ve check for u32 var
> - assign flags to phy_dev
> 
> Changes in v6:
> - change device_mdiobus_register() parameter position
> - improve documentation
> - change device_mdiobus_register() parameter position
> - clean up phylink_fwnode_phy_connect()
> 
> Changes in v5:
> - add description
> - clean up if else
> - rename phy_find_by_fwnode() to phy_find_by_mdio_handle()
> - add docment for phy_find_by_mdio_handle()
> - error out DT in phy_find_by_mdio_handle()
> - clean up err return
> - return -EINVAL for invalid fwnode
> 
> Changes in v4:
> - release fwnode_mdio after use
> - return ERR_PTR instead of NULL
> - introduce device_mdiobus_register()
> 
> Changes in v3:
> - cleanup based on v2 comments
> - Added description for more properties
> - Added MDIO node DSDT entry
> - introduce fwnode_mdio_find_bus()
> - renamed and improved phy_find_by_fwnode()
> - cleanup based on v2 comments
> - move code into phylink_fwnode_phy_connect()
> 
> Changes in v2:
> - clean up dpaa2_mac_get_node()
> - introduce find_phy_device()
> - use acpi_find_child_device()
> 
> Calvin Johnson (6):
>    Documentation: ACPI: DSD: Document MDIO PHY
>    net: phy: introduce device_mdiobus_register()
>    net/fsl: use device_mdiobus_register()
>    net: phy: introduce phy_find_by_mdio_handle()
>    phylink: introduce phylink_fwnode_phy_connect()
>    net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver
> 
>   Documentation/firmware-guide/acpi/dsd/phy.rst | 90 +++++++++++++++++++
>   .../net/ethernet/freescale/dpaa2/dpaa2-mac.c  | 70 ++++++++-------
>   drivers/net/ethernet/freescale/xgmac_mdio.c   |  3 +-
>   drivers/net/phy/mdio_bus.c                    | 51 +++++++++++
>   drivers/net/phy/phy_device.c                  | 40 +++++++++
>   drivers/net/phy/phylink.c                     | 32 +++++++
>   include/linux/mdio.h                          |  1 +
>   include/linux/phy.h                           |  2 +
>   include/linux/phylink.h                       |  3 +
>   9 files changed, 260 insertions(+), 32 deletions(-)
>   create mode 100644 Documentation/firmware-guide/acpi/dsd/phy.rst
>
Calvin Johnson Sept. 26, 2020, 4:34 a.m. UTC | #2
Hi Grant,

On Fri, Sep 25, 2020 at 02:39:21PM +0100, Grant Likely wrote:
> On 15/07/2020 10:03, Calvin Johnson wrote:
> >   This patch series provides ACPI support for dpaa2 MAC driver.
> >   This also introduces ACPI mechanism to get PHYs registered on a
> >   MDIO bus and provide them to be connected to MAC.
> > 
> >   Patch "net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver" depends on
> >   https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git/commit/?h=acpi/for-next&id=c279c4cf5bcd3c55b4fb9709d9036cd1bfe3beb8
> >   Remaining patches are independent of the above patch and can be applied without
> >   any issues.
> > 
> >   Device Tree can be tested on LX2160A-RDB with the below change which is also
> > available in the above referenced patches:
> 
> Hi Calvin,
> 
> In principle, I agree with adding PHY linkage to ACPI, and I sent a comment
> about how the PHYs should be referenced. Unfortunately changing that details
> requires pretty much the entire series to be rewritten (sorry!). I won't do
> any detailed review on patches 2-6 until I see the next version.

Understood. I'll rework on the patches and send a new series.

Thanks
Calvin
diff mbox

Patch

--- a/drivers/bus/fsl-mc/fsl-mc-bus.c
+++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
@@ -931,6 +931,7 @@  static int fsl_mc_bus_probe(struct platform_device *pdev)
        if (error < 0)
                goto error_cleanup_mc_io;

+       mc_bus_dev->dev.fwnode = pdev->dev.fwnode;
        mc->root_mc_bus_dev = mc_bus_dev;
        return 0;