[linux-sh:03330] Re: new board for 2.6.8.1

[email protected] Mon, 4 Oct 2004 14:28:44 +0900
Newsgroups gmane.linux.ports.sh.general,gmane.linux.ports.sh.devel
Message-ID <E72207F23E63B946ABC48F66E52D066D01E88657@exchange1.intranet.interface.co.jp>
Dear Paul-san:

>If you need the pdev, the better solution is to just do all of 
>this as your own
>fixup in arch/sh/drivers/pci/fixups-sh03.c. The way to do this 
>would be to
>implement your own pcibios_fixup_irqs() in the fixups-sh03.c 
>which in turn does
>the proper swizzling and irq routing (which in this case will 
>get you access to
>the pdev for free).
>
>In order for this to work in the SH7751 case though, we need 
>to make the
>existing pcibios_fixup_irqs() in 
>arch/sh/drivers/pci/pci-sh7751.c a weak symbol,
>which can then be overloaded by the fixups-sh03.c definition.
>
>So, please implement your routing in fixups-sh03.c, get rid of 
>your changes
>to pci-sh7751.c entirely, and try something like this:
>
>--- orig/arch/sh/drivers/pci/pci-sh7751.c
>+++ mod/arch/sh/drivers/pci/pci-sh7751.c
>@@ -33,6 +33,8 @@
> static unsigned int pci_probe = PCI_PROBE_CONF1;
> extern int pci_fixup_pcic(void);
> 
>+void pcibios_fixup_irqs(void) __attribute__ ((weak));
>+
> /*
>  * Direct access to PCI hardware...
>  */

I made arch/sh/drivers/pci/fixups-sh03.c by the method of Paul-san.

Please refer to the following URL for the results of these changes. 
<URL:
http://www12.ocn.ne.jp/~ifpublib/sh-linux/ctp-sh03-20041004.patch.bz2>

------
Saito.K