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=-1.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,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 D4A1CC433E1 for ; Wed, 1 Jul 2020 07:22:08 +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 952472070C for ; Wed, 1 Jul 2020 07:22:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="OIZIbNvn"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="lrYAFvpr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 952472070C 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=qdy8cZp7b29B7v610L2Og0VQLw+WbzAIyrROuJArvt4=; b=OIZIbNvnQihaGcTTcZ2fHWcXA WdD3tUOboHTX3p1ZtzZjk53xJZqpsz19E8xXY8aQbGRPFQwSSs7M8smYlROK1wrBwrGJ66AcKbZQk zMmPPGDegsDRRLDU03bLQo9TlWg64nNlDTh+1YXlcldjTmXnkieA/QJrgh/e2Htxspj+Jcxv2q1PN ib3vr5zeTeW9tl2rULXdpl3d7QkYlpDiKJxS3oBAmcjuBGz32BDXrhDlBA41y4afWjFaMDct04Efh /aFwOlrYFnhW+JA8DRcBEUhwJB2OeygLHvajq1kVFvbANmuJ2Ksy2OvV6mivCsu9Udn9eoKSyZyS4 nqxvdR1Rg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqX2O-0004Al-IR; Wed, 01 Jul 2020 07:20:08 +0000 Received: from mail-db8eur05on2083.outbound.protection.outlook.com ([40.107.20.83] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqX26-00041S-Eu for linux-arm-kernel@lists.infradead.org; Wed, 01 Jul 2020 07:19:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TMWhN6p6jVR+KyNDggKXRhJ7jep3Ljqq412DAVv8FClSRN4bfoy523sor0T00qLbZVfmHYpYsI0wSyc073WqZufzZKQShNKrd8JhPi4LBLbvNXIs95HGKJCmknjtsQ0pB9mJK80hDYCmnw364OjlxKF8cgtXOoYqYjLqb86O04vS/6k82aCkTJueopnK439Eo7sYN15tUNlb017ws6Ptx/QquxWmIUzvV09KQecTdfv+9Z3PQOHeSje9wjzNqq344RdWJNOtg/S5tpOkkmu37fBCgJ8CBneSWiCykrOr7G4vkQ+9B1SZkiOV1Px46McnELVC6G5PKXXvkna+C9jt0A== 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=ogIImbqG2AQrZhSLwbqU/8sZKaux18Y8A0it8+enT7Q=; b=GOg7p6tOAiaJnxfaKiwnYBNtF/hAl0eMFxmINNtjlZ3L0sNkQLnQJaJ/tagwBqGASjIeLxYz3YRxKRpl9iGGlWw8YMULVnpLl2nOnb6gnmKuO2yF8+78v2X4pgPrkad/JB70OtVhLYCL59PQwNBwUWPbvSZDx3R1KqWBYlBXsXc8t/vjvzhqxxnhttunvb2/j872vRmVcoz275Q8ddGQ126XD1eTHiRUlgyo2smYrQFlLIEJDbnXpI1Vr6taw9fBsVvYOMHXXo6NATcAbiG6s2IlgU3F0r3fXtRbYhgrTxYQAc9yi1ISqOgORzYmz8weZ/rYgB0BbV3BBfBI65d3dw== 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=ogIImbqG2AQrZhSLwbqU/8sZKaux18Y8A0it8+enT7Q=; b=lrYAFvpr2KDijN8oH+jiwpvrAy56GtPq8NwozkFwSa1pvNI2uRGNcPhtRjV0Cg5tDo95kVMKGgZ6tDmxq2Q3nCfkGzvMC/rxgtAWO8bU3UzYKO2jfcGnCWpmI2zro7RiMvPtzMqdj0q4aIqX3qsblRXT9tKMGi/mxwzB1Z7iODw= Received: from DB3PR0402MB3916.eurprd04.prod.outlook.com (2603:10a6:8:10::18) by DB8PR04MB7180.eurprd04.prod.outlook.com (2603:10a6:10:12c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.22; Wed, 1 Jul 2020 07:19:47 +0000 Received: from DB3PR0402MB3916.eurprd04.prod.outlook.com ([fe80::1dab:b68c:e028:acb3]) by DB3PR0402MB3916.eurprd04.prod.outlook.com ([fe80::1dab:b68c:e028:acb3%6]) with mapi id 15.20.3131.030; Wed, 1 Jul 2020 07:19:47 +0000 From: Anson Huang To: Dong Aisheng , Arnd Bergmann Subject: RE: [PATCH V3 04/10] clk: imx: Support building SCU clock driver as module Thread-Topic: [PATCH V3 04/10] clk: imx: Support building SCU clock driver as module Thread-Index: AQHWTdthV6wfzmMopU6pSRFnxqvg3qjvd4YAgAACQ6CAABqKgIAAAHBggAAdugCAAAKowIAA09MAgAHHMmA= Date: Wed, 1 Jul 2020 07:19:47 +0000 Message-ID: References: <1593410042-10598-1-git-send-email-Anson.Huang@nxp.com> <1593410042-10598-5-git-send-email-Anson.Huang@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; 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: 45d07724-9fce-4477-7400-08d81d8f22de x-ms-traffictypediagnostic: DB8PR04MB7180: 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:9508; x-forefront-prvs: 04519BA941 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R79WF1DVt0W3syPhw28JafpPdxBdsrzhmPOznOf5epspXtYvlw1xl4lztNaudpyjlvP7ULE97U8Akuq6GYBzoA84SqJLImxu7aaGW7otZax0Ttz1nZ+aJFyz0WG4r4A6qJNGzA7ubLRE9KvP0Us7iVoySFvDlnsGq7XhWqiYnsfiLMo/KyUnrzQ7YcGFllpf+Y9XEmL5i55Qqdq+xwV++qPwShaC1yy0A8IuT1WuxPD0J9sVxk8XrnMB4WEi6U6isOPCUwIO0EMmegMCeCJyobYwBAh/sRdlcy7p3Z+tNvUnMyb2DJwrY8dROVW7cr/U x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB3PR0402MB3916.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(44832011)(110136005)(7416002)(316002)(54906003)(2906002)(66446008)(7696005)(9686003)(19627235002)(5660300002)(55016002)(6506007)(86362001)(52536014)(478600001)(53546011)(71200400001)(66946007)(66556008)(64756008)(66476007)(8936002)(83380400001)(26005)(8676002)(4326008)(186003)(76116006)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: KJp7aZiUx0VC+ci7tOtUs/QnkRAlnLHYjTEoQKwu9WiMCL5JAvDOHvN9CNWhSa2k0MMzw1v4lUMgNXfu+Q/WglhneH10FKWozTaxnrs6f83g+MuVY+qec8S2tjR9g0ZJSEQFzQEjsw4xCqPgJB4jf4p7YxInbOG2DqwZVS37XrtwazMy/fwFDU6T0n8WVttgjZLmyjFcie6madkKRA6M0vG4w/tuv2ah/RK0OK0h/DEKmzxuGin5t8qphIvo3c+6Cgp6g823QpXrQMUmotmPrpKoKCDvIO/VveClBsdaTq7fSf2f8qCGbIUzdxx5BIgz+6f+FdkKh4qCpjd5jgnkBWDJGImy06sjFI9w5xuzJfOMvQAIKVKCCRQ5futk2mYHQrHrDS13cB/bxi8hd8Ns+EBJSxhD7Cq0bCncf/hvEMvI0w0hTRrWvByN7u3jO8ZcCVy26jb2ZO8eEOqdr8gPXDC4jM3wY/WDR0RzA1/9ymQ= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB3PR0402MB3916.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45d07724-9fce-4477-7400-08d81d8f22de X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2020 07:19:47.3958 (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: PM9SZJ0AeOXH+T5E4KVV2ozjSaxSC6NZmOsHn5XK4m+u8goKy1/x0L/E08Nq1/SVZw+TQrejzZ7oYmidGF3F5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200701_031950_832094_E9CACA41 X-CRM114-Status: GOOD ( 30.72 ) 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: Aisheng Dong , Stephen Rothwell , Peng Fan , linux-clk , Andy Duan , Abel Vesa , Stefan Agner , Stephen Boyd , Shawn Guo , Sascha Hauer , YueHaibing , Russell King - ARM Linux , Daniel Baluta , "linux-kernel@vger.kernel.org" , "oleksandr.suvorov@toradex.com" , Al Viro , Sascha Hauer , Fabio Estevam , Michael Turquette , Linux ARM , dl-linux-imx 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 Hi, Arnd > Subject: Re: [PATCH V3 04/10] clk: imx: Support building SCU clock driver as > module > > On Tue, Jun 30, 2020 at 5:16 AM Anson Huang > wrote: > > > > Hi, Arnd > > > > > > > Subject: Re: [PATCH V3 04/10] clk: imx: Support building SCU clock > > > driver as module > > > > > > On Mon, Jun 29, 2020 at 4:52 PM Anson Huang > > > wrote: > > > > > Subject: Re: [PATCH V3 04/10] clk: imx: Support building SCU > > > > > clock driver as module On Mon, Jun 29, 2020 at 2:53 PM Anson > > > > > Huang > > > wrote: > > > > > > > > > > Sorry, I misread the patch in multiple ways. First of all, you > > > > > already put clk-scu.o and clk-lpcg-scu.o files into a combined > > > > > loadable module, and I had only looked at clk-scu.c. > > > > > > > > > > What I actually meant here was to link clk-scu.o together with > > > > > clk-imx8qxp.o (and possibly future chip-specific files) into a > > > > > loadable module and drop the export. > > > > > > > > Sorry, could you please advise more details about how to do it in > Makefile? > > > > I tried below but it looks like NOT working. multiple definition > > > > of > > > module_init() error reported. > > > > > > > > obj-$(CONFIG_MXC_CLK_SCU) := clk-imx.o clk-imx-y += clk-scu.o > > > > clk-lpcg-scu.o > > > > clk-imx-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o > > > > > > Right, you can't have multiple module_init() in a module, so what I > > > suggested earlier won't work any more as soon as you add a second > > > chip that uses the clk-scu driver, and then you have to use separate > > > modules, or some hack that calls the init functions one at a time, which is > probably worse. > > > > > > If it's only imx8qxp, you can do it like this: > > > > > > obj-$(CONFIG_MXC_CLK_SCU) := clk-imx-scu.o clk-imx-lpcg.o > > > clk-imx-scu-y += clk-scu.o clk-imx8qxp.o > > > clk-imx-lpcq-scu-y += clk-lpcg-scu.o clk-imx8qxp-lpcg.o > > > > > > If you already know that the scu driver is going to be used in > > > future chips, then just stay with what you have now, using a > > > separate module per file, exporting the symbols as needed. > > > > > > > Thanks, and yes, I know that scu clk driver will be used for future > > i.MX8X chips with SCU inside, the current i.MX8QXP clock driver can > > NOT cover all i.MX8X chips, so I will stay with the exporting symbols. > > > > SCU clock driver is a common driver for all SCU based platforms. > Current i.MX8QXP SCU clock driver will be extended to support all future SCU > based platforms. > So theoretically clk-scu.o and clk-imx8qxp.o can be combined. LPCG is > similar. > Maybe you can give a try as Arnd suggested. > Do we really need to link clk-scu and i.MX8QXP clock driver together just to avoid some export? I met some build issues if using this method, the i.MX8QXP module build is OK, but other platforms like i.MX8MM/i.MX8MN/i.MX8MQ/i.MX8MP clock drivers are just skipped for build, even these i.MX8M clock config are existing in .config, anyone know why? Looks like the change in Makefile for i.MX8QXP clock driver introduce this issue. I think doing such big change in order to save some exports looks like NOT that worth, is it acceptable to just keep the original one in Makefile, just to have mxc-clk.ko, clk-scu.ko and clk-imx8qxp.ko etc.. thanks, Anson .config: CONFIG_MXC_CLK=m CONFIG_MXC_CLK_SCU=m CONFIG_CLK_IMX8MM=m CONFIG_CLK_IMX8MN=m CONFIG_CLK_IMX8MP=m CONFIG_CLK_IMX8MQ=m CONFIG_CLK_IMX8QXP=m Makefile: mxc-clk-objs += clk-fixup-mux.o mxc-clk-objs += clk-frac-pll.o mxc-clk-objs += clk-gate2.o mxc-clk-objs += clk-gate-exclusive.o mxc-clk-objs += clk-pfd.o mxc-clk-objs += clk-pfdv2.o mxc-clk-objs += clk-pllv1.o mxc-clk-objs += clk-pllv2.o mxc-clk-objs += clk-pllv3.o mxc-clk-objs += clk-pllv4.o mxc-clk-objs += clk-pll14xx.o mxc-clk-objs += clk-sscg-pll.o obj-$(CONFIG_MXC_CLK) += mxc-clk.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_MXC_CLK_SCU) := clk-imx-scu.o clk-imx-lpcg-scu.o clk-imx-scu-$(CONFIG_CLK_IMX8QXP) += clk-scu.o clk-imx8qxp.o clk-imx-lpcg-scu-$(CONFIG_CLK_IMX8QXP) += clk-lpcg-scu.o clk-imx8qxp-lpcg.o _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel