Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751548AbdFFWIY (ORCPT ); Tue, 6 Jun 2017 18:08:24 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:60376 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751475AbdFFWIW (ORCPT ); Tue, 6 Jun 2017 18:08:22 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 2A94B60798 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=sboyd@codeaurora.org Date: Tue, 6 Jun 2017 15:08:19 -0700 From: Stephen Boyd To: Arnd Bergmann Cc: Maxime Ripard , kbuild test robot , kbuild-all@01.org, Chen-Yu Tsai , Linux Kernel Mailing List , linux-clk@vger.kernel.org, Michael Turquette , Linux ARM , linux-kbuild@vger.kernel.org Subject: Re: [PATCH] clk: sunxi-ng: Move all clock types to a library Message-ID: <20170606220819.GK20170@codeaurora.org> References: <20170602223006.1653-1-sboyd@codeaurora.org> <201706031243.qNvuUbQX%fengguang.wu@intel.com> <20170605144546.b6oh5sygrza22hbe@flea.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3476 Lines: 76 On 06/06, Arnd Bergmann wrote: > On Mon, Jun 5, 2017 at 4:45 PM, Maxime Ripard > wrote: > > Hi, > > > > On Sat, Jun 03, 2017 at 12:22:32PM +0800, kbuild test robot wrote: > >> Hi Stephen, > >> > >> [auto build test ERROR on sunxi/sunxi/for-next] > >> [also build test ERROR on next-20170602] > >> [cannot apply to clk/clk-next v4.12-rc3] > >> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > >> > >> sunxi_sid.c:(.data+0x1da8c): undefined reference to `ccu_gate_ops' > >> sunxi_sid.c:(.data+0x1dac8): undefined reference to `ccu_gate_ops' > >> sunxi_sid.c:(.data+0x1db20): undefined reference to `ccu_mux_ops' > >> sunxi_sid.c:(.data+0x1db74): undefined reference to `ccu_mux_ops' > >> sunxi_sid.c:(.data+0x1dbec): undefined reference to `ccu_mp_ops' > >> sunxi_sid.c:(.data+0x1dc64): undefined reference to `ccu_mp_ops' > > > > It seems like even though the lib.a file is compiled properly, it is > > never linked in. It looks like we would be supposed to add > > drivers/clk/sunxi-ng/ to libs-y, but that doesn't seem to work for > > Makefiles in drivers/* > > Ah, too bad. I see that only one directory under drivers/ uses something > with lib.a, in drivers/firmware/efi/libstub/Makefile, but that seems to > rely on being special-cased as well. > > However, this patch seems to fix it: > > diff --git a/drivers/clk/sunxi-ng/Makefile b/drivers/clk/sunxi-ng/Makefile > index cbc8cb4f70e3..321d3da7cc6a 100644 > --- a/drivers/clk/sunxi-ng/Makefile > +++ b/drivers/clk/sunxi-ng/Makefile > @@ -18,16 +18,16 @@ lib-$(CONFIG_SUNXI_CCU) += ccu_nm.o > lib-$(CONFIG_SUNXI_CCU) += ccu_mp.o > > # SoC support > -obj-$(CONFIG_SUN50I_A64_CCU) += ccu-sun50i-a64.o > -obj-$(CONFIG_SUN5I_CCU) += ccu-sun5i.o > -obj-$(CONFIG_SUN6I_A31_CCU) += ccu-sun6i-a31.o > -obj-$(CONFIG_SUN8I_A23_CCU) += ccu-sun8i-a23.o > -obj-$(CONFIG_SUN8I_A33_CCU) += ccu-sun8i-a33.o > -obj-$(CONFIG_SUN8I_A83T_CCU) += ccu-sun8i-a83t.o > -obj-$(CONFIG_SUN8I_H3_CCU) += ccu-sun8i-h3.o > -obj-$(CONFIG_SUN8I_V3S_CCU) += ccu-sun8i-v3s.o > -obj-$(CONFIG_SUN8I_DE2_CCU) += ccu-sun8i-de2.o > -obj-$(CONFIG_SUN8I_R_CCU) += ccu-sun8i-r.o > -obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80.o > -obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-de.o > -obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-usb.o > +obj-$(CONFIG_SUN50I_A64_CCU) += ccu-sun50i-a64.o lib.a > +obj-$(CONFIG_SUN5I_CCU) += ccu-sun5i.o lib.a > +obj-$(CONFIG_SUN6I_A31_CCU) += ccu-sun6i-a31.o lib.a > +obj-$(CONFIG_SUN8I_A23_CCU) += ccu-sun8i-a23.o lib.a > +obj-$(CONFIG_SUN8I_A33_CCU) += ccu-sun8i-a33.o lib.a > +obj-$(CONFIG_SUN8I_A83T_CCU) += ccu-sun8i-a83t.o lib.a > +obj-$(CONFIG_SUN8I_H3_CCU) += ccu-sun8i-h3.o lib.a > +obj-$(CONFIG_SUN8I_V3S_CCU) += ccu-sun8i-v3s.o lib.a > +obj-$(CONFIG_SUN8I_DE2_CCU) += ccu-sun8i-de2.o lib.a > +obj-$(CONFIG_SUN8I_R_CCU) += ccu-sun8i-r.o lib.a > +obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80.o lib.a > +obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-de.o lib.a > +obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-usb.o lib.a > > It's not documented behavior, but I think it's still good enough, > and improves the current version, unless there is another bug > after we add this to your patch. We should add a comment above this so we know what the lib.a is all about. As you say, it's not documented. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project