2020-10-23 10:58:21

by Oleksij Rempel

[permalink] [raw]
Subject: [RFC PATCH v1 3/6] net: phy: add CAN interface mode

Signed-off-by: Oleksij Rempel <[email protected]>
---
drivers/net/phy/phy.c | 2 ++
include/linux/phy.h | 3 +++
2 files changed, 5 insertions(+)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 35525a671400..4fb355df3e61 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -324,6 +324,8 @@ void phy_ethtool_ksettings_get(struct phy_device *phydev,
cmd->base.master_slave_state = phydev->master_slave_state;
if (phydev->interface == PHY_INTERFACE_MODE_MOCA)
cmd->base.port = PORT_BNC;
+ else if (phydev->interface == PHY_INTERFACE_MODE_CAN)
+ cmd->base.port = PORT_OTHER;
else
cmd->base.port = PORT_MII;
cmd->base.transceiver = phy_is_internal(phydev) ?
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 92225fc0d105..c5d8628cecf3 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -144,6 +144,7 @@ typedef enum {
PHY_INTERFACE_MODE_USXGMII,
/* 10GBASE-KR - with Clause 73 AN */
PHY_INTERFACE_MODE_10GKR,
+ PHY_INTERFACE_MODE_CAN,
PHY_INTERFACE_MODE_MAX,
} phy_interface_t;

@@ -225,6 +226,8 @@ static inline const char *phy_modes(phy_interface_t interface)
return "usxgmii";
case PHY_INTERFACE_MODE_10GKR:
return "10gbase-kr";
+ case PHY_INTERFACE_MODE_CAN:
+ return "can";
default:
return "unknown";
}
--
2.28.0


2020-10-24 00:05:52

by Andrew Lunn

[permalink] [raw]
Subject: Re: [RFC PATCH v1 3/6] net: phy: add CAN interface mode

On Fri, Oct 23, 2020 at 12:56:23PM +0200, Oleksij Rempel wrote:
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---
> drivers/net/phy/phy.c | 2 ++
> include/linux/phy.h | 3 +++
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 35525a671400..4fb355df3e61 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -324,6 +324,8 @@ void phy_ethtool_ksettings_get(struct phy_device *phydev,
> cmd->base.master_slave_state = phydev->master_slave_state;
> if (phydev->interface == PHY_INTERFACE_MODE_MOCA)
> cmd->base.port = PORT_BNC;
> + else if (phydev->interface == PHY_INTERFACE_MODE_CAN)
> + cmd->base.port = PORT_OTHER;
> else
> cmd->base.port = PORT_MII;

There is nothing stopping you from adding CAN specific PORT_ types.

Andrew