<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 3:28 PM, Geert Uytterhoeven <span dir="ltr"><<a href="mailto:geert@linux-m68k.org" target="_blank">geert@linux-m68k.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Pranith,<br>
<div class=""><br>
On Mon, Aug 18, 2014 at 9:01 PM, Pranith Kumar <<a href="mailto:bobby.prani@gmail.com">bobby.prani@gmail.com</a>> wrote:<br>
> Fix ppc 32 build failure as reported here:<br>
><br>
> <a href="http://kisskb.ellerman.id.au/kisskb/buildresult/11663513/" target="_blank">http://kisskb.ellerman.id.au/kisskb/buildresult/11663513/</a><br>
<br>
</div>| arch/powerpc/include/asm/floppy.h:142:20: error: 'isa_bridge_pcidev'<br>
undeclared (first use in this function)<br>
| make[3]: *** [drivers/block/floppy.o] Error 1<br>
<br>
The definition of isa_bridge_pcidev is only available if CONFIG_PCI=y...<br>
<div class=""><br>
> The error is that pci_32.o was not being built for PPC_32. Fix error by adding<br>
> it in the Makefile. Tested using the ppc cross compiler.<br>
<br>
</div>... so how can adding this make the floppy.h error go away?<br></blockquote><div><br></div><div>So the definition which you are talking about within CONFIG_PCI=y is an extern definition<br><br>arch/powerpc/include/asm/ppc-pci.h:28:extern struct pci_dev *isa_bridge_pcidev;<br>

<br></div><div>If you build pci_32.o unconditionally, there is an<br><br>EXPORT_SYMBOL(isa_bridge_pcidev); <br><br>which supplies the required symbol. <br><br></div><div>But yes, you are right in that we should not unconditionally compile pci_32.o. Making floppy depend on PCI is the right thing to do. However,<br>

</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Note that arch/powerpc/kernel/Makefile does add<br>
pci_$(CONFIG_WORD_SIZE).o, but only if CONFIG_PCI=y.<br>
<br>
So, thanks for your patch, but I don't think your fix is the right solution.<br>
<br>
However, drivers/block/floppy.o is enabled by BLK_DEV_FD, which<br>
depends on ARCH_MAY_HAVE_PC_FDC.<br>
<br>
arch/powerpc/Kconfig has:<br>
<br>
config ARCH_MAY_HAVE_PC_FDC<br>
        bool<br>
        default !PPC_PSERIES || PCI<br>
<br>
PCI is not set, and PPC_PSERIES is also not set, so this<br>
defaults to y, which is obviously not correct, as floppy.h needs PCI.<br>
<br>
As this symbol doesn't enable floppy support in-se, probably it should just<br>
be:<br>
<br>
config ARCH_MAY_HAVE_PC_FDC<br>
        bool<br>
        depends on PCI<br></blockquote><div><br></div><div>the right thing I guess here is to depend on !PPC_PSERIES && PCI since I guess pSeries does not support floppy.h (hence the original condition check?).<br>

</div><div> <br></div><div>Note that there are other unrelated errors which do not let me complete the PPC 32 build with the config there yet. I just verified this symbol error.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<br>
This config line was last touched by<br>
commit bed59275810a55500e885cbdc5c2a0507f13c00e<br>
Author: Stephen Rothwell <<a href="mailto:sfr@canb.auug.org.au">sfr@canb.auug.org.au</a>><br>
Date:   Sun Mar 4 17:04:44 2007 +1100<br>
<br>
    [POWERPC] Allow pSeries to build without CONFIG_PCI<br>
<br>
    Signed-off-by: Stephen Rothwell <<a href="mailto:sfr@canb.auug.org.au">sfr@canb.auug.org.au</a>><br>
    Signed-off-by: Paul Mackerras <<a href="mailto:paulus@samba.org">paulus@samba.org</a>><br></blockquote></div><br clear="all"><br>-- <br>Pranith
</div></div>