-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello Fu,
Marc Kleine-Budde wrote: > This patch adds the flag CAN_CTRLMODE_ONE_SHOT. It is used as mask > or flag in the "struct can_ctrlmode". > > It also adds to "ip" the option to set a CAN controller into the special > "one-shot" mode. In this mode, if supported by the CAN controller, > tries only once to deliver a CAN frame and aborts it if an error > (e.g.: arbitration lost) happens. > > Signed-off-by: Marc Kleine-Budde <[email protected]> > Acked-by: Wolfgang Grandegger <[email protected]> Can you add this to your libsocketcan as-well? cheers, Marc > --- > include/linux/can/netlink.h | 1 + > ip/iplink_can.c | 6 ++++++ > 2 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/include/linux/can/netlink.h b/include/linux/can/netlink.h > index 9ecbb78..c818335 100644 > --- a/include/linux/can/netlink.h > +++ b/include/linux/can/netlink.h > @@ -80,6 +80,7 @@ struct can_ctrlmode { > #define CAN_CTRLMODE_LOOPBACK 0x1 /* Loopback mode */ > #define CAN_CTRLMODE_LISTENONLY 0x2 /* Listen-only mode */ > #define CAN_CTRLMODE_3_SAMPLES 0x4 /* Triple sampling mode */ > +#define CAN_CTRLMODE_ONE_SHOT 0x8 /* One-Shot mode */ > > /* > * CAN device statistics > diff --git a/ip/iplink_can.c b/ip/iplink_can.c > index 50221e1..5d0d82c 100644 > --- a/ip/iplink_can.c > +++ b/ip/iplink_can.c > @@ -30,6 +30,7 @@ static void usage(void) > "\t[ loopback { on | off } ]\n" > "\t[ listen-only { on | off } ]\n" > "\t[ triple-sampling { on | off } ]\n" > + "\t[ one-shot { on | off } ]\n" > "\n" > "\t[ restart-ms TIME-MS ]\n" > "\t[ restart ]\n" > @@ -84,6 +85,7 @@ static void print_ctrlmode(FILE *f, __u32 cm) > _PF(CAN_CTRLMODE_LOOPBACK, "LOOPBACK"); > _PF(CAN_CTRLMODE_LISTENONLY, "LISTEN-ONLY"); > _PF(CAN_CTRLMODE_3_SAMPLES, "TRIPLE-SAMPLING"); > + _PF(CAN_CTRLMODE_ONE_SHOT, "ONE-SHOT"); > #undef _PF > if (cm) > fprintf(f, "%x", cm); > @@ -142,6 +144,10 @@ static int can_parse_opt(struct link_util *lu, int argc, > char **argv, > NEXT_ARG(); > set_ctrlmode("triple-sampling", *argv, &cm, > CAN_CTRLMODE_3_SAMPLES); > + } else if (matches(*argv, "one-shot") == 0) { > + NEXT_ARG(); > + set_ctrlmode("one-shot", *argv, &cm, > + CAN_CTRLMODE_ONE_SHOT); > } else if (matches(*argv, "restart") == 0) { > __u32 val = 1; > - -- Pengutronix e.K. | Marc Kleine-Budde | Linux Solutions for Science and Industry | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksyCDIACgkQjTAFq1RaXHP3ewCdFSfx6gbv51aFksTT8P2Ztxg1 qKcAn2ax3q2GllwvKHZoqRcYM0JrjsDX =u2My -----END PGP SIGNATURE----- _______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
