Skip to content

RFC M_CAN Framework rework

Dan Murphy linux-can lkml netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest3 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3can: m_can: Create m_can core to leverage common codedrivers/net/can/m_can/Kconfig drivers/net/can/m_can/Makefile drivers/net/can/m_can/m_can.c +2 more+360 -191711 replies
2/3dt-bindings: can: tcan4x5x: Add DT bindings for TCAN4x5X driverDocumentation/devicetree/bindings/net/can/tcan4x5x.txt+34 -00 replies
3/3can: tcan4x5x: Add tcan4x5x driver to the kerneldrivers/net/can/m_can/Kconfig drivers/net/can/m_can/Makefile drivers/net/can/m_can/tcan4x5x.c+328 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/3] M_CAN Framework rework

All

This patch series creates a m_can core framework that devices can register to. The m_can core manages the Bosch IP and CAN frames. Each device that is registered is responsible for managing device specific functions.

This rewrite was suggested in a device driver submission for the TCAN4x5x device
Reference upstream post:
https://lore.kernel.org/patchwork/patch/984163/

For instance the TCAN device is a SPI device that uses a specific data payload to determine writes and reads. In addition the device has a reset input as well as a wakeup pin. The register offset of the m_can registers differs and must be set by the device attached to the core.

The m_can core will use iomapped writes and reads as the default mechanism for writing and reading. The device driver can provide over rides for this.

This patch series is not complete as it does not handle the CAN interrupts nor can perform a CAN write. If this patch series is deemed acceptable I will finish debugging the driver and post a non RFC series.

Finally I did attempt to reduce the first patch with various git format patch directives but none seemed to reduce the patch.

Dan

Dan Murphy (3):
can: m_can: Create m_can core to leverage common code
dt-bindings: can: tcan4x5x: Add DT bindings for TCAN4x5X driver
can: tcan4x5x: Add tcan4x5x driver to the kernel

 .../devicetree/bindings/net/can/tcan4x5x.txt  |   34 +
 drivers/net/can/m_can/Kconfig                 |   18 +
 drivers/net/can/m_can/Makefile                |    4 +-
 drivers/net/can/m_can/m_can.c                 | 1683 +----------------
 .../net/can/m_can/{m_can.c => m_can_core.c}   |  479 +++--
 drivers/net/can/m_can/m_can_core.h            |  100 +
 drivers/net/can/m_can/tcan4x5x.c              |  321 ++++
 7 files changed, 722 insertions(+), 1917 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/tcan4x5x.txt
 copy drivers/net/can/m_can/{m_can.c => m_can_core.c} (83%)
 create mode 100644 drivers/net/can/m_can/m_can_core.h
 create mode 100644 drivers/net/can/m_can/tcan4x5x.c
Signature · 1 line
2.19.0