diff mbox series

[net-next] net: phy: Expose phydev::dev_flags through sysfs

Message ID 20210310221244.2968469-1-f.fainelli@gmail.com (mailing list archive)
State Accepted
Commit b0bade515d360800fc701e1a965cf41adcc4ec1b
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: phy: Expose phydev::dev_flags through sysfs | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/cc_maintainers success CCed 6 of 6 maintainers
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 36 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link

Commit Message

Florian Fainelli March 10, 2021, 10:12 p.m. UTC
phydev::dev_flags contains a bitmask of configuration bits requested by
the consumer of a PHY device (Ethernet MAC or switch) towards the PHY
driver. Since these flags are often used for requesting LED or other
type of configuration being able to quickly audit them without
instrumenting the kernel is useful.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 Documentation/ABI/testing/sysfs-class-net-phydev | 12 ++++++++++++
 drivers/net/phy/phy_device.c                     | 11 +++++++++++
 2 files changed, 23 insertions(+)

Comments

Jakub Kicinski March 10, 2021, 10:48 p.m. UTC | #1
On Wed, 10 Mar 2021 14:12:43 -0800 Florian Fainelli wrote:
> phydev::dev_flags contains a bitmask of configuration bits requested by
> the consumer of a PHY device (Ethernet MAC or switch) towards the PHY
> driver. Since these flags are often used for requesting LED or other
> type of configuration being able to quickly audit them without
> instrumenting the kernel is useful.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  Documentation/ABI/testing/sysfs-class-net-phydev | 12 ++++++++++++
>  drivers/net/phy/phy_device.c                     | 11 +++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/Documentation/ABI/testing/sysfs-class-net-phydev b/Documentation/ABI/testing/sysfs-class-net-phydev
> index 40ced0ea4316..ac722dd5e694 100644
> --- a/Documentation/ABI/testing/sysfs-class-net-phydev
> +++ b/Documentation/ABI/testing/sysfs-class-net-phydev
> @@ -51,3 +51,15 @@ Description:
>  		Boolean value indicating whether the PHY device is used in
>  		standalone mode, without a net_device associated, by PHYLINK.
>  		Attribute created only when this is the case.
> +
> +What:		/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags
> +Date:		March 2021
> +KernelVersion:	5.13
> +Contact:	netdev@vger.kernel.org
> +Description:
> +		32-bit hexadecimal number representing a bit mask of the
> +		configuration bits passed from the consumer of the PHY
> +		(Ethernet MAC, switch, etc.) to the PHY driver. The flags are
> +		only used internally by the kernel and their placement are
> +		not meant to be stable across kernel versions. This is intended
> +		for facilitating the debugging of PHY drivers.

Why not debugfs, then?
Florian Fainelli March 10, 2021, 10:50 p.m. UTC | #2
On 3/10/21 2:48 PM, Jakub Kicinski wrote:
> On Wed, 10 Mar 2021 14:12:43 -0800 Florian Fainelli wrote:
>> phydev::dev_flags contains a bitmask of configuration bits requested by
>> the consumer of a PHY device (Ethernet MAC or switch) towards the PHY
>> driver. Since these flags are often used for requesting LED or other
>> type of configuration being able to quickly audit them without
>> instrumenting the kernel is useful.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  Documentation/ABI/testing/sysfs-class-net-phydev | 12 ++++++++++++
>>  drivers/net/phy/phy_device.c                     | 11 +++++++++++
>>  2 files changed, 23 insertions(+)
>>
>> diff --git a/Documentation/ABI/testing/sysfs-class-net-phydev b/Documentation/ABI/testing/sysfs-class-net-phydev
>> index 40ced0ea4316..ac722dd5e694 100644
>> --- a/Documentation/ABI/testing/sysfs-class-net-phydev
>> +++ b/Documentation/ABI/testing/sysfs-class-net-phydev
>> @@ -51,3 +51,15 @@ Description:
>>  		Boolean value indicating whether the PHY device is used in
>>  		standalone mode, without a net_device associated, by PHYLINK.
>>  		Attribute created only when this is the case.
>> +
>> +What:		/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags
>> +Date:		March 2021
>> +KernelVersion:	5.13
>> +Contact:	netdev@vger.kernel.org
>> +Description:
>> +		32-bit hexadecimal number representing a bit mask of the
>> +		configuration bits passed from the consumer of the PHY
>> +		(Ethernet MAC, switch, etc.) to the PHY driver. The flags are
>> +		only used internally by the kernel and their placement are
>> +		not meant to be stable across kernel versions. This is intended
>> +		for facilitating the debugging of PHY drivers.
> 
> Why not debugfs, then?
> 

Mostly for consistency with what we already have exposed, I suppose that
could be moved to debugfs.
patchwork-bot+netdevbpf@kernel.org March 11, 2021, 8:50 p.m. UTC | #3
Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Wed, 10 Mar 2021 14:12:43 -0800 you wrote:
> phydev::dev_flags contains a bitmask of configuration bits requested by
> the consumer of a PHY device (Ethernet MAC or switch) towards the PHY
> driver. Since these flags are often used for requesting LED or other
> type of configuration being able to quickly audit them without
> instrumenting the kernel is useful.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> 
> [...]

Here is the summary with links:
  - [net-next] net: phy: Expose phydev::dev_flags through sysfs
    https://git.kernel.org/netdev/net-next/c/b0bade515d36

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/Documentation/ABI/testing/sysfs-class-net-phydev b/Documentation/ABI/testing/sysfs-class-net-phydev
index 40ced0ea4316..ac722dd5e694 100644
--- a/Documentation/ABI/testing/sysfs-class-net-phydev
+++ b/Documentation/ABI/testing/sysfs-class-net-phydev
@@ -51,3 +51,15 @@  Description:
 		Boolean value indicating whether the PHY device is used in
 		standalone mode, without a net_device associated, by PHYLINK.
 		Attribute created only when this is the case.
+
+What:		/sys/class/mdio_bus/<bus>/<device>/phy_dev_flags
+Date:		March 2021
+KernelVersion:	5.13
+Contact:	netdev@vger.kernel.org
+Description:
+		32-bit hexadecimal number representing a bit mask of the
+		configuration bits passed from the consumer of the PHY
+		(Ethernet MAC, switch, etc.) to the PHY driver. The flags are
+		only used internally by the kernel and their placement are
+		not meant to be stable across kernel versions. This is intended
+		for facilitating the debugging of PHY drivers.
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index cc38e326405a..a009d1769b08 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -512,10 +512,21 @@  phy_has_fixups_show(struct device *dev, struct device_attribute *attr,
 }
 static DEVICE_ATTR_RO(phy_has_fixups);
 
+static ssize_t phy_dev_flags_show(struct device *dev,
+				  struct device_attribute *attr,
+				  char *buf)
+{
+	struct phy_device *phydev = to_phy_device(dev);
+
+	return sprintf(buf, "0x%08x\n", phydev->dev_flags);
+}
+static DEVICE_ATTR_RO(phy_dev_flags);
+
 static struct attribute *phy_dev_attrs[] = {
 	&dev_attr_phy_id.attr,
 	&dev_attr_phy_interface.attr,
 	&dev_attr_phy_has_fixups.attr,
+	&dev_attr_phy_dev_flags.attr,
 	NULL,
 };
 ATTRIBUTE_GROUPS(phy_dev);