summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2023-04-12net: sun8i-emac: Use common syscon setup for R40Samuel Holland
While R40 puts the EMAC syscon register at a different address from other variants, the relevant portion of the register's layout is the same. Factor out the register offset so the same code can be shared by all variants. This matches what the Linux driver does. This change provides two benefits beyond the simplification: - R40 boards now respect the RX delays from the devicetree - This resolves a warning on architectures where readl/writel expect the address to have a pointer type, not phys_addr_t. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a flag for the internal PHY switchSamuel Holland
Describe this feature instead of using the SoC ID. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a flag for RMII supportSamuel Holland
Describe this feature instead of using the SoC ID. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a structure for variant dataSamuel Holland
Currently, EMAC variants are distinguished by their identity, but this gets unwieldy as more overlapping variants are added. Add a structure so we can describe the individual feature differences between the variants. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-07Merge branch 'master_sh/gen4/initial' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh - Initial R-Car Generation 4 support
2023-04-07net: ravb: Add R-Car Gen4 supportHai Pham
Add support for R-Car Gen4 SoCs and a matching DT compatible. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Drop SoC specific compatible, use RCAR_64 Kconfig symbol, update commit message]
2023-04-07net: phy: marvell10g: Adapt Marvell 10G PHY driver from LinuxMarek Vasut
Pull Marvell 10G PHY driver from Linux 6.1.y as of commit d6d29292640d3 ("net: phy: marvell10g: select host interface configuration") and heavily adapt to match U-Boot PHY framework. Support for hwmon is removed as is much other functionality which could not be tested, this results in much simpler driver which can only bring the PHY up and set MAC type. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: phy: Add phy_modify_mmd() and phy_modify_mmd_changed() from LinuxMarek Vasut
Add phy_modify_mmd()/phy_modify_mmd_changed() from Linux 5.1.y as of commit b8554d4f7288f ("net: phy: add register modifying helpers returning 1 on change") This is used by the upcoming Marvell 10G PHY driver. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: phy: marvell: Import and use marvell_phy.h from LinuxMarek Vasut
Import marvell_phy.h from Linux 5.14.y as of commit a5de4be0aaaa6 ("net: phy: marvell10g: fix differentiation of 88X3310 from 88X3340") and use it in marvell PHY driver instead of current ad-hoc macros. Two of the PHY IDs are unknown to Linux, 88E1149S and 88E1680, for those two, only sync the length of the hexadecimal number to 8 digits. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: phy: Synchronize PHY interface modes with LinuxMarek Vasut
Synchronize PHY interface modes with Linux next 6.2.y commit: 0194b64578e90 ("net: phy: improve phy_read_poll_timeout") Retain LX2160A/LX2162A PHY modes as those are not yet supported by the Linux kernel, but isolate those with ifdeffery. Isolate NCSI which are also not supported by Linux kernel. Note that the ifdeffery cannot be avoided with IS_ENABLED() here due to compilation of the entire conditional, which would fail in case NCSI symbols are not available. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: mvpp2: Replace PHY_INTERFACE_MODE_SFI with 5GBASER/10GBASER/XAUIMarek Vasut
Replace PHY_INTERFACE_MODE_SFI with PHY_INTERFACE_MODE_5GBASER, PHY_INTERFACE_MODE_10GBASER and PHY_INTERFACE_MODE_XAUI to match Linux PHY interface modes. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: mvpp2: Drop PHY_INTERFACE_MODE_SGMII_2500 supportMarek Vasut
This mode does not seem to be well defined and used anywhere, remove support for it. Based on discussion: - 1000baseX does c37 AN of duplex+pause - SGMII does AN of duplex+pause+speed, at lower speed bytes are repeated 10x/100x - 2500baseX does not do AN, or does very different c73 AN - SGMII 2500 behavior is unclear Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-07net: phy: Only call phy_init() on systems needing manual relocationMarek Vasut
The phy_init() is now used only to perform manual relocation of PHY driver callbacks. Wrap it in ifdeffery and only call it on systems which still require manual relocation, i.e. m68k . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: Re-inline phy_drv_reloc()Marek Vasut
Wrap phy_drv_reloc() back into phy_init() to reduce ifdeffery, since phy_drv_reloc() is now called only from one call site. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: Drop unused phy_register()Marek Vasut
This function is no longer used, drop it. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: Drop static phy_drivers listMarek Vasut
The static phy_drivers list is superseded by linker list of struct phy_drivers now that all drivers have been converted to the later. Drop the phy_drivers list as well as list_head from struct phy_driver. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: gen10g: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: genphy: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: xilinx-gmii2rgmii: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: ncsi: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: fixed: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: mscc: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: intel-xway: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: xilinx: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: vitesse: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: ti: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" This particular PHY driver is slightly more spread out across additional source files. Since the phy_register() calls are no longer necessary, all the registration calls across those source files is dropped. Furthermore, the Makefile can now be updated to only compile generic TI PHY support if matching Kconfig symbol is enabled and the ifdeffery in the generic TI PHY driver can be dropped. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: teranetics: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: smsc: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: realtek: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: nxp-tja11xx: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: nxp-c45-tja11xx: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: natsemi: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: meson-gxl: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: ksz90x1: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: ksz8xxx: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: marvell: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: lxt: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: et1011c: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: mv88e61xx: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: davicom: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: cortina: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: ca_phy: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: broadcom: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: b53: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: atheros: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: aquantia: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: adin: Convert to U_BOOT_PHY_DRIVER()Marek Vasut
Convert PHY driver to U_BOOT_PHY_DRIVER() macro and drop phy_register() init call. Converted using sed "s@^static struct phy_driver \(.*\)_driver = \+{@U_BOOT_PHY_DRIVER(\L\1) = {" Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: Iterate over both registered PHYs and struct phy_driver linker listMarek Vasut
Introduce U_BOOT_PHY_DRIVER() macro which is used to add struct phy_driver into a new linker list section containing all compiled in struct phy_driver drivers. This is so far empty until PHY drivers are converted over to this macro. Iterate over both drivers registered using soon to be legacy phy_register() as well as drivers in the new linker list when looking up a suitable PHY driver. This way, PHY drivers can be converted over to the new macro one driver at a time. The relocation of callbacks for linker list based drivers now happens in phy_init() call as the drivers are available at that point in time, and phy_register() is not called for those drivers. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: Factor manual relocation into separate functionMarek Vasut
Create separate function to implement manual relocation of PHY driver functions and make use of that function. This is a preparatory patch for introduction of PHY driver definition using linker lists. No functional change. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)
2023-04-07net: phy: teranetics: Staticize PHY driver entriesMarek Vasut
These struct phy_driver ... instances are local to this source code file, staticize them. No functional change. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Michal Simek <[email protected]> Tested-by: Michal Simek <[email protected]> #microblaze (MANUAL_RELOC)