From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752553AbbKWNxU (ORCPT ); Mon, 23 Nov 2015 08:53:20 -0500 Received: from mout.kundenserver.de ([212.227.126.134]:62967 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751205AbbKWNxS (ORCPT ); Mon, 23 Nov 2015 08:53:18 -0500 From: Arnd Bergmann To: Felipe Balbi Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH] usb: phy: allow modular build of DT helper Date: Mon, 23 Nov 2015 14:52:50 +0100 Message-ID: <5036893.cOhfcTcQFz@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:beX3A8uuDuvwe1SwZGmLhq4didnYr7/ITtSeZEyzofwO9CTPX5V I5Pe5gz93X4n+rBc7iPonxVvDbS3iBkUErGuz/R9ZtbKUkicpdfeh04dCvk1l7i1GKqzr9H OTCrVkFZuIqs2jWLb66JqKCWtelvlDBzdVZSJueInpoEFwd5CMZUgy1xBSDhNCLDbEYpf1j +1pKIzevxcVkumPTJkuVg== X-UI-Out-Filterresults: notjunk:1;V01:K0:PY3FgIjwcSs=:ay6UM/VBxaRapzqYcFtRmZ 6H0t23uB2jRLtdODAa/Lfank0FHHrOCnzO583mhK9nUTjlyEcD5E1JcKiWBpXnNF1A/3X+cRf X1B/NMd8p0zNqI0Oi3flamTXpuuxGsEATFhYM7cv3VKk6+HZFAcVixcvtJ8mU6/k/3WhEcCyZ t0CeUhRIGMzzG+xiewROa8vch3iJ9A+uGGX851cQ5c1JfvKoSMnUC/d2egLbHtfePFafqnRIg 96e5bmIcdLuBiwbdVT1GI/cYpgfclHPLTxQ2W1/R3/yyO1uyI0+Te5rBq3JXOfAnFEfXFly5N i4R3ucDGUiWQLihSlNwGjpMFWHAlAGF3iV0E7YsUc5ncGtz/8v6JpZz0SfO3onsOlRR48OhOA AKTF6pwodQXOJnxKjpihnsDtrtdKZFXZ0ahMUAS2bp7FPd10RzPr2aXAnUjqc+Es410S5w5mr wAt3oaGMKtY9t1jyTf+eFkpBxmpCa0U2iBQVmICmYs3l4dcI43Fc2HcUibgPvXrgR1Oh+/x1A v5zlqYNS46kpx2eVbYkueuBnD7wIzsI0k41q0XbMkHWS3ugR4xbw9xs7qjkEa6U5PWneFze7U NI74Z2gBFLemTxADiFElN8uQQvEK1uBInJLqxYNa6ZtKT2l4OjsY6WRnLSvE3kq/0k0raccdi UolxvlUl7SOu0BKoKWs+c6ssZV04J4TeQqLZTi9hDefAoWBHO5b/VwG/iUCkOVD0Zya429wJr X8ACGWaEqVCS6qeT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This one is a curious Kbuild glitch: The drivers/usb/phy/of.o file is currently always built-in if CONFIG_OF is set, independent of whether USB is modular or not. For the case of CONFIG_USB=m && CONFIG_USB_GADGET=m && CONFIG_USB_PHY=n, however the file is not built at all, because drivers/Makefile only looks in drivers/usb/ for modules and not for built-in code. This results in a link error with in the chipidea module: ERROR: of_usb_get_phy_mode [drivers/usb/chipidea/ci_hdrc.ko] undefined! To work around this behavior, this changes the usb-phy Makefile to create a module named usb-phy-of.ko for this one file whenever both CONFIG_USB and CONFIG_USB_GADGET are set to 'm'. This seems to be the correct behavior as it also avoids unnecessary built-in code when everything else related to USB is a module, and it nicely avoids the link error. Signed-off-by: Arnd Bergmann diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile index 19c0dccbb116..4367fbc1870b 100644 --- a/drivers/usb/phy/Makefile +++ b/drivers/usb/phy/Makefile @@ -2,7 +2,11 @@ # Makefile for physical layer USB drivers # obj-$(CONFIG_USB_PHY) += phy.o -obj-$(CONFIG_OF) += of.o + +ifdef CONFIG_OF +usb-phy-of-objs := of.o +obj-$(CONFIG_USB_COMMON) += usb-phy-of.o +endif # transceiver drivers, keep the list sorted