Path: csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod From: Sudip Mukherjee Newsgroups: linux.kernel Subject: Re: [PATCH 1/3] avr32: fix build failure Date: Thu, 24 Sep 2015 12:30:01 +0200 Message-ID: References: X-Original-To: Hans-Christian Egtvedt Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=tfxvDUb7wbAkztv+4j14ITLJ/AmW7LAMtukAEaLJ6Nc=; b=D0lMfOjrvAptv7TWY6b05TasfSm6OaccdEPFICgfi2qCBXUhAqfORnXYZeGkiFIqiK rcytPxZunv+ey9ZNWcJMIipRjaf605Da1BVTac0ohZbQUY83DKDquTupv+S3HkeEWtCq KGCepxGznfI+hNF/5CITGC+CiSZpmEkIGPusqB6DXt90ckN3Dq3LeyJd1G7deFPAz3s7 wANoujUYICoLRc7WgvbZqMpGwg3uedXEGsTGxplvHKW2htE1Za+58B8dK50jTPUr9jqN Nt8g8qEbQfimm70yJrv3cvdxW3VYeir/Ufca0eGt1Eg743gmg9NPLSm3cZp56ABIsadp CXBw== X-Received: by 10.69.17.1 with SMTP id ga1mr43221533pbd.163.1443090218105; Thu, 24 Sep 2015 03:23:38 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 72 Organization: linux.* mail to news gateway X-Original-Cc: Haavard Skinnemoen , Felipe Balbi , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Andrew Morton X-Original-Date: Thu, 24 Sep 2015 15:53:23 +0530 X-Original-Message-ID: <20150924102323.GA11025@sudip-pc> X-Original-References: <1442682779-20077-1-git-send-email-sudipm.mukherjee@gmail.com> <1442682779-20077-2-git-send-email-sudipm.mukherjee@gmail.com> <20150921060942.GA17632@samfundet.no> <20150921063901.GA29279@sudip-pc> <20150921073300.GA9368@samfundet.no> <20150921080129.GA13176@sudip-pc> <20150923155601.GC13153@sudip-pc> <20150923171516.GA15625@samfundet.no> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1232034 On Wed, Sep 23, 2015 at 07:15:16PM +0200, Hans-Christian Egtvedt wrote: > Around Wed 23 Sep 2015 21:26:01 +0530 or thereabout, Sudip Mukherjee wrote: > > On Mon, Sep 21, 2015 at 01:31:44PM +0530, Sudip Mukherjee wrote: > >> On Mon, Sep 21, 2015 at 09:33:00AM +0200, Hans-Christian Egtvedt wrote: > >> > Around Mon 21 Sep 2015 12:09:01 +0530 or thereabout, Sudip Mukherjee wrote: > >> > > On Mon, Sep 21, 2015 at 08:09:42AM +0200, Hans-Christian Egtvedt wrote: > >> > >> Around Sat 19 Sep 2015 22:42:57 +0530 or thereabout, Sudip Mukherjee wrote: > >> > >> > While building avr32 with allmodconfig, the build used to fail with the > >> > >> > message: > >> > >> > error: implicit declaration of function 'pci_iomap' > >> > >> > error: implicit declaration of function 'pci_iounmap' > >> > >> > >> > >> What has changed recently that start pulling in these? AVR32 does not have > >> > >> PCI at all, and will never have it either. Is this exposing a bug somewhere > >> > >> else? > >> > > It looks like pci_iomap and pci_iounmap doesnot depend on CONFIG_PCI. > >> > > So drivers/net/ethernet/via/via-rhine.c is calling these functions even > >> > > if PCI is disabled. The build log is at: > >> > > https://travis-ci.org/sudipm-mukherjee/parport/jobs/81127188 > >> > > > >> > > You can find a similar discussion at: > >> > > http://www.linux-mips.org/archives/linux-mips/2013-06/msg00510.html > >> > > >> > If multiple architectures have similar problems, then a more global > >> > definition of these unused functions could be added. > >> > > >> > Just move the implementation for MIPS into include/asm-generic/io.h ? > >> > > >> > That way we do not have to implement and identical stub for every device not > >> > supporting PCI. > >> > >> include/asm-generic/io.h is having: > >> #ifndef CONFIG_GENERIC_IOMAP > >> struct pci_dev; > >> extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned > >> long max); > >> > >> #ifndef pci_iounmap > >> #define pci_iounmap pci_iounmap > >> static inline void pci_iounmap(struct pci_dev *dev, void __iomem *p) > >> { > >> } > >> #endif > >> #endif /* CONFIG_GENERIC_IOMAP */ > >> > >> and CONFIG_GENERIC_IOMAP is not defined when I do allmodconfig with > >> avr32. I have not seen this earlier, maybe in my patch pci_iounmap() was > >> not required. But pci_iomap is declared as extern so we need have it > >> somewhere. > > Hi Hans, > > Please suggest. > > I can ack the original change, but it will only lead to a cluttered code > base. The real problem is somewhere else, where it looks like the > CONFIG_GENERIC_IOMAP symbol assumes PCI is for everybody. I would like if > somebody addressed that problem instead. I was having a look and it looks like generic empty pci_iomap and pci_iounmap are already defined and is used only if CONFIG_PCI is not defined and CONFIG_GENERIC_PCI_IOMAP is defined. So instead of adding empty functions to each architecture where PCI is not supported maybe the driver can have a dependency on CONFIG_GENERIC_PCI_IOMAP. I have submitted the patch and you are in CC list. arch/sh had a similar problem with the same driver. regards sudip -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/