History

Merge tag 'linux-can-next-for-5.4-20190814' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next

Marc Kleine-Budde says: ==================== pull-request: can-next 2019-08-14 this is a pull request for net-next/master consisting of 41 patches. The first two patches are for the kvaser_pciefd driver: Christer Beskow removes unnecessary code in the kvaser_pciefd_pwm_stop() function, YueHaibing removes the unused including of <linux/version.h>. In the next patch YueHaibing also removes the unused including of <linux/version.h> in the f81601 driver. In the ti_hecc driver the next 6 patches are by me and fix checkpatch warnings. YueHaibing's patch removes an unused variable in the ti_hecc_mailbox_read() function. The next 6 patches all target the xilinx_can driver. Anssi Hannula's patch fixes a chip start failure with an invalid bus. The patch by Venkatesh Yadav Abbarapu skips an error message in case of a deferred probe. The 3 patches by Appana Durga Kedareswara rao fix the RX and TX path for CAN-FD frames. Srinivas Neeli's patch fixes the bit timing calculations for CAN-FD. The next 12 patches are by me and several checkpatch warnings in the af_can, raw and bcm components. Thomas Gleixner provides a patch for the bcm, which switches the timer to HRTIMER_MODE_SOFT and removes the hrtimer_tasklet. Then 6 more patches by me for the gw component, which fix checkpatch warnings, followed by 2 patches by Oliver Hartkopp to add CAN-FD support. The vcan driver gets 3 patches by me, fixing checkpatch warnings. And finally a patch by Andre Hartmann to fix typos in CAN's netlink header. ====================

David S. Miller committed 7 years ago

Commit 87146522 parents 8d73f8f 3ca3c4a12 files · +579 −533Browse files

Showing the changes to include/uapi/linux (2 of 12 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/can/gw.h +15 −2
  2. include/uapi/linux/can/netlink.h +3 −3
include/uapi/linux/can/gw.h+15−2
@@ -80,6 +80,10 @@ enum { · 79 unmodified lines
8080 CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
8181 CGW_LIM_HOPS, /* limit the number of hops of this specific rule */
8282 CGW_MOD_UID, /* user defined identifier for modification updates */
83+ CGW_FDMOD_AND, /* CAN FD frame modification binary AND */
84+ CGW_FDMOD_OR, /* CAN FD frame modification binary OR */
85+ CGW_FDMOD_XOR, /* CAN FD frame modification binary XOR */
86+ CGW_FDMOD_SET, /* CAN FD frame modification set alternate values */
8387 __CGW_MAX
8488 };
8589
@@ -88,15 +92,18 @@ enum { · 2 unmodified lines
8892 #define CGW_FLAGS_CAN_ECHO 0x01
8993 #define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
9094 #define CGW_FLAGS_CAN_IIF_TX_OK 0x04
95+#define CGW_FLAGS_CAN_FD 0x08
9196
9297 #define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
9398
9499 /* CAN frame elements that are affected by curr. 3 CAN frame modifications */
95100 #define CGW_MOD_ID 0x01
96−#define CGW_MOD_DLC 0x02
101+#define CGW_MOD_DLC 0x02 /* contains the data length in bytes */
102+#define CGW_MOD_LEN CGW_MOD_DLC /* CAN FD length representation */
97103 #define CGW_MOD_DATA 0x04
104+#define CGW_MOD_FLAGS 0x08 /* CAN FD flags */
98105
99−#define CGW_FRAME_MODS 3 /* ID DLC DATA */
106+#define CGW_FRAME_MODS 4 /* ID DLC/LEN DATA FLAGS */
100107
101108 #define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)
102109
@@ -105,7 +112,13 @@ struct cgw_frame_mod { · 2 unmodified lines
105112 __u8 modtype;
106113 } __attribute__((packed));
107114
115+struct cgw_fdframe_mod {
116+ struct canfd_frame cf;
117+ __u8 modtype;
118+} __attribute__((packed));
119+
108120 #define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)
121+#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod)
109122
110123 struct cgw_csum_xor {
111124 __s8 from_idx;
include/uapi/linux/can/netlink.h+3−3
@@ -40,15 +40,15 @@ struct can_bittiming { · 39 unmodified lines
4040 };
4141
4242 /*
43− * CAN harware-dependent bit-timing constant
43+ * CAN hardware-dependent bit-timing constant
4444 *
4545 * Used for calculating and checking bit-timing parameters
4646 */
4747 struct can_bittiming_const {
4848 char name[16]; /* Name of the CAN controller hardware */
49− __u32 tseg1_min; /* Time segement 1 = prop_seg + phase_seg1 */
49+ __u32 tseg1_min; /* Time segment 1 = prop_seg + phase_seg1 */
5050 __u32 tseg1_max;
51− __u32 tseg2_min; /* Time segement 2 = phase_seg2 */
51+ __u32 tseg2_min; /* Time segment 2 = phase_seg2 */
5252 __u32 tseg2_max;
5353 __u32 sjw_max; /* Synchronisation jump width */
5454 __u32 brp_min; /* Bit-rate prescaler */