From: Wolfgang Grandegger <wg@grandegger.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
netdev@vger.kernel.org, mkl@pengutronix.de,
linux-can@vger.kernel.org
Cc: linux-sh@vger.kernel.org, vksavl@gmail.com
Subject: Re: [PATCH v2] can: add Renesas R-Car CAN driver
Date: Sun, 03 Nov 2013 20:38:38 +0100 [thread overview]
Message-ID: <5276A63E.3070505@grandegger.com> (raw)
In-Reply-To: <52742A0F.7040707@cogentembedded.com>
On 11/01/2013 11:24 PM, Sergei Shtylyov wrote:
> On 10/25/2013 11:28 PM, Wolfgang Grandegger wrote:
>
>>> Add support for the CAN controller found in Renesas R-Car SoCs.
>
>>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>
> [...]
>
>>> Index: linux-can-next/drivers/net/can/rcar_can.c
>>> ===================================================================
>>> --- /dev/null
>>> +++ linux-can-next/drivers/net/can/rcar_can.c
>>> @@ -0,0 +1,920 @@
> [...]
>>> +static bool autorecovery;
>>> +module_param(autorecovery, bool, 0644);
>>> +MODULE_PARM_DESC(autorecovery, "Automatic hardware recovery from
>>> bus-off");
>
>> Software recovery is the preferred solution. No need to support
>> automatic recovery by the hardware.
>
> OK, removed it.
>
>>> +/* Mailbox registers structure */
>>> +struct rcar_can_mbox_regs {
>>> + u32 id; /* IDE and RTR bits, SID and EID */
>>> + u8 stub; /* Not used */
>>> + u8 dlc; /* Data Length Code - bits [0..3] */
>>> + u8 data[8]; /* Data Bytes */
>>> + u8 tsh; /* Time Stamp Higher Byte */
>>> + u8 tsl; /* Time Stamp Lower Byte */
>
>> I would add padding bytes here to ensure alignment.
>
> What padding? This is how the hardware registers are laid out. I
> think I should rather add __packed after }.
OK, I was confused that data does not start on a 4 byte boundary.
>>> + rcar_can_writeb(priv, RCAR_CAN_ECSR, (u8)~ECSR_ADEF);
>
>> Please avoid casts here and below.
>
> These casts help avoid compiler warnings.
Well instead of using casts the declaration of ECSR_ADEF and otheres
should be fixed. I think the problem is that BIT is declared as shown below:
#define BIT(nr) (1UL << (nr))
Using BIT seems not appropriate here.
Wolfgang,
WARNING: multiple messages have this Message-ID (diff)
From: Wolfgang Grandegger <wg@grandegger.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
netdev@vger.kernel.org, mkl@pengutronix.de,
linux-can@vger.kernel.org
Cc: linux-sh@vger.kernel.org, vksavl@gmail.com
Subject: Re: [PATCH v2] can: add Renesas R-Car CAN driver
Date: Sun, 03 Nov 2013 19:38:38 +0000 [thread overview]
Message-ID: <5276A63E.3070505@grandegger.com> (raw)
In-Reply-To: <52742A0F.7040707@cogentembedded.com>
On 11/01/2013 11:24 PM, Sergei Shtylyov wrote:
> On 10/25/2013 11:28 PM, Wolfgang Grandegger wrote:
>
>>> Add support for the CAN controller found in Renesas R-Car SoCs.
>
>>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>
> [...]
>
>>> Index: linux-can-next/drivers/net/can/rcar_can.c
>>> =================================>>> --- /dev/null
>>> +++ linux-can-next/drivers/net/can/rcar_can.c
>>> @@ -0,0 +1,920 @@
> [...]
>>> +static bool autorecovery;
>>> +module_param(autorecovery, bool, 0644);
>>> +MODULE_PARM_DESC(autorecovery, "Automatic hardware recovery from
>>> bus-off");
>
>> Software recovery is the preferred solution. No need to support
>> automatic recovery by the hardware.
>
> OK, removed it.
>
>>> +/* Mailbox registers structure */
>>> +struct rcar_can_mbox_regs {
>>> + u32 id; /* IDE and RTR bits, SID and EID */
>>> + u8 stub; /* Not used */
>>> + u8 dlc; /* Data Length Code - bits [0..3] */
>>> + u8 data[8]; /* Data Bytes */
>>> + u8 tsh; /* Time Stamp Higher Byte */
>>> + u8 tsl; /* Time Stamp Lower Byte */
>
>> I would add padding bytes here to ensure alignment.
>
> What padding? This is how the hardware registers are laid out. I
> think I should rather add __packed after }.
OK, I was confused that data does not start on a 4 byte boundary.
>>> + rcar_can_writeb(priv, RCAR_CAN_ECSR, (u8)~ECSR_ADEF);
>
>> Please avoid casts here and below.
>
> These casts help avoid compiler warnings.
Well instead of using casts the declaration of ECSR_ADEF and otheres
should be fixed. I think the problem is that BIT is declared as shown below:
#define BIT(nr) (1UL << (nr))
Using BIT seems not appropriate here.
Wolfgang,
next prev parent reply other threads:[~2013-11-03 19:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 23:03 [PATCH v2] can: add Renesas R-Car CAN driver Sergei Shtylyov
2013-10-24 23:03 ` Sergei Shtylyov
2013-10-25 19:28 ` Wolfgang Grandegger
2013-10-25 19:28 ` Wolfgang Grandegger
2013-11-01 21:24 ` Sergei Shtylyov
2013-11-01 22:24 ` Sergei Shtylyov
2013-11-03 19:38 ` Wolfgang Grandegger [this message]
2013-11-03 19:38 ` Wolfgang Grandegger
2013-11-05 21:59 ` Sergei Shtylyov
2013-11-05 22:59 ` Sergei Shtylyov
2013-11-06 8:08 ` Wolfgang Grandegger
2013-11-06 8:08 ` Wolfgang Grandegger
2013-11-06 8:08 ` Wolfgang Grandegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5276A63E.3070505@grandegger.com \
--to=wg@grandegger.com \
--cc=linux-can@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=vksavl@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.