From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E81BAC433E0 for ; Wed, 24 Jun 2020 09:20:30 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A674E20707 for ; Wed, 24 Jun 2020 09:20:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="z9Ty2eQD"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="Jnbqvi/2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A674E20707 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=k2cA+DcCRt5ekClKrAgdk36OuE2wFZboIXJU3tSR7DA=; b=z9Ty2eQDNICMIMZFONCJcK3Xm udQ/Q0FVSTaZID5YJtL/svPg1snSt6gAA2cVnSXKG1x1bX45dEe54fO50n9NXdhy8rKA8otr7fuxU WEiYvcLLylMV9vs4nbstinWjp2hLchUfW+TsSV61CTAASkN0Mq9oVxn1GEVOmV6kQXWxYp1mTsrB2 qnInVXFLYKL5U6NFN0xdBkcD5qyqnJUcZcXa+aZ3+n0zp7al9cKfxiDHv1i+gVGUNuhL6Y2yFu5Zn qPNZY+hBoPUe4aInxiYHAimdqZpQ29wZoYPxrMRXs/OZphhF1LZafJXo8w2F6MpMADDcffjS+RAJo SIIW/r4LQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jo1YB-0004ia-Pq; Wed, 24 Jun 2020 09:18:35 +0000 Received: from mail-eopbgr00057.outbound.protection.outlook.com ([40.107.0.57] helo=EUR02-AM5-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jo1Y8-0004i4-Ro for linux-arm-kernel@lists.infradead.org; Wed, 24 Jun 2020 09:18:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jDtwVrl4wDhx9eLpxLW63XijhktHd0NRkxUBptg58ahTfDBbIpzHynQ7WHIO2yfGQquEe/Y+OIuLGBHKXvL2ULXu2FrFi+QqlR03B/Wx9ZDWRpq5aHhZvJm5ttf/ilc4sUdJSuMhgAj1OJ6+NMyN8wGi3c874+fZSnuLFDSuV/eIBqe/rx4QBMiMdT23gn1cFU/DmvMLaputVj9k0XHPWeagwPpLGhyqZe+zkicGhaXdqOSaOKnflb53n66urfgfxtCIJKdymRmblLkY0smTU1NKqWJqoCFyPdXwXvq/b3UAia8JiQciZ5rHHWbHNgi3q9ueypmSQBixyrj39UsSzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PDK6sbG40WFx+q4pAfckp+HL3eEPtBrHC2iM1KZQeJQ=; b=Nd9ckoZzmEu9XzwEz7Gv1SwMudJXflB7cM1QB2/GQyK4tlVh8UsUd8YndqLvgvpbdiWr5G/aKv8PEddHgEzvHfinHq0utnFk4ROkbB21uSizavHKIls0BXJyN0y1RFrKdTueyQbIFZAqQIZVZBjwUVtv53nyKsCeIQyDeJSk39liVuMLUbyuqAPBD9z39UVcyvjAgNGjL9YeRH/3XHex3io+NTkh4VDshmAVK32VQSDK6sBUsQJ03bnQVNcb5MRNvqiSOWOYHyZhBXL20qO8eiw6CGY2wAU++jlWPcqCw6fa0tYivUXzk1DeAg7ytFweAmKdUBBs32br/gks1qJq8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PDK6sbG40WFx+q4pAfckp+HL3eEPtBrHC2iM1KZQeJQ=; b=Jnbqvi/2Z+WiURL24iAgGpf1btuvaIG8VxKic3SWFEG68+4hjgZZCfT9RcIlpeKKR5Ezi7gHjBw/wxpVMD/+kG57wll0g4h389+suPfsaRYUi2AlBTf3BG4+oQ1BkMTyaKvCSzRMwWXkQitA5yX7x0aXKekQtnveioXf5vmBaVs= Received: from AM6PR04MB4966.eurprd04.prod.outlook.com (2603:10a6:20b:2::14) by AM6PR04MB5063.eurprd04.prod.outlook.com (2603:10a6:20b:a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Wed, 24 Jun 2020 09:18:30 +0000 Received: from AM6PR04MB4966.eurprd04.prod.outlook.com ([fe80::3c6c:a0e9:9a4e:c51d]) by AM6PR04MB4966.eurprd04.prod.outlook.com ([fe80::3c6c:a0e9:9a4e:c51d%7]) with mapi id 15.20.3109.027; Wed, 24 Jun 2020 09:18:30 +0000 From: Aisheng Dong To: Arnd Bergmann Subject: RE: [PATCH V2 3/9] clk: imx: Support building SCU clock driver as module Thread-Topic: [PATCH V2 3/9] clk: imx: Support building SCU clock driver as module Thread-Index: AQHWPjGl8KdpudYoFUWSs6/zaZS5vqjcqcVQgAAe9YCAAOIhAIADPk4AgASxvPCAAFrbAIAAAT6wgAERl4CAABTeEIAAXWqAgAAUgdA= Date: Wed, 24 Jun 2020 09:18:29 +0000 Message-ID: References: <1591687933-19495-1-git-send-email-Anson.Huang@nxp.com> <1591687933-19495-4-git-send-email-Anson.Huang@nxp.com> <159262367025.62212.11651547971712516448@swboyd.mtv.corp.google.com> <159290125202.62212.13172213909023205615@swboyd.mtv.corp.google.com> <159296027133.62212.18074403520585879907@swboyd.mtv.corp.google.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arndb.de; dkim=none (message not signed) header.d=none;arndb.de; dmarc=none action=none header.from=nxp.com; x-originating-ip: [119.31.174.67] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: c150f849-47fd-4b9a-aae4-08d8181f8f4a x-ms-traffictypediagnostic: AM6PR04MB5063: x-ld-processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-forefront-prvs: 0444EB1997 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vMHk4h8BvAY+jhLBxNCo1nWXkhLSS5Oq+k5PuRSIYAf6krdeDrq2VWymSjL+/sdJ7MVJEfrZ5QBDRTPZYPJOLXWArvEnrUngxVEs4FxHg1bgo1JQPQmuJFPOUPUTu3vStYc8GUDu1tVa0gl48iU24ZEscxRoGPm7fAXlpxgxPPRkzNfSNdbg9Datq3ozMYzVpDQyWD7UGrZbbtU4ILgbHdxYdzzdHP1IGnXJwnhnWZQSNqO6ecUJcK038y5Pey8DkGXVmReerVfKM4UPDHBvOO8hmjfNKejO8cnv6kcK28TAWAuodfJyeUu05hMb6Iz4ZNjXxWQAoDH/CL/d/5dVbTtbfJGj+kKIAf0NcxuF+p4jq5r484Ao+XE5EjwbPaeL x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4966.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(376002)(39860400002)(396003)(136003)(366004)(478600001)(44832011)(2906002)(7696005)(4326008)(54906003)(7416002)(71200400001)(316002)(86362001)(9686003)(55016002)(6506007)(8936002)(83380400001)(53546011)(76116006)(26005)(66946007)(66476007)(52536014)(186003)(64756008)(66446008)(66556008)(33656002)(8676002)(5660300002)(6916009)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: b36kqd6BwxxjPSvXlnA9njrn9Ax2gDWLpbjn4KBaAnn7aXTgjPXvaPvgTkVNduKlii4AFILSjbWXjJspPdOnmrnJagj/AsT/8mm2RGAgAOaEY0y+L9qMdjxH7SZzacv1WuMNxUwsyhkwXmI4aTTi/r/9w4t+7S0fk8aCJcnoqOnaDa6FA1XSTvq0xZOjkpO6+FT28UVLlduyr/QS/cEhr5MwnZkwucb5ZMmLUcP6CM8TLumPiN/sCk1EIYCYqYw9xYFIqkj4DyJQO5KwL1pw48/XUFEHXinKiQCGbS/n5GaKHq1x9lAbF2TDN1uHyN8pkeyhCIeFjkuO6PZj5ZtxRZy5oadTgjng9aVJ77076my1TAsVH31BgxE9/1W74u0vUQd5jGhtOt5x93jkeLoCCyqgIGlZjLoWs552KdQ536EdoKqouHbAIpA/cM5DPp13LFUwzD9yOYR8KbsSLOEtJJ8DvLMB2xnphXK2519BVt8= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c150f849-47fd-4b9a-aae4-08d8181f8f4a X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2020 09:18:29.8654 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ViZPvoXn88vXWIK7YfLNV8LMi/st1QhvjipW9SK7Hb0P584vpm10KXjvG4iW03qSs/YX9acTBubr7tWfdYm+Aw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5063 X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peng Fan , "mturquette@baylibre.com" , "oleksandr.suvorov@toradex.com" , Leonard Crestez , "festevam@gmail.com" , "linux-clk@vger.kernel.org" , "sfr@canb.auug.org.au" , Abel Vesa , Anson Huang , "yuehaibing@huawei.com" , "linux@armlinux.org.uk" , "allison@lohutok.net" , dl-linux-imx , Stefan Agner , "s.hauer@pengutronix.de" , "tglx@linutronix.de" , Daniel Baluta , "linux-arm-kernel@lists.infradead.org" , Andy Duan , Stephen Boyd , "shawnguo@kernel.org" , "linux-kernel@vger.kernel.org" , "kernel@pengutronix.de" , "gregkh@linuxfoundation.org" , "info@metux.net" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > From: Arnd Bergmann > Sent: Wednesday, June 24, 2020 3:47 PM > > On Wed, Jun 24, 2020 at 4:19 AM Aisheng Dong > wrote: > > > Isn't that what we want? > > > > No, if user set MXC_CLK to m, the build will break for i.MX6&7. > > > > > Why does ARCH_MXC being enabled mandate that it is builtin? Is some > > > architecture level code calling into the clk driver? > > > > > > It's mainly because there's no Kconfig options for i.MX6 &7 clock drivers. > > It just reuses ARCH config CONFIG_SOC_XXX which can only be y. > > e.g. > > obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o > > obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o > > obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o > > obj-$(CONFIG_SOC_VF610) += clk-vf610.o .. > > > > If setting MXC_CLK to m, the platform clock drivers will fail to build > > due to miss to find symbols defined in the common clock library by > CONFIG_MXC_CLK. > > So we have to avoid users to be able to config MXC_CLK to m for i.MX6&7. > > Only depends on ARCH_MXC mean user still can set it to m. > > The link error can be easily avoided by building all the clk support into a single > loadable module like below. > > Hower this only works if all drivers that have a runtime dependency on the clk > driver support deferred probing or are built as loadable modules as well and get > loaded after the clk driver. > Thanks for the info. Currently all i.MX6&7/VF clocks driver are not loadable modules (they're using CLK_OF_DECLARE), so can't be built as m. If we really want to build i.MX common clock libraries into module, I guess the easiest way Is as what Patch [2/9] does, select it by ARCH_MXC. Then users have no chance to build it as module, so no build issues. Regards Aisheng > Arnd > > 8<--- > diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile index > 928f874c73d2..638bc00f5731 100644 > --- a/drivers/clk/imx/Makefile > +++ b/drivers/clk/imx/Makefile > @@ -1,6 +1,8 @@ > # SPDX-License-Identifier: GPL-2.0 > > -obj-$(CONFIG_MXC_CLK) += \ > +obj-$(CONFIG_MXC_CLK) := clk-imx.ko > + > +clk-imx-y += \ > clk.o \ > clk-busy.o \ > clk-composite-8m.o \ > @@ -25,24 +27,24 @@ obj-$(CONFIG_MXC_CLK_SCU) += \ > clk-scu.o \ > clk-lpcg-scu.o > > -obj-$(CONFIG_CLK_IMX8MM) += clk-imx8mm.o > -obj-$(CONFIG_CLK_IMX8MN) += clk-imx8mn.o > -obj-$(CONFIG_CLK_IMX8MP) += clk-imx8mp.o > -obj-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o > -obj-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o > +clk-imx-$(CONFIG_CLK_IMX8MM) += clk-imx8mm.o > +clk-imx-$(CONFIG_CLK_IMX8MN) += clk-imx8mn.o > +clk-imx-$(CONFIG_CLK_IMX8MP) += clk-imx8mp.o > +clk-imx-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o > +clk-imx-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o > > -obj-$(CONFIG_SOC_IMX1) += clk-imx1.o > -obj-$(CONFIG_SOC_IMX21) += clk-imx21.o > -obj-$(CONFIG_SOC_IMX25) += clk-imx25.o > -obj-$(CONFIG_SOC_IMX27) += clk-imx27.o > -obj-$(CONFIG_SOC_IMX31) += clk-imx31.o > -obj-$(CONFIG_SOC_IMX35) += clk-imx35.o > -obj-$(CONFIG_SOC_IMX5) += clk-imx5.o > -obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o > -obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o > -obj-$(CONFIG_SOC_IMX6SLL) += clk-imx6sll.o > -obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o > -obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o > -obj-$(CONFIG_SOC_IMX7D) += clk-imx7d.o > -obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o > -obj-$(CONFIG_SOC_VF610) += clk-vf610.o > +clk-imx-$(CONFIG_SOC_IMX1) += clk-imx1.o > +clk-imx-$(CONFIG_SOC_IMX21) += clk-imx21.o > +clk-imx-$(CONFIG_SOC_IMX25) += clk-imx25.o > +clk-imx-$(CONFIG_SOC_IMX27) += clk-imx27.o > +clk-imx-$(CONFIG_SOC_IMX31) += clk-imx31.o > +clk-imx-$(CONFIG_SOC_IMX35) += clk-imx35.o > +clk-imx-$(CONFIG_SOC_IMX5) += clk-imx5.o > +clk-imx-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o > +clk-imx-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o > +clk-imx-$(CONFIG_SOC_IMX6SLL) += clk-imx6sll.o > +clk-imx-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o > +clk-imx-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o > +clk-imx-$(CONFIG_SOC_IMX7D) += clk-imx7d.o > +clk-imx-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o > +clk-imx-$(CONFIG_SOC_VF610) += clk-vf610.o _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel