diff mbox series

[net-next,v2,1/5] net: phy: mediatek: Re-organize MediaTek ethernet phy drivers

Message ID 20240517102908.12079-2-SkyLake.Huang@mediatek.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series net: phy: mediatek: Introduce mtk-phy-lib and add 2.5Gphy support | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next, async
netdev/apply fail Patch does not apply to net-next-1

Commit Message

SkyLake Huang (黃啟澤) May 17, 2024, 10:29 a.m. UTC
From: "SkyLake.Huang" <skylake.huang@mediatek.com>

Re-organize MediaTek ethernet phy driver files and get ready to integrate
some common functions and add new 2.5G phy driver.
mtk-ge.c: MT7530 Gphy on MT7621 & MT7531 Gphy
mtk-ge-soc.c: Built-in Gphy on MT7981 & Built-in switch Gphy on MT7988
mtk-2p5ge.c: Planned for built-in 2.5G phy on MT7988

Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
---
 MAINTAINERS                                   |  4 ++--
 drivers/net/phy/Kconfig                       | 17 +-------------
 drivers/net/phy/Makefile                      |  3 +--
 drivers/net/phy/mediatek/Kconfig              | 22 +++++++++++++++++++
 drivers/net/phy/mediatek/Makefile             |  3 +++
 .../mtk-ge-soc.c}                             |  0
 .../phy/{mediatek-ge.c => mediatek/mtk-ge.c}  |  0
 7 files changed, 29 insertions(+), 20 deletions(-)
 create mode 100644 drivers/net/phy/mediatek/Kconfig
 create mode 100644 drivers/net/phy/mediatek/Makefile
 rename drivers/net/phy/{mediatek-ge-soc.c => mediatek/mtk-ge-soc.c} (100%)
 rename drivers/net/phy/{mediatek-ge.c => mediatek/mtk-ge.c} (100%)

Comments

kernel test robot May 18, 2024, 6:19 p.m. UTC | #1
Hi Sky,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20240517]
[cannot apply to net-next/main net/main linus/master v6.9 v6.9-rc7 v6.9-rc6 v6.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sky-Huang/net-phy-mediatek-Re-organize-MediaTek-ethernet-phy-drivers/20240517-184536
base:   next-20240517
patch link:    https://lore.kernel.org/r/20240517102908.12079-2-SkyLake.Huang%40mediatek.com
patch subject: [PATCH net-next v2 1/5] net: phy: mediatek: Re-organize MediaTek ethernet phy drivers
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20240519/202405190238.VoQDfwSS-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240519/202405190238.VoQDfwSS-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405190238.VoQDfwSS-lkp@intel.com/

All errors (new ones prefixed by >>):

   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_eee':
>> mtk-ge-soc.c:(.text+0xc5e): undefined reference to `phy_select_page'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0xe76): undefined reference to `__phy_modify'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_hw_led_on_set':
>> mtk-ge-soc.c:(.text+0xac): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_led_hw_control_set':
>> mtk-ge-soc.c:(.text+0x1d4): undefined reference to `phy_write_mmd'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0x1fe): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x228): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_hw_led_blink_set':
   mtk-ge-soc.c:(.text+0x29c): undefined reference to `phy_write_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_led_hw_control_get':
   mtk-ge-soc.c:(.text+0x3d2): undefined reference to `phy_read_mmd'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0x4c6): undefined reference to `phy_read_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mtk_socphy_write_page':
   mtk-ge-soc.c:(.text+0x50e): undefined reference to `__mdiobus_write'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mtk_socphy_read_page':
   mtk-ge-soc.c:(.text+0x52e): undefined reference to `__mdiobus_read'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7981_phy_finetune':
   mtk-ge-soc.c:(.text+0x56a): undefined reference to `phy_write_mmd'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0x5b6): undefined reference to `phy_select_page'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x5cc): undefined reference to `__mdiobus_write'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0x6c0): undefined reference to `phy_restore_page'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x6d8): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7988_phy_finetune':
   mtk-ge-soc.c:(.text+0x856): undefined reference to `phy_write_mmd'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x88e): undefined reference to `phy_select_page'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x8a4): undefined reference to `__mdiobus_write'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x95e): undefined reference to `phy_restore_page'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x976): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_common_finetune':
   mtk-ge-soc.c:(.text+0x9b2): undefined reference to `phy_select_page'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x9c8): undefined reference to `__mdiobus_write'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0xb32): undefined reference to `phy_restore_page'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_eee':
   mtk-ge-soc.c:(.text+0xb68): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0xc78): undefined reference to `__mdiobus_write'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0xe56): undefined reference to `phy_restore_page'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `cal_cycle.constprop.0':
   mtk-ge-soc.c:(.text+0xeea): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0xf1c): undefined reference to `phy_read_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `tx_vcm_cal_sw':
   mtk-ge-soc.c:(.text+0x103c): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `tx_amp_fill_result.isra.0':
   mtk-ge-soc.c:(.text+0x13e2): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `rext_cal_efuse':
   mtk-ge-soc.c:(.text+0x15ea): undefined reference to `phy_modify_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `cal_efuse':
   mtk-ge-soc.c:(.text+0x1694): undefined reference to `phy_modify_mmd'
>> m68k-linux-ld: mtk-ge-soc.c:(.text+0x17b0): undefined reference to `phy_write_mmd'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7988_phy_probe':
>> mtk-ge-soc.c:(.text+0x19b8): undefined reference to `devm_phy_package_join'
   m68k-linux-ld: mtk-ge-soc.c:(.text+0x1a94): undefined reference to `phy_modify_mmd'
>> m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x7a): undefined reference to `genphy_suspend'
>> m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x7e): undefined reference to `genphy_resume'
>> m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x92): undefined reference to `genphy_handle_interrupt_no_ack'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x18c): undefined reference to `genphy_suspend'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x190): undefined reference to `genphy_resume'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x1a4): undefined reference to `genphy_handle_interrupt_no_ack'
   m68k-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `phy_module_init':
>> mtk-ge-soc.c:(.init.text+0x12): undefined reference to `phy_drivers_register'
kernel test robot May 18, 2024, 7:02 p.m. UTC | #2
Hi Sky,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20240517]
[cannot apply to net-next/main net/main linus/master v6.9 v6.9-rc7 v6.9-rc6 v6.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sky-Huang/net-phy-mediatek-Re-organize-MediaTek-ethernet-phy-drivers/20240517-184536
base:   next-20240517
patch link:    https://lore.kernel.org/r/20240517102908.12079-2-SkyLake.Huang%40mediatek.com
patch subject: [PATCH net-next v2 1/5] net: phy: mediatek: Re-organize MediaTek ethernet phy drivers
config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20240519/202405190214.zVx19jfL-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240519/202405190214.zVx19jfL-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405190214.zVx19jfL-lkp@intel.com/

All errors (new ones prefixed by >>):

   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mtk_socphy_write_page':
   mtk-ge-soc.c:(.text+0x70): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x70): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mtk_socphy_read_page':
   mtk-ge-soc.c:(.text+0xa4): undefined reference to `__mdiobus_read'
   mtk-ge-soc.c:(.text+0xa4): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_read'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7981_phy_finetune':
   mtk-ge-soc.c:(.text+0x150): undefined reference to `phy_write_mmd'
>> mtk-ge-soc.c:(.text+0x150): relocation truncated to fit: R_NIOS2_CALL26 against `phy_write_mmd'
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0x16c): undefined reference to `phy_select_page'
>> mtk-ge-soc.c:(.text+0x16c): relocation truncated to fit: R_NIOS2_CALL26 against `phy_select_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x180): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x180): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x194): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x194): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x1a8): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x1a8): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x1bc): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x1bc): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x1d0): undefined reference to `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x1d0): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x1e4): more undefined references to `__mdiobus_write' follow
   drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7981_phy_finetune':
   mtk-ge-soc.c:(.text+0x1e4): relocation truncated to fit: R_NIOS2_CALL26 against `__mdiobus_write'
   mtk-ge-soc.c:(.text+0x1f8): additional relocation overflows omitted from the output
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0x26c): undefined reference to `phy_restore_page'
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0x288): undefined reference to `phy_modify_mmd'
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0x29c): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x2b0): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x2c4): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x2d8): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x2ec): undefined reference to `phy_write_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x300): more undefined references to `phy_write_mmd' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7981_phy_finetune':
   mtk-ge-soc.c:(.text+0x380): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x39c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x3b0): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x3c4): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x3d8): undefined reference to `phy_write_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7988_phy_finetune':
   mtk-ge-soc.c:(.text+0x48c): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x4b0): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x4bc): undefined reference to `phy_select_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x4d0): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x4e4): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x4f8): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x50c): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x520): undefined reference to `__mdiobus_write'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x534): more undefined references to `__mdiobus_write' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7988_phy_finetune':
   mtk-ge-soc.c:(.text+0x580): undefined reference to `phy_restore_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x59c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x5b0): undefined reference to `phy_write_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_common_finetune':
   mtk-ge-soc.c:(.text+0x5fc): undefined reference to `phy_select_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x610): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x624): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x638): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x64c): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x660): undefined reference to `__mdiobus_write'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x674): more undefined references to `__mdiobus_write' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_common_finetune':
   mtk-ge-soc.c:(.text+0x774): undefined reference to `phy_restore_page'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_eee':
   mtk-ge-soc.c:(.text+0x7c8): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x7e0): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x7f8): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x814): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x82c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x848): more undefined references to `phy_modify_mmd' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_eee':
   mtk-ge-soc.c:(.text+0x8f8): undefined reference to `phy_select_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x90c): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x920): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x934): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x948): undefined reference to `__mdiobus_write'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x95c): undefined reference to `__mdiobus_write'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0x970): more undefined references to `__mdiobus_write' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_eee':
   mtk-ge-soc.c:(.text+0xae8): undefined reference to `phy_restore_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xaf4): undefined reference to `phy_select_page'
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0xb08): undefined reference to `__phy_modify'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xb1c): undefined reference to `__phy_modify'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xb2c): undefined reference to `phy_restore_page'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xb44): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `cal_cycle.constprop.0':
   mtk-ge-soc.c:(.text+0xba0): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xbbc): undefined reference to `phy_modify_mmd'
>> nios2-linux-ld: mtk-ge-soc.c:(.text+0xbec): undefined reference to `phy_read_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xc24): undefined reference to `phy_read_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xc54): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xc64): undefined reference to `phy_read_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `tx_vcm_cal_sw':
   mtk-ge-soc.c:(.text+0xd4c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xd64): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xd80): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xdcc): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0xde4): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:mtk-ge-soc.c:(.text+0xdfc): more undefined references to `phy_modify_mmd' follow
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `cal_efuse':
   mtk-ge-soc.c:(.text+0x1710): undefined reference to `phy_write_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_hw_led_on_set':
   mtk-ge-soc.c:(.text+0x1b4c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_hw_led_blink_set':
   mtk-ge-soc.c:(.text+0x1ca8): undefined reference to `phy_write_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_led_hw_control_set':
   mtk-ge-soc.c:(.text+0x1fa4): undefined reference to `phy_write_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x1fc8): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x1fec): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt798x_phy_led_hw_control_get':
   mtk-ge-soc.c:(.text+0x2070): undefined reference to `phy_read_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x20a8): undefined reference to `phy_read_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x22b8): undefined reference to `phy_read_mmd'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `mt7988_phy_probe':
   mtk-ge-soc.c:(.text+0x2344): undefined reference to `devm_phy_package_join'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x2468): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x248c): undefined reference to `phy_modify_mmd'
   nios2-linux-ld: mtk-ge-soc.c:(.text+0x24f4): undefined reference to `phy_modify_mmd'
>> nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x7c): undefined reference to `genphy_suspend'
>> nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x80): undefined reference to `genphy_resume'
>> nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x94): undefined reference to `genphy_handle_interrupt_no_ack'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x190): undefined reference to `genphy_suspend'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x194): undefined reference to `genphy_resume'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o:(.data+0x1a8): undefined reference to `genphy_handle_interrupt_no_ack'
   nios2-linux-ld: drivers/net/phy/mediatek/mtk-ge-soc.o: in function `phy_module_init':
   mtk-ge-soc.c:(.init.text+0x18): undefined reference to `phy_drivers_register'
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index e291445..6deaf94 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13793,8 +13793,8 @@  M:	Qingfang Deng <dqfext@gmail.com>
 M:	SkyLake Huang <SkyLake.Huang@mediatek.com>
 L:	netdev@vger.kernel.org
 S:	Maintained
-F:	drivers/net/phy/mediatek-ge-soc.c
-F:	drivers/net/phy/mediatek-ge.c
+F:	drivers/net/phy/mediatek/mtk-ge-soc.c
+F:	drivers/net/phy/mediatek/mtk-ge.c
 F:	drivers/phy/mediatek/phy-mtk-xfi-tphy.c
 
 MEDIATEK I2C CONTROLLER DRIVER
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 1df0595..e0e4b5e 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -251,22 +251,7 @@  config MAXLINEAR_GPHY
 	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
 	  GPY241, GPY245 PHYs.
 
-config MEDIATEK_GE_PHY
-	tristate "MediaTek Gigabit Ethernet PHYs"
-	help
-	  Supports the MediaTek Gigabit Ethernet PHYs.
-
-config MEDIATEK_GE_SOC_PHY
-	tristate "MediaTek SoC Ethernet PHYs"
-	depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
-	depends on NVMEM_MTK_EFUSE
-	help
-	  Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
-
-	  Include support for built-in Ethernet PHYs which are present in
-	  the MT7981 and MT7988 SoCs. These PHYs need calibration data
-	  present in the SoCs efuse and will dynamically calibrate VCM
-	  (common-mode voltage) during startup.
+source "drivers/net/phy/mediatek/Kconfig"
 
 config MICREL_PHY
 	tristate "Micrel PHYs"
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 197acfa..de38cbf 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -71,8 +71,7 @@  obj-$(CONFIG_MARVELL_PHY)	+= marvell.o
 obj-$(CONFIG_MARVELL_88Q2XXX_PHY)	+= marvell-88q2xxx.o
 obj-$(CONFIG_MARVELL_88X2222_PHY)	+= marvell-88x2222.o
 obj-$(CONFIG_MAXLINEAR_GPHY)	+= mxl-gpy.o
-obj-$(CONFIG_MEDIATEK_GE_PHY)	+= mediatek-ge.o
-obj-$(CONFIG_MEDIATEK_GE_SOC_PHY)	+= mediatek-ge-soc.o
+obj-y				+= mediatek/
 obj-$(CONFIG_MESON_GXL_PHY)	+= meson-gxl.o
 obj-$(CONFIG_MICREL_KS8995MA)	+= spi_ks8995.o
 obj-$(CONFIG_MICREL_PHY)	+= micrel.o
diff --git a/drivers/net/phy/mediatek/Kconfig b/drivers/net/phy/mediatek/Kconfig
new file mode 100644
index 0000000..2fa3a78
--- /dev/null
+++ b/drivers/net/phy/mediatek/Kconfig
@@ -0,0 +1,22 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+config MEDIATEK_GE_PHY
+	tristate "MediaTek Gigabit Ethernet PHYs"
+	help
+	  Supports the MediaTek non-built-in Gigabit Ethernet PHYs.
+
+	  Non-built-in Gigabit Ethernet PHYs include mt7530/mt7531.
+	  You may find mt7530 inside mt7621. This driver shares some
+	  common operations with MediaTek SoC built-in Gigabit
+	  Ethernet PHYs.
+
+config MEDIATEK_GE_SOC_PHY
+	bool "MediaTek SoC Ethernet PHYs"
+	depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
+	select NVMEM_MTK_EFUSE
+	help
+	  Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
+
+	  Include support for built-in Ethernet PHYs which are present in
+	  the MT7981 and MT7988 SoCs. These PHYs need calibration data
+	  present in the SoCs efuse and will dynamically calibrate VCM
+	  (common-mode voltage) during startup.
diff --git a/drivers/net/phy/mediatek/Makefile b/drivers/net/phy/mediatek/Makefile
new file mode 100644
index 0000000..005bde2
--- /dev/null
+++ b/drivers/net/phy/mediatek/Makefile
@@ -0,0 +1,3 @@ 
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_MEDIATEK_GE_PHY)		+= mtk-ge.o
+obj-$(CONFIG_MEDIATEK_GE_SOC_PHY)	+= mtk-ge-soc.o
diff --git a/drivers/net/phy/mediatek-ge-soc.c b/drivers/net/phy/mediatek/mtk-ge-soc.c
similarity index 100%
rename from drivers/net/phy/mediatek-ge-soc.c
rename to drivers/net/phy/mediatek/mtk-ge-soc.c
diff --git a/drivers/net/phy/mediatek-ge.c b/drivers/net/phy/mediatek/mtk-ge.c
similarity index 100%
rename from drivers/net/phy/mediatek-ge.c
rename to drivers/net/phy/mediatek/mtk-ge.c