linux-mips
[Top] [All Lists]

Re: [PATCH] MIPS: bcm63xx: cpu: Replace BUG() with panic()

To: Markos Chandras <markos.chandras@imgtec.com>
Subject: Re: [PATCH] MIPS: bcm63xx: cpu: Replace BUG() with panic()
From: Jonas Gorski <jogo@openwrt.org>
Date: Sat, 21 Dec 2013 20:08:03 +0100
Cc: MIPS Mailing List <linux-mips@linux-mips.org>
In-reply-to: <1380530280-6467-1-git-send-email-markos.chandras@imgtec.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1380530280-6467-1-git-send-email-markos.chandras@imgtec.com>
Sender: linux-mips-bounce@linux-mips.org
Hi,

On Mon, Sep 30, 2013 at 10:38 AM, Markos Chandras
<markos.chandras@imgtec.com> wrote:
> BUG() can be a noop if CONFIG_BUG is not selected,
> leading to the following build problem on a randconfig:
>
> arch/mips/bcm63xx/cpu.c: In function 'detect_cpu_clock':
> arch/mips/bcm63xx/cpu.c:254:1: error: control reaches end of
> non-void function [-Werror=return-type]
>
> We fix this problem by replacing BUG() with panic() since it's
> best to handle the case of an unknown board instead of silently
> returning a random clock frequency.
>
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> Acked-by: Steven J. Hill <Steven.Hill@imgtec.com>

The patch seems mostly okay, although there tend to be quite a few
places treating BUG() as unreachable() - for my part BUG() not being
unreachable for BUG=n is a bug, but that's a different story ;) One
nitpick though ...

> ---
> This patch is for the upstream-sfr/mips-for-linux-next tree
> ---
>  arch/mips/bcm63xx/cpu.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/bcm63xx/cpu.c b/arch/mips/bcm63xx/cpu.c
> index b713cd6..88c57cc 100644
> --- a/arch/mips/bcm63xx/cpu.c
> +++ b/arch/mips/bcm63xx/cpu.c
> @@ -123,7 +123,9 @@ unsigned int bcm63xx_get_memory_size(void)
>
>  static unsigned int detect_cpu_clock(void)
>  {
> -       switch (bcm63xx_get_cpu_id()) {
> +       u16 cpu_id = bcm63xx_get_cpu_id();
> +
> +       switch (cpu_id) {
>         case BCM3368_CPU_ID:
>                 return 300000000;
>
> @@ -249,7 +251,7 @@ static unsigned int detect_cpu_clock(void)
>         }
>
>         default:
> -               BUG();
> +               panic("Failed to detect clock for CPU with id=%04d\n", 
> cpu_id);

The cpu_id is in hex, so it needs to be %04x - not that it matters
much since early printk won't work yet at this stage anyway IIRC.

with this fixed (maybe John is nice enough to replace the one character ;),

Acked-by: Jonas Gorski <jogo@openwrt.org>

<Prev in Thread] Current Thread [Next in Thread>