Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1511169 > unrolled thread

[PATCH] m68k: Fix ndelay() macro

Started byBoris Brezillon <boris.brezillon@free-electrons.com>
First post2016-10-28 17:20 +0200
Last post2016-10-28 23:20 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] m68k: Fix ndelay() macro Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-10-28 17:20 +0200
    Re: [PATCH] m68k: Fix ndelay() macro Geert Uytterhoeven <geert@linux-m68k.org> - 2016-10-28 18:10 +0200
    Re: [PATCH] m68k: Fix ndelay() macro Geert Uytterhoeven <geert@linux-m68k.org> - 2016-10-28 23:10 +0200
    Re: [PATCH] m68k: Fix ndelay() macro Philippe De Muyter <phdm@macq.eu> - 2016-10-28 23:20 +0200

#1511169 — [PATCH] m68k: Fix ndelay() macro

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2016-10-28 17:20 +0200
Subject[PATCH] m68k: Fix ndelay() macro
Message-ID<sxh6O-1yj-5@gated-at.bofh.it>
The current ndelay() macro definition has an extra semi-colon at the
end of the line thus leading to a compilation error when ndelay is used
in a conditional block with curly braces like this one:

	if (cond)
		ndelay(t);
	else
		...

which, after the preprocessor pass gives:

	if (cond)
		m68k_ndelay(t);;
	else
		...

thus leading to the following gcc error:

	error: 'else' without a previous 'if'

Remove this extra semi-colon.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Fixes: c8ee038bd1488 ("m68k: Implement ndelay() based on the existing udelay() logic")
---
 arch/m68k/include/asm/delay.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/include/asm/delay.h b/arch/m68k/include/asm/delay.h
index d28fa8fe26fe..c598d847d56b 100644
--- a/arch/m68k/include/asm/delay.h
+++ b/arch/m68k/include/asm/delay.h
@@ -114,6 +114,6 @@ static inline void __udelay(unsigned long usecs)
  */
 #define	HZSCALE		(268435456 / (1000000 / HZ))
 
-#define ndelay(n) __delay(DIV_ROUND_UP((n) * ((((HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6), 1000));
+#define ndelay(n) __delay(DIV_ROUND_UP((n) * ((((HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6), 1000))
 
 #endif /* defined(_M68K_DELAY_H) */
-- 
2.7.4

[toc] | [next] | [standalone]


#1511204

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-10-28 18:10 +0200
Message-ID<sxhTb-25n-3@gated-at.bofh.it>
In reply to#1511169
Hi Boris,

On Fri, Oct 28, 2016 at 5:12 PM, Boris Brezillon
<boris.brezillon@free-electrons.com> wrote:
> The current ndelay() macro definition has an extra semi-colon at the
> end of the line thus leading to a compilation error when ndelay is used
> in a conditional block with curly braces like this one:
>
>         if (cond)
>                 ndelay(t);
>         else
>                 ...
>
> which, after the preprocessor pass gives:
>
>         if (cond)
>                 m68k_ndelay(t);;
>         else
>                 ...
>
> thus leading to the following gcc error:
>
>         error: 'else' without a previous 'if'
>
> Remove this extra semi-colon.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>

Thank you, will apply and queue for v4.9.

> Fixes: c8ee038bd1488 ("m68k: Implement ndelay() based on the existing udelay() logic")

Wow, that's even a quite recent commit. Needs backporting only to v3.10+...

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1511415

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-10-28 23:10 +0200
Message-ID<sxmzv-59w-3@gated-at.bofh.it>
In reply to#1511169
Hi Philippe,

On Fri, Oct 28, 2016 at 11:03 PM, Philippe De Muyter <phdm@macq.eu> wrote:
> On Fri, Oct 28, 2016 at 05:12:28PM +0200, Boris Brezillon wrote:
>> The current ndelay() macro definition has an extra semi-colon at the
>> end of the line thus leading to a compilation error when ndelay is used
>> in a conditional block with curly braces like this one:
>
> without curly braces

Thanks, I'm fixing that up.

Boris: No need to resend.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1511422

FromPhilippe De Muyter <phdm@macq.eu>
Date2016-10-28 23:20 +0200
Message-ID<sxmzv-59w-5@gated-at.bofh.it>
In reply to#1511169
On Fri, Oct 28, 2016 at 05:12:28PM +0200, Boris Brezillon wrote:
> The current ndelay() macro definition has an extra semi-colon at the
> end of the line thus leading to a compilation error when ndelay is used
> in a conditional block with curly braces like this one:

without curly braces

> 
> 	if (cond)
> 		ndelay(t);
> 	else
> 		...
> 

Philippe

-- 
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web