2022-09-06 09:06:51

by Olliver Schinagl

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

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 <[email protected]>
---
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


2022-09-06 12:24:30

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH] linkstate: Add macros for link state up/down

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

2022-09-06 14:58:25

by Olliver Schinagl

[permalink] [raw]
Subject: Re: [PATCH] linkstate: Add macros for link state up/down

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

2022-09-06 16:09:00

by Olliver Schinagl

[permalink] [raw]
Subject: Re: [PATCH] linkstate: Add macros for link state up/down

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