Subject: Re: [PATCH v2] drivers/net/phy: add driver for Microchip LAN867x 10BASE-T1S PHY

From: Ramón Nordin Rodriguez <[email-masked]>
Date: Wed, 19 Apr 2023 17:33:24 +0200

On Wed, Apr 19, 2023 at 04:39:13PM +0200, Andrew Lunn wrote:
> On Wed, Apr 19, 2023 at 01:16:39PM +0200, Ramón Nordin Rodriguez wrote:
> > This patch adds support for the Microchip LAN867x 10BASE-T1S family
> > (LAN8670/1/2). The driver supports P2MP with PLCA.
> 
> It is normal to list here what has changed since the last
> version. That gives reviewers an idea what comments have been address,
> and if any have been missed.
> 

Sorry for missing the obvious, is it acceptable to ammend a list of
changes changes in this reply, or would you prefer a V3 submission?

Changes:
    v2:
- Removed mentioning of not supporting auto-negotiation from commit
  message
- Renamed file drivers/net/phy/lan867x.c ->
  drivers/net/phy/microchip_t1s.c
- Renamed Kconfig option to reflect implementation filename (from
  LAN867X_PHY to MICROCHIP_T1S_PHY)
- Moved entry in drivers/net/phy/KConfig to correct sort order
- Moved entry in drivers/net/phy/Makefile to correct sort order
- Moved variable declarations to conform to reverse christmas tree order
  (in func lan867x_config_init)
- Moved register write to disable chip interrupts to func lan867x_config_init, when omitting the irq disable all togheter I got null pointer dereference, see the call trace below:

    Call Trace:
     <TASK>
     phy_interrupt+0xa8/0xf0 [libphy]
     irq_thread_fn+0x1c/0x60
     irq_thread+0xf7/0x1c0
     ? __pfx_irq_thread_dtor+0x10/0x10
     ? __pfx_irq_thread+0x10/0x10
     kthread+0xe6/0x110
     ? __pfx_kthread+0x10/0x10
     ret_from_fork+0x29/0x50
     </TASK>

- Removed func lan867x_config_interrupt and removed the member
  .config_intr from the phy_driver struct

Testing:
This has been tested with ethtool --set/get-plca-cfg and verified on an
oscilloscope where it was observed that:
- The PLCA beacon was enabled/disabled when setting the node-id to 0/not
  0
- The PLCA beacon is transmitted with the expected frequency when
  changing max nodes
- Two devices using the evaluation board EVB-LAN8670-USB could ping each
  other

Request for comments:
Now that the module has changed name, maybe the funcs lan867x_config_init
and lan867x_read_status should change name to
microchip_t1s_config_init/read_status?

> > Signed-off-by: Ramón Nordin Rodriguez <[email-masked]>
> 
> Reviewed-by: Andrew Lunn <[email-masked]>
> 
>     Andrew