From: Paul Mundt <lethal@linux-sh.org>
To: linux-sh@vger.kernel.org
Subject: Re: SH7760: early_printk build broken
Date: Tue, 29 Jul 2008 15:46:04 +0000 [thread overview]
Message-ID: <20080729154604.GB3935@linux-sh.org> (raw)
In-Reply-To: <20080729142743.GA7017@roarinelk.homelinux.net>
On Wed, Jul 30, 2008 at 12:45:39AM +0900, Paul Mundt wrote:
> On Wed, Jul 30, 2008 at 12:23:10AM +0900, Paul Mundt wrote:
> > On Tue, Jul 29, 2008 at 04:27:43PM +0200, Manuel Lauss wrote:
> > > Hello Iwamatsu-san,
> > >
> > > Commit c63847a3621d2bac054f5709783860ecabd0ee7e ("sh: Add SCIF2 support for SH7763.")
> > > broke build with CONFIG_EARLY_PRINTK enabled for me (SH7760):
> > >
> > > CC arch/sh/kernel/early_printk.o
> > > /mnt/work/sh7760/kernel/linux-2.6.git/arch/sh/kernel/early_printk.c: In function 'scif_sercon_putc':
> > > /mnt/work/sh7760/kernel/linux-2.6.git/arch/sh/kernel/early_printk.c:84: error: implicit declaration of function 'sci_SCFDR_in'
> > >
> > > I don't know immediately how to fix it though, could you please take a look?
> > >
> > I see what happened. Proof that this file is such a ridiculous
> > clusterfuck it's hard to know where to even begin.
> >
> Here's a slightly more coherent version. It's really not worth trying to
> shoe-horn 7763 in with 7760/7780/7785. If it has any differences, it's
> always best to separate it out completely, or we are very quickly reduced
> to impossible to follow ifdef hell.
>
> With the generic kgdbts stuff in now and the sh-bios users falling by the
> way side, sh-sci is long overdue for a total rewrite anyways. It's only
> been 6+ years since the last time I rewrote it anyways, when I had
> planned to get rid of sh-sci.h also.
>
> The biggest mess comes from having it split between sh64/sh/h8300 (and
> probably RX in the not so distant future), and most of this sharing
> happened pre driver-model. Unfortunately these subtle variations across
> the blocks make supporting it a total pain. Now that we have totally
> different port types on newer parts it's necessary to rework a bit
> anyways (presently we shove SCIFA parts from SH-MobileR2 in as SCI
> ports), and the DMA auto requests start to matter on SMP parts (which of
> course has nothing in common with the previous SMP extensions that SH-2
> implemented back in the day to get around the fact that bus accesses were
> mutually exclusive..). ;-)
---
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h
index cd728df..8a0749e 100644
--- a/drivers/serial/sh-sci.h
+++ b/drivers/serial/sh-sci.h
@@ -451,19 +451,21 @@ SCIx_FNS(SCxSR, 0x08, 8, 0x10, 8, 0x08, 16, 0x10, 16, 0x04, 8)
SCIx_FNS(SCxRDR, 0x0a, 8, 0x14, 8, 0x0A, 8, 0x14, 8, 0x05, 8)
SCIF_FNS(SCFCR, 0x0c, 8, 0x18, 16)
#if defined(CONFIG_CPU_SUBTYPE_SH7760) || \
- defined(CONFIG_CPU_SUBTYPE_SH7763) || \
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
defined(CONFIG_CPU_SUBTYPE_SH7785)
+SCIF_FNS(SCFDR, 0x0e, 16, 0x1C, 16)
SCIF_FNS(SCTFDR, 0x0e, 16, 0x1C, 16)
SCIF_FNS(SCRFDR, 0x0e, 16, 0x20, 16)
SCIF_FNS(SCSPTR, 0, 0, 0x24, 16)
SCIF_FNS(SCLSR, 0, 0, 0x28, 16)
-#if defined(CONFIG_CPU_SUBTYPE_SH7763)
-/* SH7763 SCIF2 */
+#elif defined(CONFIG_CPU_SUBTYPE_SH7763)
SCIF_FNS(SCFDR, 0, 0, 0x1C, 16)
SCIF_FNS(SCSPTR2, 0, 0, 0x20, 16)
-SCIF_FNS(SCLSR2, 0, 0, 0x24, 16)
-#endif /* CONFIG_CPU_SUBTYPE_SH7763 */
+SCIF_FNS(SCLSR2, 0, 0, 0x24, 16)
+SCIF_FNS(SCTFDR, 0x0e, 16, 0x1C, 16)
+SCIF_FNS(SCRFDR, 0x0e, 16, 0x20, 16)
+SCIF_FNS(SCSPTR, 0, 0, 0x24, 16)
+SCIF_FNS(SCLSR, 0, 0, 0x28, 16)
#else
SCIF_FNS(SCFDR, 0x0e, 16, 0x1C, 16)
#if defined(CONFIG_CPU_SUBTYPE_SH7722)
next prev parent reply other threads:[~2008-07-29 15:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-29 14:27 SH7760: early_printk build broken Manuel Lauss
2008-07-29 15:23 ` Paul Mundt
2008-07-29 15:45 ` Paul Mundt
2008-07-29 15:46 ` Paul Mundt [this message]
2008-07-29 16:24 ` Manuel Lauss
2008-07-30 2:44 ` Nobuhiro Iwamatsu
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=20080729154604.GB3935@linux-sh.org \
--to=lethal@linux-sh.org \
--cc=linux-sh@vger.kernel.org \
/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.