Commit Graph

1184 Commits (24e0c520b680108b1acd9021f918ca598ccb389e)

Author SHA1 Message Date
Marc Kleine-Budde 0847fb34b4 mcp251xfd-gen-testdata: add script to generate mcp251xfd-dump data 2023-01-03 20:18:47 +01:00
Marc Kleine-Budde ceb9761544 mcp251xfd-dump: regmap: skip lines that cannot be read 2023-01-03 15:46:07 +01:00
Marc Kleine-Budde 088176e4e0 mcp251xfd-dump: fail if no registers can be read from regmap file 2023-01-03 15:46:07 +01:00
Marc Kleine-Budde aadf98b49b
Merge pull request #394 from marckleinebudde/candump-cleanups
candump cleanups
2023-01-03 10:49:40 +01:00
Marc Kleine-Budde 92ae2b0e3d candump: sort getopt() by order of option in usage 2023-01-03 10:37:15 +01:00
Marc Kleine-Budde 306254b950 candump: checkpatch: fix space and newline usage
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-01-03 10:37:15 +01:00
Marc Kleine-Budde 34bd45861b
Merge pull request #392 from marckleinebudde/cleanups
cleanups
2022-12-19 15:42:42 +01:00
Juergen Borleis 578f42aac8 Buildsystem: provide missing network/CAN related definitions on demand only
Without the corresponding include file, these macros get always defined
locally and thus, shadows the ones from the system. This change ensures,
if the macros are found already defined in the system, then they are used.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
2022-12-19 15:31:23 +01:00
Juergen Borleis 3c88cfc1ec Buildsystem: don't define _GNU_SOURCE unconditionally
The "AC_USE_SYSTEM_EXTENSIONS" macros tests it for us.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
2022-12-19 15:31:23 +01:00
Juergen Borleis 40819fd038 lib.h: add forgotten declaration
The compiler misses the structure in some source files.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
2022-12-19 15:31:23 +01:00
Marc Kleine-Budde 12f1d94856
Merge pull request #391 from marckleinebudde/cansequence
cansequence: do_receive(): improve output in case of packet miss-match
2022-12-19 15:30:42 +01:00
Marc Kleine-Budde 7d375df741 cansequence: do_receive(): improve output in case of packet miss-match 2022-12-19 15:26:28 +01:00
Marc Kleine-Budde 1969f943a2
Merge pull request #390 from marckleinebudde/can-tc-init-etf
can-tc-init-etf: document required kernel config options
2022-12-13 22:39:08 +01:00
Marc Kleine-Budde 1322afa6e4 can-tc-init-etf: document required kernel config options 2022-12-13 22:13:37 +01:00
Marc Kleine-Budde f662b32082
Merge pull request #389 from marckleinebudde/cangen-so_txtime
cangen: add support for SO_TXTIME
2022-12-12 15:08:12 +01:00
Marc Kleine-Budde 5b5f1523c4 can-tc-init-etf: add example script to setup queuing for etf 2022-12-12 13:25:09 +01:00
Marc Kleine-Budde c6f2cf7c2f cangen: add support for SO_TXTIME
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-09 19:47:21 +01:00
Marc Kleine-Budde 9dff4b6393 cangen: do_send_one(): use sendmsg() instead of write()
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-08 10:55:19 +01:00
Marc Kleine-Budde 759524f02c cangen: move write() into separate function
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-08 10:55:18 +01:00
Marc Kleine-Budde f55ea38d14 cangen: add option for absolute timeouts
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-08 10:49:21 +01:00
Marc Kleine-Budde df232c845a cangen: import timespec helper functions
Imported from:

0b5b9845eb

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 16:45:21 +01:00
Marc Kleine-Budde 1ec8eb9ca1 cangen: move sleep directly in font of send()
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 16:45:21 +01:00
Marc Kleine-Budde 96309409c2
Merge pull request #388 from marckleinebudde/fix-warnings
fix warnings
2022-12-07 16:40:08 +01:00
Marc Kleine-Budde 7e8cfac0de j1939cat: j1939cat_send(): fix uninitialized variable 2022-12-07 16:35:44 +01:00
Marc Kleine-Budde 0b84a782c2 mcp251xfd-dump: fix comparison of integer expressions of different signedness warning
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 16:32:41 +01:00
Marc Kleine-Budde abbd47bd09
Merge pull request #386 from marckleinebudde/cangen-cleanups
cangen cleanups
2022-12-07 15:38:01 +01:00
Marc Kleine-Budde b6a65b8105 cangen: sort getopt() by order of option in usage
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 99686af630 cangen: print_usage() don't hardcode default burst size
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 4b6f8d62dd cangen: move scope of variable ret
... so that it can be used in other parts of the main() functions, too.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 8fb0e954b3 cangen: remove unneeded masking
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 29b05de39d cangen: mark setsockopt() options as const
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 1f96d674c0 cangen: use if_nametoindex() to avoid overflows
This patch replaces strcpy() + ioctl() by if_nametoindex() to avoid
overflows caused by long user input.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 0f7c1aa23a cangen: use consistent indention scheme of 1 space
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde a130ab5e8d cangen: mark functions as static
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 11a0f19244 cangen: properly initialize struct sockaddr_can addr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 8d493edbbe cangen: checkpatch: put braces on all arms of if statement
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 59c87f149b cangen: checkpatch: don't assign in if statement
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde ad638db75d cangen: checkpatch: remove break after return
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 1d55d085c9 cangen: checkpatch: fix comment style
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 77e785b022 cangen: checkpatch: fix space and newline usage
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 144d77180e cangen: checkpatch: don't split strings over multiple lines
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:28:18 +01:00
Marc Kleine-Budde 213a814da6 cangen: don't compare floating-point gap with ‘==’
Fixes the following warning:

| cangen.c:524:7: warning: comparing floating-point with ‘==’ or ‘!=’ is unsafe [-Wfloat-equal]
|   524 |   if (gap && burst_sent_count >= burst_count) /* gap == 0 => performance test :-] */
|       |       ^~~

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:26:42 +01:00
Marc Kleine-Budde a18337b102
Merge pull request #387 from marckleinebudde/can-calc-bit-timing
can-calc-bit-timing: fix various compiler warnings
2022-12-07 15:22:51 +01:00
Marc Kleine-Budde 0b3112edf2 can-calc-bit-timing: remove const from printf_btr functions to silence warning on clang
Fixes: 9b63929974 ("can-calc-bit-timing: mark several structs and members as const")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 15:08:59 +01:00
Marc Kleine-Budde 74897b69c3 can-calc-bit-timing: silence "comparison of integer expressions of different signedness" warning
Silence the "comparison of integer expressions of different
signedness" warning. We want to compile the code as is from the
kernel, including bugs.

| calc-bit-timing/can-calc-bit-timing-v2_6_31.c: In function ‘can_update_spt_v2_6_31’:
| calc-bit-timing/can-calc-bit-timing-v2_6_31.c:51:13: warning: comparison of integer expressions of different signedness: ‘int’ and ‘__u32’ {aka ‘const unsigned int’} [-Wsign-compare]

Fixes: 18eb0ab784 ("can-calc-bit-timing: import bit timing calculation algorithm from v4.8")
Fixes: b777ce2e6d ("can-calc-bit-timing: import bit timing calculation algorithm from v3.18")
Fixes: c1f5dc53ec ("can-calc-bit-timing: import bit timing calculation algorithm from v2.6.31")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-12-07 14:50:02 +01:00
Marc Kleine-Budde 9177294093 Merge patch series "can-utils-dev: a set of update and cleanup patches"
Vincent Mailhol <mailhol.vincent@wanadoo.fr> says:

This series contain cleanup patches and update of header files. There
is no real relation between each patch (aside of 2/6 and 3/6 which
form a pair) so I will end the cover letter here and let you refer to
the short description.

* Changelog *

v2 -> v3:

  * reorder the patches so that related changes are next to each
    other (especially patch 2/6 and 3/6).

  * patch 2/6: new patch to update include/linux/can/error.h with the
    latest hearder from Linux 6.0.0.

  * patch 3/6: do not use an #ifdef anymore and make sure that the
    code still work if run on old kernel version lower than 6.0.0.

  * patch 6/6: rewrite commit description to point out that there is a
    local copy of the linux headers under include/linux/.

v1 -> v2:

  * patch 2/5: add a note in commit message to explain that slcanpty.c
    debug is deactivated by default.

  * patch 2/5: make the compiler check the pr_debug() syntax even if
    debug is off.

  * reorder the patches so that the lib.c and the candump.c patches
    are next to each other in the series.

Link: https://lore.kernel.org/all/20221114163848.3398-1-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-11-15 10:14:47 +01:00
Vincent Mailhol 4764212483 candump: use linux/net_tstamp.h instead of redefining values ourselves
The project contains a local copy of the timestamp header at
include/linux/net_tstamp.h. However, candump.c redefines the
net_tstamp.h values instead of relying on the header.

Replace these by a "include <linux/net_tstamp.h>".

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/all/20221114163848.3398-7-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-11-15 09:49:52 +01:00
Vincent Mailhol 8e45fc5158 candump: add global variable progname
Instead of using argv[0] several time, make the progname a global
variable.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/all/20221114163848.3398-6-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-11-15 09:49:52 +01:00
Vincent Mailhol 0cfd56d613 lib: add pr_debug() macro
Add the pr_debug() macro so that:

  #ifdef DEBUG
  	printf("foo");
  #endif

can be replaced by:

  	pr_debug("foo");

Apply the pr_debug() macro wherever relevant.

Currently, there is no consensus whether debug messages should be
printed on stdout or stderr. Most of the modules: canbusload.c,
candump.c and canlogserver.c use stdout but
mcp251xfd/mcp251xfd-dev-coredump.c uses stderr. Harmonize the behavior
by following the major trend and make
mcp251xfd/mcp251xfd-dev-coredump.c also output to stdout.

slcanpty.c does a #define DEBUG, meaning that debug is always turned
on for this file. Remove this and make debug an option like every
other files.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/all/20221114163848.3398-5-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-11-15 09:49:52 +01:00
Vincent Mailhol 21fb43532e lib: snprintf_can_error_frame: print counter errors if CAN_ERR_CNT is set
Since version 6.0.0 (specifically [1]), the kernel has a new flag:
CAN_ERR_CNT to notify whether or not the error counter is set. Use
this to decide whether on not the error-counter-tx-rx should be
printed.

This way, when a driver set data[6] and data[7] to zero, it is
possible to differentiate whether the error counter is not available
or if the drivers simply reported both counters to be zero.

For interoperability reasons, continue to check data[6] and data[7]
against zero so that the code still works with the old behavior if
run on a kernel version lower than 6.0.0.

[1] commit 3e5c291c7942 ("can: add CAN_ERR_CNT flag to notify
    availability of error counter")
Link: https://git.kernel.org/torvalds/linux/c/3e5c291c7942

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/all/20221114163848.3398-4-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-11-15 09:44:51 +01:00