Re: [PATCH 03/10] fpga: allow to compile-test Altera FPGA bridge drivers

From: Alan Tull
Date: Fri Jun 09 2017 - 23:55:57 EST


On Fri, Jun 9, 2017 at 8:44 AM, Tobias Klauser <tklauser@xxxxxxxxxx> wrote:
> On 2017-06-09 at 11:49:02 +0200, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> On Mon, Jun 05, 2017 at 02:07:34PM -0500, Alan Tull wrote:
>> > From: Tobias Klauser <tklauser@xxxxxxxxxx>
>> >
>> > Add COMPILE_TEST to the Kconfig entry for the Altera SoCFPGA FPGA
>> > Bridge. The Altera FPGA Freeze Bridge can also be used on Altera PEIe
>> > FPGAs, so the driver shouldn't depend on ARCH_SOCFPGA in the first place.
>> > This allows test-compiling the drivers on other architectures to catch
>> > compiler errors/warnings, e.g. due to API/header changes earlier on.
>> >
>> > Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx>
>> > Signed-off-by: Alan Tull <atull@xxxxxxxxxx>
>> > ---
>> > drivers/fpga/Kconfig | 4 ++--
>> > 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> I'll drop this patch from the series, as kbuild reports errors with it
>> :(
>
> These are warnings from the m32r cross compiler, not errors. They are
> due to the way readl() is defined on m32r (returning unsigned long
> instead of u32, as all other architectures do, see [1]). On all other
> architectures the patch doesn't cause any issues. There are also other
> cases which are already in mainline where this issue appers, so I'd say
> this patch rather uncovers the symptom of a problem rather than causing
> it ;)
>
> [1] https://marc.info/?l=linux-kernel&m=149252925326414

Yes the issue is the way m32r defines readl(). Tobias has pointed out
[2] other kernel patches cause the same warning. There is a trivial
suggested workaround in [1] above (declare a local u32 to take the
readl() value). Doing that would be effort to mask a known issue that
lies in the m32r code though.

Alan

[2] https://marc.info/?l=linux-kernel&m=149260369012554&w=2