[PATCH] linkstate: Add macros for link state up/down

Olliver Schinagl posted 1 patch 3 years, 7 months ago
include/uapi/linux/ethtool.h | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] linkstate: Add macros for link state up/down
Posted by Olliver Schinagl 3 years, 7 months ago
The phylink_link_state.state property can be up or down, via 1 and 0.

The other link state's (speed, duplex) are defined in ethtool.h so lets
add defines for the link-state there as well so we can use macro's to
define our up/down states.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
---
 include/uapi/linux/ethtool.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 2d5741fd44bb..3a00e2f64d87 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -1857,6 +1857,10 @@ static inline int ethtool_validate_duplex(__u8 duplex)
 #define XCVR_DUMMY2		0x03
 #define XCVR_DUMMY3		0x04
 
+/* Linkstate, Up or Down */
+#define LINKSTATE_DOWN		0x0
+#define LINKSTATE_UP		0x1
+
 /* Enable or disable autonegotiation. */
 #define AUTONEG_DISABLE		0x00
 #define AUTONEG_ENABLE		0x01
-- 
2.37.2
Re: [PATCH] linkstate: Add macros for link state up/down
Posted by Andrew Lunn 3 years, 7 months ago
On Tue, Sep 06, 2022 at 10:37:54AM +0200, Olliver Schinagl wrote:
> The phylink_link_state.state property can be up or down, via 1 and 0.
> 
> The other link state's (speed, duplex) are defined in ethtool.h so lets
> add defines for the link-state there as well so we can use macro's to
> define our up/down states.

Hi Olliver

The change itself is fine, but we don't add to the API without
users. Please make use of these two new values somewhere, to show they
are really useful.

    Andrew
Re: [PATCH] linkstate: Add macros for link state up/down
Posted by Olliver Schinagl 3 years, 7 months ago
Hey Andrew,

On 06-09-2022 14:18, Andrew Lunn wrote:
> On Tue, Sep 06, 2022 at 10:37:54AM +0200, Olliver Schinagl wrote:
>> The phylink_link_state.state property can be up or down, via 1 and 0.
>>
>> The other link state's (speed, duplex) are defined in ethtool.h so lets
>> add defines for the link-state there as well so we can use macro's to
>> define our up/down states.
> Hi Olliver
>
> The change itself is fine, but we don't add to the API without
> users. Please make use of these two new values somewhere, to show they
> are really useful.
>
>      Andrew

So I've found quite a lot of users, which I suppose is good. I've since 
decided to turn it into an enum, and refer in the structs as `enum 
phy_linkstate link:1` (is this even legal?) Would that ok for v2?


Olliver
Re: [PATCH] linkstate: Add macros for link state up/down
Posted by Olliver Schinagl 3 years, 7 months ago
Hey Andrew,

On 06-09-2022 14:18, Andrew Lunn wrote:
> On Tue, Sep 06, 2022 at 10:37:54AM +0200, Olliver Schinagl wrote:
>> The phylink_link_state.state property can be up or down, via 1 and 0.
>>
>> The other link state's (speed, duplex) are defined in ethtool.h so lets
>> add defines for the link-state there as well so we can use macro's to
>> define our up/down states.
> Hi Olliver
>
> The change itself is fine, but we don't add to the API without
> users. Please make use of these two new values somewhere, to show they
> are really useful.
>
>      Andrew

I actually ran into this need as I'm working on the realtek switch stuff 
over on openwrt, where I see link-states being set with 0/1. I'll search 
the kernel for these as well if that helps and can do a follow up of course.

Olliver