mbox series

[net-next,v9,00/15] ACPI support for dpaa2 driver

Message ID 20210611105401.270673-1-ciorneiioana@gmail.com (mailing list archive)
Headers show
Series ACPI support for dpaa2 driver | expand

Message

Ioana Ciornei June 11, 2021, 10:53 a.m. UTC
From: Ioana Ciornei <ioana.ciornei@nxp.com>

This patch set provides ACPI support to DPAA2 network drivers.

It also introduces new fwnode based APIs to support phylink and phy
layers
    Following functions are defined:
      phylink_fwnode_phy_connect()
      fwnode_mdiobus_register_phy()
      fwnode_get_phy_id()
      fwnode_phy_find_device()
      device_phy_find_device()
      fwnode_get_phy_node()
      fwnode_mdio_find_device()
      acpi_get_local_address()

    First one helps in connecting phy to phylink instance.
    Next three helps in getting phy_id and registering phy to mdiobus
    Next two help in finding a phy on a mdiobus.
    Next one helps in getting phy_node from a fwnode.
    Last one is used to get local address from _ADR object.

    Corresponding OF functions are refactored.

Tested-on: LX2160ARDB

Changes in v9:
 - merged some minimal changes requested in the wording of the commit
   messages
 - fixed some build problems in patch 8/15 by moving the removal of
   of_find_mii_timestamper from patch 8/15 to 9/15.

Changes in v8:
 - fixed some checkpatch warnings/checks
 - included linux/fwnode_mdio.h in fwnode_mdio.c (fixed the build warnings)
 - added fwnode_find_mii_timestamper() and
   fwnode_mdiobus_phy_device_register() in order to get rid of the cycle
   dependency.
 - change to 'depends on (ACPI || OF) || COMPILE_TEST (for FWNODE_MDIO)
 - remove the fwnode_mdiobus_register from fwnode_mdio.c since it
   introduces a cycle of dependencies.

Changes in v7:
- correct fwnode_mdio_find_device() description
- check NULL in unregister_mii_timestamper()
- Call unregister_mii_timestamper() without NULL check
- Create fwnode_mdio.c and move fwnode_mdiobus_register_phy()
- include fwnode_mdio.h
- Include headers directly used in acpi_mdio.c
- Move fwnode_mdiobus_register() to fwnode_mdio.c
- Include fwnode_mdio.h
- Alphabetically sort header inclusions
- remove unnecassary checks

Changes in v6:
- Minor cleanup
- fix warning for function parameter of fwnode_mdio_find_device()
- Initialize mii_ts to NULL
- use GENMASK() and ACPI_COMPANION_SET()
- some cleanup
- remove unwanted header inclusion
- remove OF check for fixed-link
- use dev_fwnode()
- remove useless else
- replace of_device_is_available() to fwnode_device_is_available()

Changes in v5:
- More cleanup
- Replace fwnode_get_id() with acpi_get_local_address()
- add missing MODULE_LICENSE()
- replace fwnode_get_id() with OF and ACPI function calls
- replace fwnode_get_id() with OF and ACPI function calls

Changes in v4:
- More cleanup
- Improve code structure to handle all cases
- Remove redundant else from fwnode_mdiobus_register()
- Cleanup xgmac_mdio_probe()
- call phy_device_free() before returning

Changes in v3:
- Add more info on legacy DT properties "phy" and "phy-device"
- Redefine fwnode_phy_find_device() to follow of_phy_find_device()
- Use traditional comparison pattern
- Use GENMASK
- Modified to retrieve reg property value for ACPI as well
- Resolved compilation issue with CONFIG_ACPI = n
- Added more info into documentation
- Use acpi_mdiobus_register()
- Avoid unnecessary line removal
- Remove unused inclusion of acpi.h

Changes in v2:
- Updated with more description in document
- use reverse christmas tree ordering for local variables
- Refactor OF functions to use fwnode functions

Calvin Johnson (15):
  Documentation: ACPI: DSD: Document MDIO PHY
  net: phy: Introduce fwnode_mdio_find_device()
  net: phy: Introduce phy related fwnode functions
  of: mdio: Refactor of_phy_find_device()
  net: phy: Introduce fwnode_get_phy_id()
  of: mdio: Refactor of_get_phy_id()
  net: mii_timestamper: check NULL in unregister_mii_timestamper()
  net: mdiobus: Introduce fwnode_mdiobus_register_phy()
  of: mdio: Refactor of_mdiobus_register_phy()
  ACPI: utils: Introduce acpi_get_local_address()
  net: mdio: Add ACPI support code for mdio
  net/fsl: Use [acpi|of]_mdiobus_register
  net: phylink: introduce phylink_fwnode_phy_connect()
  net: phylink: Refactor phylink_of_phy_connect()
  net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver

 Documentation/firmware-guide/acpi/dsd/phy.rst | 133 ++++++++++++++++
 MAINTAINERS                                   |   2 +
 drivers/acpi/utils.c                          |  14 ++
 .../net/ethernet/freescale/dpaa2/dpaa2-mac.c  |  88 ++++++-----
 .../net/ethernet/freescale/dpaa2/dpaa2-mac.h  |   2 +-
 drivers/net/ethernet/freescale/xgmac_mdio.c   |  30 ++--
 drivers/net/mdio/Kconfig                      |  14 ++
 drivers/net/mdio/Makefile                     |   4 +-
 drivers/net/mdio/acpi_mdio.c                  |  58 +++++++
 drivers/net/mdio/fwnode_mdio.c                | 144 ++++++++++++++++++
 drivers/net/mdio/of_mdio.c                    | 138 ++---------------
 drivers/net/phy/mii_timestamper.c             |   3 +
 drivers/net/phy/phy_device.c                  | 109 ++++++++++++-
 drivers/net/phy/phylink.c                     |  41 +++--
 include/linux/acpi.h                          |   7 +
 include/linux/acpi_mdio.h                     |  26 ++++
 include/linux/fwnode_mdio.h                   |  35 +++++
 include/linux/phy.h                           |  32 ++++
 include/linux/phylink.h                       |   3 +
 19 files changed, 693 insertions(+), 190 deletions(-)
 create mode 100644 Documentation/firmware-guide/acpi/dsd/phy.rst
 create mode 100644 drivers/net/mdio/acpi_mdio.c
 create mode 100644 drivers/net/mdio/fwnode_mdio.c
 create mode 100644 include/linux/acpi_mdio.h
 create mode 100644 include/linux/fwnode_mdio.h

Comments

patchwork-bot+netdevbpf@kernel.org June 11, 2021, 8:20 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Fri, 11 Jun 2021 13:53:46 +0300 you wrote:
> From: Ioana Ciornei <ioana.ciornei@nxp.com>
> 
> This patch set provides ACPI support to DPAA2 network drivers.
> 
> It also introduces new fwnode based APIs to support phylink and phy
> layers
>     Following functions are defined:
>       phylink_fwnode_phy_connect()
>       fwnode_mdiobus_register_phy()
>       fwnode_get_phy_id()
>       fwnode_phy_find_device()
>       device_phy_find_device()
>       fwnode_get_phy_node()
>       fwnode_mdio_find_device()
>       acpi_get_local_address()
> 
> [...]

Here is the summary with links:
  - [net-next,v9,01/15] Documentation: ACPI: DSD: Document MDIO PHY
    https://git.kernel.org/netdev/net-next/c/e71305acd81c
  - [net-next,v9,02/15] net: phy: Introduce fwnode_mdio_find_device()
    https://git.kernel.org/netdev/net-next/c/0fb169767651
  - [net-next,v9,03/15] net: phy: Introduce phy related fwnode functions
    https://git.kernel.org/netdev/net-next/c/425775ed31a6
  - [net-next,v9,04/15] of: mdio: Refactor of_phy_find_device()
    https://git.kernel.org/netdev/net-next/c/2d7b8bf1fa7a
  - [net-next,v9,05/15] net: phy: Introduce fwnode_get_phy_id()
    https://git.kernel.org/netdev/net-next/c/114dea60043b
  - [net-next,v9,06/15] of: mdio: Refactor of_get_phy_id()
    https://git.kernel.org/netdev/net-next/c/cf99686072a1
  - [net-next,v9,07/15] net: mii_timestamper: check NULL in unregister_mii_timestamper()
    https://git.kernel.org/netdev/net-next/c/b9926da003ca
  - [net-next,v9,08/15] net: mdiobus: Introduce fwnode_mdiobus_register_phy()
    https://git.kernel.org/netdev/net-next/c/bc1bee3b87ee
  - [net-next,v9,09/15] of: mdio: Refactor of_mdiobus_register_phy()
    https://git.kernel.org/netdev/net-next/c/8d2cb3ad3118
  - [net-next,v9,10/15] ACPI: utils: Introduce acpi_get_local_address()
    https://git.kernel.org/netdev/net-next/c/7ec16433cf1e
  - [net-next,v9,11/15] net: mdio: Add ACPI support code for mdio
    https://git.kernel.org/netdev/net-next/c/803ca24d2f92
  - [net-next,v9,12/15] net/fsl: Use [acpi|of]_mdiobus_register
    https://git.kernel.org/netdev/net-next/c/15e7064e8793
  - [net-next,v9,13/15] net: phylink: introduce phylink_fwnode_phy_connect()
    https://git.kernel.org/netdev/net-next/c/25396f680dd6
  - [net-next,v9,14/15] net: phylink: Refactor phylink_of_phy_connect()
    https://git.kernel.org/netdev/net-next/c/423e6e8946f5
  - [net-next,v9,15/15] net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver
    https://git.kernel.org/netdev/net-next/c/3264f599c1a8

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html