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. ====================
Showing the changes to include/uapi/linux (2 of 12 files). Show all
Unified · Split
| @@ -80,6 +80,10 @@ enum { · 79 unmodified lines | ||
| 80 | 80 | CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */ |
| 81 | 81 | CGW_LIM_HOPS, /* limit the number of hops of this specific rule */ |
| 82 | 82 | 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 */ | |
| 83 | 87 | __CGW_MAX |
| 84 | 88 | }; |
| 85 | 89 | |
| @@ -88,15 +92,18 @@ enum { · 2 unmodified lines | ||
| 88 | 92 | #define CGW_FLAGS_CAN_ECHO 0x01 |
| 89 | 93 | #define CGW_FLAGS_CAN_SRC_TSTAMP 0x02 |
| 90 | 94 | #define CGW_FLAGS_CAN_IIF_TX_OK 0x04 |
| 95 | +#define CGW_FLAGS_CAN_FD 0x08 | |
| 91 | 96 | |
| 92 | 97 | #define CGW_MOD_FUNCS 4 /* AND OR XOR SET */ |
| 93 | 98 | |
| 94 | 99 | /* CAN frame elements that are affected by curr. 3 CAN frame modifications */ |
| 95 | 100 | #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 */ | |
| 97 | 103 | #define CGW_MOD_DATA 0x04 |
| 104 | +#define CGW_MOD_FLAGS 0x08 /* CAN FD flags */ | |
| 98 | 105 | |
| 99 | −#define CGW_FRAME_MODS 3 /* ID DLC DATA */ | |
| 106 | +#define CGW_FRAME_MODS 4 /* ID DLC/LEN DATA FLAGS */ | |
| 100 | 107 | |
| 101 | 108 | #define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS) |
| 102 | 109 | |
| @@ -105,7 +112,13 @@ struct cgw_frame_mod { · 2 unmodified lines | ||
| 105 | 112 | __u8 modtype; |
| 106 | 113 | } __attribute__((packed)); |
| 107 | 114 | |
| 115 | +struct cgw_fdframe_mod { | |
| 116 | + struct canfd_frame cf; | |
| 117 | + __u8 modtype; | |
| 118 | +} __attribute__((packed)); | |
| 119 | + | |
| 108 | 120 | #define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod) |
| 121 | +#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod) | |
| 109 | 122 | |
| 110 | 123 | struct cgw_csum_xor { |
| 111 | 124 | __s8 from_idx; |
| @@ -40,15 +40,15 @@ struct can_bittiming { · 39 unmodified lines | ||
| 40 | 40 | }; |
| 41 | 41 | |
| 42 | 42 | /* |
| 43 | − * CAN harware-dependent bit-timing constant | |
| 43 | + * CAN hardware-dependent bit-timing constant | |
| 44 | 44 | * |
| 45 | 45 | * Used for calculating and checking bit-timing parameters |
| 46 | 46 | */ |
| 47 | 47 | struct can_bittiming_const { |
| 48 | 48 | 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 */ | |
| 50 | 50 | __u32 tseg1_max; |
| 51 | − __u32 tseg2_min; /* Time segement 2 = phase_seg2 */ | |
| 51 | + __u32 tseg2_min; /* Time segment 2 = phase_seg2 */ | |
| 52 | 52 | __u32 tseg2_max; |
| 53 | 53 | __u32 sjw_max; /* Synchronisation jump width */ |
| 54 | 54 | __u32 brp_min; /* Bit-rate prescaler */ |