-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update the mdio-netlink kmod and userspace mdio-tools to version 1.1.1. mdio-tools required a musl time64 compatibility fix that I have an PR open for already. Changelog: [v1.1.1] - 2022-05-23 --------------------- Tiny bugfix release. - mdio: The bench operation is now much more reliable when stacked on other devices than regular PHYs (e.g. paged PHYs or Marvell switches). - mvls: The STU can now be dumped chips from the Peridot generation. [v1.1.0] - 2022-05-04 --------------------- A sprawling release, adding various mvls related introspection features. mvls also gains a JSON output format. - mvls: The STU can now be dumped (requires Linux 5.17 or later). This is useful now that mv88e6xxx supports offloading of MST states - mvls: Output can now be formatted as JSON for easier scripting - mdio: mvls: A subset of MIB counters can now be dumped. This let's you get at counters for DSA ports, which are not reachable from ethtool - mdio: mvls: The LAG mask and LAG map tables can now be dumped - mdio: Improve usage message by including the examples from the manual Signed-off-by: Robert Marko <robert.marko@sartura.hr>
- Loading branch information
Showing
3 changed files
with
52 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
net/mdio-tools/patches/0001-mdio-bench-make-time_t-prints-portable.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
From 7da5b168152987806e295ed3b7e97b77ffa93cb9 Mon Sep 17 00:00:00 2001 | ||
From: Robert Marko <robert.marko@sartura.hr> | ||
Date: Tue, 7 Jun 2022 13:34:40 +0200 | ||
Subject: [PATCH] mdio: bench: make time_t prints portable | ||
|
||
Using %ld to print time_t will work fine on 64 bit platforms, however | ||
now musl libc defines time_t to be 64 even on 32bit platforms. | ||
|
||
This will make the compilation fail with: | ||
mdio.c: In function 'mdio_common_bench_cb': | ||
mdio.c:555:27: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'time_t' {aka 'long long int'} [-Werror=format=] | ||
555 | printf("%ld.%2.2lds\n", end.tv_sec, end.tv_nsec / 10000000); | ||
| ~~^ ~~~~~~~~~~ | ||
| | | | ||
| long int time_t {aka long long int} | ||
| %lld | ||
|
||
So, replace the %ld in prints with the PRId64 from inttypes.h and cast | ||
tv_sec and tv_nsec to int64_t. | ||
|
||
This makes it compile and work on 32 bit ARMv7 fine. | ||
|
||
Signed-off-by: Robert Marko <robert.marko@sartura.hr> | ||
--- | ||
src/mdio/mdio.c | 8 ++++---- | ||
1 file changed, 4 insertions(+), 4 deletions(-) | ||
|
||
--- a/src/mdio/mdio.c | ||
+++ b/src/mdio/mdio.c | ||
@@ -552,13 +552,13 @@ int mdio_common_bench_cb(uint32_t *data, | ||
printf("Performed 1000 reads in "); | ||
|
||
if (end.tv_sec) | ||
- printf("%ld.%2.2lds\n", end.tv_sec, end.tv_nsec / 10000000); | ||
+ printf("%"PRId64".%2.2"PRId64"s\n", (int64_t)end.tv_sec, (int64_t)end.tv_nsec / 10000000); | ||
else if (end.tv_nsec > 1000000) | ||
- printf("%ldms\n", end.tv_nsec / 1000000); | ||
+ printf("%"PRId64"ms\n", (int64_t)end.tv_nsec / 1000000); | ||
else if (end.tv_nsec > 1000) | ||
- printf("%ldus\n", end.tv_nsec / 1000); | ||
+ printf("%"PRId64"us\n", (int64_t)end.tv_nsec / 1000); | ||
else | ||
- printf("%ldns\n", end.tv_nsec); | ||
+ printf("%"PRId64"ns\n", (int64_t)end.tv_nsec); | ||
|
||
return err; | ||
} |