Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1184070ybg; Wed, 29 Jul 2020 07:53:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxg92NCW6xdKFUX8BfTyl+vR+7mtRQIOeTSt7lYWs6z4OC+LZIZWYVVKI889svUzCLXWGhJ X-Received: by 2002:a17:906:b104:: with SMTP id u4mr11343243ejy.114.1596034414766; Wed, 29 Jul 2020 07:53:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596034414; cv=none; d=google.com; s=arc-20160816; b=u2w8bCPMX0FB421KLSxnQ+EgdZvnI5jxo3hUtyHYCWneSZBRB2Z6zs14Igpie79I8y Z7a+E5EUnrdTei+ZnBrpOiRyEBHQgrWMJspvDXynBjOcCW36paWUG0PNgdwAssoSOHLx Qk8ASO929WO28tAZO3I/zGfuQboDHSIPaY3EYnteNhGaU/UiZAAYaPfPjbtb0tZnrbwE Yz/Ps0d/8uwS9KbjzMwsInIpQVc7Rw3ibHwuVmJHfOvfm7zTWigxthewIdXcd13G+0mF ZlE97dcIvsrvyN/eqHMM8qjRYnDoQt6ObEGr+h+QxuUAZElVMRB8+92BuLT/TxT+GF2D JD2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=dKtUKdLO/rChBqcb7eYwxSkCM7ZWUVJnEtEFxyKsC88=; b=1LXtdISCD8ED1iwH4tu3sXOAYuNiapYjTlzV2UqrniYq4p/9DZTUEfijyayNBtPmle HNj0T2f9TjVKCT6r8LBcKypVzm6RGi7Q6TW1zwo+BRhL4Z/y1wy/kWLqoKkl6uUNJrUC /FCT8s43tZJwokcgyUEiEY1FG1K9w2okeWTjg2B6jmlXIzgXVvjehPiGZ+HfwOgiePKF +lOzPACersAGaER4NUtOcJ/Grn7KH1DCsmep2sHej5Mvj6+eyZXdocD9JRtorNxFUdTT +YtlFvloLyoLszfMFh/OmxLqTfFmcsttE6N1j21fYEWSFtQqf3ixvgmyIByoFdfC+Z5u sikA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q24si1329775edw.193.2020.07.29.07.53.12; Wed, 29 Jul 2020 07:53:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726631AbgG2OxD (ORCPT + 99 others); Wed, 29 Jul 2020 10:53:03 -0400 Received: from inva020.nxp.com ([92.121.34.13]:58552 "EHLO inva020.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726353AbgG2OxD (ORCPT ); Wed, 29 Jul 2020 10:53:03 -0400 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A796D1A101D; Wed, 29 Jul 2020 16:53:01 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 22FD21A0005; Wed, 29 Jul 2020 16:52:55 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id C8B9A402DF; Wed, 29 Jul 2020 16:52:46 +0200 (CEST) From: Anson Huang To: mturquette@baylibre.com, sboyd@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, aisheng.dong@nxp.com, arnd@arndb.de, peng.fan@nxp.com, abel.vesa@nxp.com, fugang.duan@nxp.com, daniel.baluta@nxp.com, yuehaibing@huawei.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Linux-imx@nxp.com Subject: [PATCH V7 0/6] Support building i.MX ARMv8 platforms clock driver as module Date: Wed, 29 Jul 2020 22:48:31 +0800 Message-Id: <1596034117-24246-1-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Nowdays, there are more and more requirements of building SoC specific drivers as modules, such as Android GKI (generic kernel image), this patch set supports building i.MX ARMv8 SoCs clock drivers as modules, The CLK_IMXxxx is introduced for i.MX ARMv7 platforms in order to make the build options aligned, the reason why i.MX ARMv7 platforms clock driver do NOT support module build and COMPILE_TEST is because, some drivers like i.MX GPT timer driver depends on clock driver to be ready before it, GPT driver uses TIMER_OF_DECLARE(), while i.MX6/7 clock drivers use CLK_OF_DECLARE(), and GPT driver is critical for i.MX6/7 platforms kernel boot up, so GPT driver needs to be changed to support loadable clock driver first, then the i.MX6/7 clock drivers can support loadable module, this will be done later. Changes since V6: - improve patch #6's subject and move it to be first patch of this series. Anson Huang (6): clk: imx6sl: Use BIT(x) to avoid shifting signed 32-bit value by 31 bits clk: composite: Export clk_hw_register_composite() clk: imx: Support building i.MX common clock driver as module clk: imx: Add clock configuration for ARMv7 platforms clk: imx8m: Support module build clk: imx8qxp: Support building i.MX8QXP clock driver as module drivers/clk/clk-composite.c | 1 + drivers/clk/imx/Kconfig | 94 ++++++++++++++++++++++++++++++++------ drivers/clk/imx/Makefile | 79 ++++++++++++++++---------------- drivers/clk/imx/clk-composite-8m.c | 2 + drivers/clk/imx/clk-cpu.c | 2 + drivers/clk/imx/clk-frac-pll.c | 2 + drivers/clk/imx/clk-gate2.c | 2 + drivers/clk/imx/clk-imx6sl.c | 15 +++--- drivers/clk/imx/clk-imx8mm.c | 4 ++ drivers/clk/imx/clk-imx8mn.c | 4 ++ drivers/clk/imx/clk-imx8mp.c | 4 ++ drivers/clk/imx/clk-imx8mq.c | 4 ++ drivers/clk/imx/clk-imx8qxp-lpcg.c | 4 ++ drivers/clk/imx/clk-imx8qxp.c | 4 ++ drivers/clk/imx/clk-pll14xx.c | 5 ++ drivers/clk/imx/clk-sscg-pll.c | 2 + drivers/clk/imx/clk.c | 17 +++++-- drivers/clk/imx/clk.h | 6 +++ 18 files changed, 186 insertions(+), 65 deletions(-) -- 2.7.4