All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Aurelien Jarno <aurelien@aurel32.net>
Cc: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>,
	mb@bu3sch.de, linux-mips@linux-mips.org, nbd@openwrt.org,
	jolt@tuxbox.org
Subject: Re: [PATCH -mm 2/4] MIPS: BCM947xx support (v3)
Date: Tue, 7 Aug 2007 18:33:02 -0700	[thread overview]
Message-ID: <20070807183302.1e38a4df.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070807121638.GA9953@hall.aurel32.net>

On Tue, 7 Aug 2007 14:16:38 +0200
Aurelien Jarno <aurelien@aurel32.net> wrote:

> The patch below against 2.6.23-rc1-mm2 adds support for BCM947xx CPUs.
> It originally comes from the OpenWrt patches.
> 
> Cc: Michael Buesch <mb@bu3sch.de>
> Cc: Felix Fietkau <nbd@openwrt.org>
> Cc: Florian Schirmer <jolt@tuxbox.org>
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> 
> --- a/arch/mips/bcm947xx/irq.c
> +++ b/arch/mips/bcm947xx/irq.c

It's a MIPS patch.  I can merge it, I guess, if Ralf is OK with that.

> ...
>
> +void __init plat_mem_setup(void)
> +{
> +	int i, err;
> +	struct ssb_mipscore *mcore;
> +
> +	err = ssb_bus_ssbbus_register(&ssb_bcm947xx, SSB_ENUM_BASE, bcm947xx_get_invariants);
> +	if (err)
> +		panic("Failed to initialize SSB bus (err %d)\n", err);
> +	mcore = &ssb_bcm947xx.mipscore;
> +
> +#ifdef CONFIG_SERIAL_8250
> +	for (i = 0; i < mcore->nr_serial_ports; i++) {
> +		struct ssb_serial_port *port = &(mcore->serial_ports[i]);
> +		struct uart_port s;
> +	
> +		memset(&s, 0, sizeof(s));
> +		s.line = i;
> +		s.membase = port->regs;
> +		s.irq = port->irq + 2;
> +		s.uartclk = port->baud_base;
> +		s.flags = UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ;
> +		s.iotype = SERIAL_IO_MEM;
> +		s.regshift = port->reg_shift;
> +
> +		early_serial_setup(&s);
> +	}
> +#endif
> +
> +	_machine_restart = bcm947xx_machine_restart;
> +	_machine_halt = bcm947xx_machine_halt;
> +	pm_power_off = bcm947xx_machine_halt;
> +	board_time_init = bcm947xx_time_init;
> +}

Won't this break if CONFIG_SERIAL_8250=m?

> +EXPORT_SYMBOL(ssb_bcm947xx);
> --- a/arch/mips/bcm947xx/time.c
> +++ b/arch/mips/bcm947xx/time.c
> @@ -0,0 +1,62 @@
> +/*
> + *  Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org>
> + *
> + *  This program is free software; you can redistribute  it and/or modify it
> + *  under  the terms of  the GNU General  Public License as published by the
> + *  Free Software Foundation;  either version 2 of the  License, or (at your
> + *  option) any later version.
> + *
> + *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
> + *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
> + *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
> + *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
> + *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> + *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
> + *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
> + *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
> + *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
> + *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + *
> + *  You should have received a copy of the  GNU General Public License along
> + *  with this program; if not, write  to the Free Software Foundation, Inc.,
> + *  675 Mass Ave, Cambridge, MA 02139, USA.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/kernel.h>
> +#include <linux/sched.h>
> +#include <linux/serial_reg.h>
> +#include <linux/interrupt.h>
> +#include <linux/ssb/ssb.h>
> +#include <asm/addrspace.h>
> +#include <asm/io.h>
> +#include <asm/time.h>
> +
> +extern struct ssb_bus ssb_bcm947xx;

No.  Please, never ever put extern declarations in C files.  Find a
suitable header file for it.

We have scripts/checkpatch.pl which will tell you this (and a lot of other
stuff too).  Please incorporate checkpatch into your workflow.

> +void __init
> +bcm947xx_time_init(void)
> +{
> +	unsigned long hz;
> +
> +	/*
> +	 * Use deterministic values for initial counter interrupt
> +	 * so that calibrate delay avoids encountering a counter wrap.
> +	 */
> +	write_c0_count(0);
> +	write_c0_compare(0xffff);
> +
> +	hz = ssb_cpu_clock(&ssb_bcm947xx.mipscore) / 2;
> +	if (!hz)
> +		hz = 100000000;
> +
> +	/* Set MIPS counter frequency for fixed_rate_gettimeoffset() */
> +	mips_hpt_frequency = hz;
> +}
> +
> +void __init
> +plat_timer_setup(struct irqaction *irq)
> +{
> +	/* Enable the timer interrupt */
> +	setup_irq(7, irq);
> +}

  reply	other threads:[~2007-08-08  1:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-06 15:09 [PATCH -mm 2/4] MIPS: BCM947xx support Aurelien Jarno
2007-08-06 18:05 ` Michael Buesch
2007-08-06 18:33   ` Aurelien Jarno
2007-08-06 18:37     ` Michael Buesch
2007-08-06 19:17       ` [PATCH -mm 2/4] MIPS: BCM947xx support (v2) Aurelien Jarno
2007-08-06 19:22         ` Michael Buesch
2007-08-06 20:31         ` Florian Schirmer
2007-08-07  8:05           ` Aurelien Jarno
2007-08-07  0:40         ` Yoichi Yuasa
2007-08-07  8:01           ` Aurelien Jarno
2007-08-07  8:02           ` Aurelien Jarno
2007-08-07  8:04           ` Aurelien Jarno
2007-08-07 12:16           ` [PATCH -mm 2/4] MIPS: BCM947xx support (v3) Aurelien Jarno
2007-08-08  1:33             ` Andrew Morton [this message]
2007-08-09  0:41               ` [PATCH 0/4][RFC] MIPS BCM947xx CPUs support Aurelien Jarno
2007-08-09  0:43                 ` [PATCH 1/4][RFC] MIPS: Detect BCM947xx CPUs Aurelien Jarno
2007-08-09  0:44                 ` [PATCH 2/4][RFC] MIPS: BCM947xx support Aurelien Jarno
2007-08-09 10:00                   ` Michael Buesch
2007-08-09 10:38                     ` Aurelien Jarno
2007-08-09 10:51                       ` Michael Buesch
2007-08-09 11:26                         ` Aurelien Jarno
2007-08-09 12:12                           ` Michael Buesch
2007-08-09  0:45                 ` [PATCH 3/4] RFC: Add BCM947XX to Kconfig Aurelien Jarno
2007-08-09 20:40                   ` Andrew Morton
2007-08-09  0:45                 ` [PATCH 4/4][RFC] MIPS: Add BCM947xx to Makefile Aurelien Jarno

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=20070807183302.1e38a4df.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=aurelien@aurel32.net \
    --cc=jolt@tuxbox.org \
    --cc=linux-mips@linux-mips.org \
    --cc=mb@bu3sch.de \
    --cc=nbd@openwrt.org \
    --cc=yoichi_yuasa@tripeaks.co.jp \
    /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.