mbox series

[v4,0/7] Introduce optional DLC element for Classic CAN

Message ID 20201109102618.2495-1-socketcan@hartkopp.net (mailing list archive)
Headers show
Series Introduce optional DLC element for Classic CAN | expand

Message

Oliver Hartkopp Nov. 9, 2020, 10:26 a.m. UTC
Introduce improved DLC handling for Classic CAN with introduces a new
element 'len8_dlc' to the struct can_frame and additionally rename
the 'can_dlc' element to 'len' as it represents a plain payload length.

Before implementing the CAN_CTRLMODE_CC_LEN8_DLC handling on driver level
this patch set cleans up and renames the relevant code.

No functional changes.

This patch set is based on mkl/linux-can.git (testing branch).

Changes in v2:
  - rephrase commit message of patch 4 about can_dlc replacement

Changes in v3:
  - remove unnecessarily introduced u8 cast in flexcan.c

Changes in v4:
  - adopt phrasing suggestions from Vincent Mailhol
  - separate and extend CAN documentation (Documentation/networking/can.rst)
  - add new patches for len8_dlc handling for CAN drivers
      - add new helpers in include/linux/can/dev.h
      - add len8_dlc support for various CAN USB adapters as reference

Oliver Hartkopp (7):
  can: add optional DLC element to Classical CAN frame structure
  can: rename get_can_dlc() macro with can_get_cc_len()
  can: remove obsolete get_canfd_dlc() macro
  can: replace can_dlc as variable/element for payload length
  can: update documentation for DLC usage in Classical CAN
  can-dev: introduce helpers to access Classical CAN DLC values
  can-dev: add len8_dlc support for various CAN USB adapters

 Documentation/networking/can.rst              | 68 ++++++++++++++-----
 drivers/net/can/at91_can.c                    | 14 ++--
 drivers/net/can/c_can/c_can.c                 | 20 +++---
 drivers/net/can/cc770/cc770.c                 | 14 ++--
 drivers/net/can/dev.c                         | 10 +--
 drivers/net/can/flexcan.c                     |  4 +-
 drivers/net/can/grcan.c                       | 10 +--
 drivers/net/can/ifi_canfd/ifi_canfd.c         |  6 +-
 drivers/net/can/janz-ican3.c                  | 20 +++---
 drivers/net/can/kvaser_pciefd.c               |  4 +-
 drivers/net/can/m_can/m_can.c                 |  6 +-
 drivers/net/can/mscan/mscan.c                 | 20 +++---
 drivers/net/can/pch_can.c                     | 14 ++--
 drivers/net/can/peak_canfd/peak_canfd.c       | 16 ++---
 drivers/net/can/rcar/rcar_can.c               | 14 ++--
 drivers/net/can/rcar/rcar_canfd.c             |  8 +--
 drivers/net/can/rx-offload.c                  |  2 +-
 drivers/net/can/sja1000/sja1000.c             | 10 +--
 drivers/net/can/slcan.c                       | 32 ++++-----
 drivers/net/can/softing/softing_fw.c          |  2 +-
 drivers/net/can/softing/softing_main.c        | 14 ++--
 drivers/net/can/spi/hi311x.c                  | 20 +++---
 drivers/net/can/spi/mcp251x.c                 | 20 +++---
 .../net/can/spi/mcp251xfd/mcp251xfd-core.c    |  4 +-
 drivers/net/can/sun4i_can.c                   | 10 +--
 drivers/net/can/ti_hecc.c                     |  8 +--
 drivers/net/can/usb/ems_usb.c                 | 16 ++---
 drivers/net/can/usb/esd_usb2.c                | 16 ++---
 drivers/net/can/usb/gs_usb.c                  | 20 +++---
 .../net/can/usb/kvaser_usb/kvaser_usb_core.c  |  2 +-
 .../net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 20 +++---
 .../net/can/usb/kvaser_usb/kvaser_usb_leaf.c  | 22 +++---
 drivers/net/can/usb/mcba_usb.c                | 10 +--
 drivers/net/can/usb/peak_usb/pcan_usb.c       | 20 +++---
 drivers/net/can/usb/peak_usb/pcan_usb_fd.c    | 29 +++++---
 drivers/net/can/usb/peak_usb/pcan_usb_pro.c   | 14 ++--
 drivers/net/can/usb/ucan.c                    | 20 +++---
 drivers/net/can/usb/usb_8dev.c                | 21 +++---
 drivers/net/can/xilinx_can.c                  | 12 ++--
 include/linux/can/dev.h                       | 30 ++++++--
 include/linux/can/dev/peak_canfd.h            |  2 +-
 include/uapi/linux/can.h                      | 38 +++++++----
 include/uapi/linux/can/netlink.h              |  1 +
 net/can/af_can.c                              |  2 +-
 net/can/gw.c                                  |  2 +-
 net/can/j1939/main.c                          |  4 +-
 46 files changed, 377 insertions(+), 294 deletions(-)

Comments

Oliver Hartkopp Nov. 9, 2020, 11:51 a.m. UTC | #1
On 09.11.20 11:26, Oliver Hartkopp wrote:
> Introduce improved DLC handling for Classic CAN with introduces a new
> element 'len8_dlc' to the struct can_frame and additionally rename
> the 'can_dlc' element to 'len' as it represents a plain payload length.
> 
> Before implementing the CAN_CTRLMODE_CC_LEN8_DLC handling on driver level
> this patch set cleans up and renames the relevant code.
> 
> No functional changes.
> 
> This patch set is based on mkl/linux-can.git (testing branch).

In fact it is based on the latest net-next ...

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git

copy/paste error, sorry.

m(

> 
> Changes in v2:
>    - rephrase commit message of patch 4 about can_dlc replacement
> 
> Changes in v3:
>    - remove unnecessarily introduced u8 cast in flexcan.c
> 
> Changes in v4:
>    - adopt phrasing suggestions from Vincent Mailhol
>    - separate and extend CAN documentation (Documentation/networking/can.rst)
>    - add new patches for len8_dlc handling for CAN drivers
>        - add new helpers in include/linux/can/dev.h
>        - add len8_dlc support for various CAN USB adapters as reference
> 
> Oliver Hartkopp (7):
>    can: add optional DLC element to Classical CAN frame structure
>    can: rename get_can_dlc() macro with can_get_cc_len()
>    can: remove obsolete get_canfd_dlc() macro
>    can: replace can_dlc as variable/element for payload length
>    can: update documentation for DLC usage in Classical CAN
>    can-dev: introduce helpers to access Classical CAN DLC values
>    can-dev: add len8_dlc support for various CAN USB adapters
> 
>   Documentation/networking/can.rst              | 68 ++++++++++++++-----
>   drivers/net/can/at91_can.c                    | 14 ++--
>   drivers/net/can/c_can/c_can.c                 | 20 +++---
>   drivers/net/can/cc770/cc770.c                 | 14 ++--
>   drivers/net/can/dev.c                         | 10 +--
>   drivers/net/can/flexcan.c                     |  4 +-
>   drivers/net/can/grcan.c                       | 10 +--
>   drivers/net/can/ifi_canfd/ifi_canfd.c         |  6 +-
>   drivers/net/can/janz-ican3.c                  | 20 +++---
>   drivers/net/can/kvaser_pciefd.c               |  4 +-
>   drivers/net/can/m_can/m_can.c                 |  6 +-
>   drivers/net/can/mscan/mscan.c                 | 20 +++---
>   drivers/net/can/pch_can.c                     | 14 ++--
>   drivers/net/can/peak_canfd/peak_canfd.c       | 16 ++---
>   drivers/net/can/rcar/rcar_can.c               | 14 ++--
>   drivers/net/can/rcar/rcar_canfd.c             |  8 +--
>   drivers/net/can/rx-offload.c                  |  2 +-
>   drivers/net/can/sja1000/sja1000.c             | 10 +--
>   drivers/net/can/slcan.c                       | 32 ++++-----
>   drivers/net/can/softing/softing_fw.c          |  2 +-
>   drivers/net/can/softing/softing_main.c        | 14 ++--
>   drivers/net/can/spi/hi311x.c                  | 20 +++---
>   drivers/net/can/spi/mcp251x.c                 | 20 +++---
>   .../net/can/spi/mcp251xfd/mcp251xfd-core.c    |  4 +-
>   drivers/net/can/sun4i_can.c                   | 10 +--
>   drivers/net/can/ti_hecc.c                     |  8 +--
>   drivers/net/can/usb/ems_usb.c                 | 16 ++---
>   drivers/net/can/usb/esd_usb2.c                | 16 ++---
>   drivers/net/can/usb/gs_usb.c                  | 20 +++---
>   .../net/can/usb/kvaser_usb/kvaser_usb_core.c  |  2 +-
>   .../net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 20 +++---
>   .../net/can/usb/kvaser_usb/kvaser_usb_leaf.c  | 22 +++---
>   drivers/net/can/usb/mcba_usb.c                | 10 +--
>   drivers/net/can/usb/peak_usb/pcan_usb.c       | 20 +++---
>   drivers/net/can/usb/peak_usb/pcan_usb_fd.c    | 29 +++++---
>   drivers/net/can/usb/peak_usb/pcan_usb_pro.c   | 14 ++--
>   drivers/net/can/usb/ucan.c                    | 20 +++---
>   drivers/net/can/usb/usb_8dev.c                | 21 +++---
>   drivers/net/can/xilinx_can.c                  | 12 ++--
>   include/linux/can/dev.h                       | 30 ++++++--
>   include/linux/can/dev/peak_canfd.h            |  2 +-
>   include/uapi/linux/can.h                      | 38 +++++++----
>   include/uapi/linux/can/netlink.h              |  1 +
>   net/can/af_can.c                              |  2 +-
>   net/can/gw.c                                  |  2 +-
>   net/can/j1939/main.c                          |  4 +-
>   46 files changed, 377 insertions(+), 294 deletions(-)
>