can: m_can: tag current CAN FD controllers as non-ISO
authorOliver Hartkopp <socketcan@hartkopp.net>
Mon, 5 Jan 2015 18:47:43 +0000 (19:47 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 15 Jan 2015 15:57:59 +0000 (16:57 +0100)
commit6cfda7fbebe8a4fd33ea5722fa0212f98f643c35
treebc2bd80f113d19fd8a332f7cd53172243944aa7b
parent9b1087aa5e86448fe6ad40a58964e35f3ba423d5
can: m_can: tag current CAN FD controllers as non-ISO

During the CAN FD standardization process within the ISO it turned out that
the failure detection capability has to be improved.

The CAN in Automation organization (CiA) defined the already implemented CAN
FD controllers as 'non-ISO' and the upcoming improved CAN FD controllers as
'ISO' compliant. See at http://www.can-cia.com/index.php?id=1937

Finally there will be three types of CAN FD controllers in the future:

1. ISO compliant (fixed)
2. non-ISO compliant (fixed, like the M_CAN IP v3.0.1 in m_can.c)
3. ISO/non-ISO CAN FD controllers (switchable, like the PEAK USB FD)

So the current M_CAN driver for the M_CAN IP v3.0.1 has to expose its non-ISO
implementation by setting the CAN_CTRLMODE_FD_NON_ISO ctrlmode at startup.
As this bit cannot be switched at configuration time CAN_CTRLMODE_FD_NON_ISO
must not be set in ctrlmode_supported of the current M_CAN driver.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/m_can/m_can.c
include/uapi/linux/can/netlink.h