On 11.01.2022 17:22:28, Ulrich Hecht wrote: > Adds support for the CANFD IP variant in the V3U SoC. > > Differences to controllers in other SoCs are limited to an increase in > the number of channels from two to eight, an absence of dedicated > registers for "classic" CAN mode, and a number of differences in magic > numbers (register offsets and layouts). > > Inspired by BSP patch by Kazuya Mizuguchi. > > Signed-off-by: Ulrich Hecht <uli+renesas@xxxxxxxx> > --- > drivers/net/can/rcar/rcar_canfd.c | 231 ++++++++++++++++++++---------- > 1 file changed, 153 insertions(+), 78 deletions(-) > > diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c > index ff9d0f5ae0dd..b1c9870d2a82 100644 > --- a/drivers/net/can/rcar/rcar_canfd.c > +++ b/drivers/net/can/rcar/rcar_canfd.c > @@ -44,10 +44,13 @@ > enum rcanfd_chip_id { > RENESAS_RCAR_GEN3 = 0, > RENESAS_RZG2L, > + RENESAS_R8A779A0, > }; > > /* Global register bits */ > > +#define IS_V3U (gpriv->chip_id == RENESAS_R8A779A0) I really don't like this macro, as it silently relies on gpriv....and I really don't like this use of this macro in the other macros that lead to 2 or even 3 ternary operators hiding inside them. Is there any chance to change this? Please add at least the gpriv argument to IS_V3U()..... [...] > - of_child = of_get_child_by_name(pdev->dev.of_node, "channel1"); > - if (of_child && of_device_is_available(of_child)) > - channels_mask |= BIT(1); /* Channel 1 */ > + strcpy(name, "channelX"); please use strlcpy() Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: PGP signature