Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1523833ybg; Wed, 29 Jul 2020 17:03:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxvJ7hm7tF549P3rT+c5KsPnPm/T4552Fk7I7VIDuHXRuAfGyLC5H5CMw7zV+0GwPR3WlCa X-Received: by 2002:aa7:c74f:: with SMTP id c15mr219804eds.331.1596067417336; Wed, 29 Jul 2020 17:03:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596067417; cv=none; d=google.com; s=arc-20160816; b=Xv+tx+IpG1Eky3+9fETHAoyiSiuLzQLVdMqlDBgxTyMFnyHRvBNWuLtFJ4ALxPPfJ5 VWpLlf4JoWDWLRBAnCnrAkv3rR4lU20YRlylpv+0Iqk0GWnT3EvoQTv20WVDHgDNbbhT Vv7FH8QggVkrSlBSeaZ+ZLlwugFllW7jwSOHlGBVHaZMjQDLIU1jN8/XTsBW56nvxDJq bCR02cOa/Po7fRr3PFxPJIGUIkNZUUtFbHjMAwFyTagoLKlw9BSy4CsYDiTCQSV4D8uM HqGmSKzD/Fq334LJhZWLxGQAn2EvxOxTVK77WgjZyDqsaBTsWcP2XgXvKNUKWwYlSwZl ZRZw== 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=lZXM+7wZpHv66ZgIOVALAupHNj6YczCzsUPp25kdKbM=; b=hfpa6MBp0U8bGSz1LVfdg6bNZAhiztQEdYT657FYqKxikzAB8Pajq676H789MXCLPj 4Y2PUuh2lAIIgieYwsEr6d2InjfjnPzCa0HnP5gJiALp8OAUcE1jzbwdZqwU6I0aUkwm R5K5QC9p1vAw/SS08yinrABP/MEq2Y7GL0acbMpNJAQcluzqT6jt9pyvbgDI4AWsntT3 teWwCPQuiSrQtMcGYwHWtlj6bunP1vANzb/JWf5lySSUr90KTZoiSrKkwe7e6IWbRzoy ib9XhDnpuSR0w19cPYFeipYd+eCAx8765fQTK70hfenr46XvGhlFBgC9ltyUNcyHBasI qXWw== 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 d1si2346160edl.585.2020.07.29.17.03.14; Wed, 29 Jul 2020 17:03:37 -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 S1727995AbgG3ADJ (ORCPT + 99 others); Wed, 29 Jul 2020 20:03:09 -0400 Received: from inva020.nxp.com ([92.121.34.13]:51056 "EHLO inva020.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726709AbgG3ADJ (ORCPT ); Wed, 29 Jul 2020 20:03:09 -0400 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A52971A12AB; Thu, 30 Jul 2020 02:03:06 +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 18E4C1A029A; Thu, 30 Jul 2020 02:03:00 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id BFDB0402D0; Thu, 30 Jul 2020 02:02:51 +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 V8 0/6] Support building i.MX ARMv8 platforms clock driver as module Date: Thu, 30 Jul 2020 07:58:34 +0800 Message-Id: <1596067120-1193-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 V7: - remove unnecessary inlude of linux/bitfield in patch #1. 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 | 14 +++--- 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, 185 insertions(+), 65 deletions(-) -- 2.7.4