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=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=unavailable 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 768CDC83004 for ; Wed, 29 Apr 2020 20:58:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 3ECFA2076B for ; Wed, 29 Apr 2020 20:58:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ps26GHFn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3ECFA2076B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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:In-Reply-To:References: List-Owner; bh=MowkGMDQ5OrUNZws8hlPHD4+x5gW7vz85C5O99AcLzg=; b=ps26GHFnZ/ledC IIBjPeCiQrfusYj3XFma4SUyWWSV0WyGb9mjM1bdD3p8DZ/UJcQq/fAS65RxmFmU3RMI2WA6eFIc0 xlmuMVymOi45dYlMZ7fGMeoUWErEuuQBUTDaArIVrlqWP6WCwc3qUg58YR5xDrt00v+fZZ/p2dFzp KCpyvbYXKSj0TPCSCqctAqECoFlTGI+plfUdmcXnXVgI89zlWf5uVEjudmzT9Fgm+Dnk94CBRaCpa fgvn/6XHW1depsdMTx2F1doxkeoLthqeZDmpEcd0olNFNuNZhVY+yuOlgI7sw2NwF2vGoa+NDaao0 0gCh5lMhBUb37m3+Anew==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTtmq-000530-CA; Wed, 29 Apr 2020 20:58:32 +0000 Received: from mail-ot1-f65.google.com ([209.85.210.65]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTtmn-00052J-0A for linux-arm-kernel@lists.infradead.org; Wed, 29 Apr 2020 20:58:30 +0000 Received: by mail-ot1-f65.google.com with SMTP id j26so3009082ots.0 for ; Wed, 29 Apr 2020 13:58:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=MnHANIm3Lt/vh28RWXjD/MDMuUK3kNL3Hz3uh0uBuNk=; b=YNa6rLduXMJ1esULXPp0enf2/wcvs8nxejX+sAPfapydMUeGPSkdHveOxo5Dx+tUJo nAYGClRtNERyyFOAY6LFZvaYfyGAGGqhpjSD815BfDFp7M2l1Hyj7oE6GBNCU42nbD0v ftjrnFTwz1tqAzkQaG6eSkLoEm8Hxf1lKKVusV+AFPu7GQZ3r4VVPvpzfmRcIuPahClu /FRvWQkAeC3vT4YdVlV/Ad3KjwYIURLZxVO65vDSZ95+WwLY1+ir64ieE7eR4DONg4Li OJSYo27vhDBJbSdZ2sLApD9+oJF8ZXdbvaX49n90nebwOYgNr9/8mOL5zeY2gqvc5BFo Xaew== X-Gm-Message-State: AGi0PuaDzk2i+egVvgYONXTiB05J97z7BALpjodI1/RMlrYZXQQu72cd BazRqO1SDjxr1RO+xnWZpA== X-Google-Smtp-Source: APiQypIrHRKHQtFy0c/K7pk+j4P/vsiyNqYsBEwDCGgpoagGDyB7Mio4YrRyWmBtS8KUovUwq+wDbw== X-Received: by 2002:a9d:6b13:: with SMTP id g19mr2806662otp.249.1588193907789; Wed, 29 Apr 2020 13:58:27 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id z13sm653162oth.10.2020.04.29.13.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2020 13:58:27 -0700 (PDT) From: Rob Herring To: Linus Walleij , Liviu Dudau , Lorenzo Pieralisi , Sudeep Holla Subject: [PATCH v2 00/17] Modularizing Versatile Express Date: Wed, 29 Apr 2020 15:58:09 -0500 Message-Id: <20200429205825.10604-1-robh@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200429_135829_041067_49DC0812 X-CRM114-Status: GOOD ( 13.25 ) 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: Arnd Bergmann , linux-pm@vger.kernel.org, Stephen Boyd , Catalin Marinas , Kevin Brodsky , Sebastian Reichel , Will Deacon , Greg Kroah-Hartman , Lee Jones , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series enables building various Versatile Express platform drivers as modules. The primary target is the Fast Model FVP which is supported in Android. As Android is moving towards their GKI, or generic kernel, the hardware support has to be in modules. Currently ARCH_VEXPRESS enables several built-in only drivers. Some of these are needed, but some are only needed for older 32-bit VExpress platforms and can just be disabled. For FVP, the pl111 display driver is needed. The pl111 driver depends on vexpress-osc clocks which had a dependency chain of vexpress-config --> vexpress-syscfg --> vexpress-sysreg. These components relied on fixed initcall ordering and didn't support deferred probe which would have complicated making them modules. All these levels of abstraction are needlessly complicated, so this series simplifies things a bit by merging the vexpress-config and vexpress-syscfg functionality. There's a couple of other pieces to this which I've sent out separately as they don't have dependencies with this series. The cross subsystem dependencies in this series are mainly the ordering of enabling drivers as modules. A complete git branch is here[1]. Tested on Fast Model FVP Rev C. v2: The major change is a boot fix for 32-bit VExpress platforms with patch 3. I also dropped 'power/reset: vexpress: Support building as a module' as it was incomplete and not needed for this series. Rob [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git vexpress-modules-v4 Rob Herring (16): ARM: vexpress: Move vexpress_flags_set() into arch code arm64: vexpress: Don't select CONFIG_POWER_RESET_VEXPRESS amba: Retry adding deferred devices at late_initcall clk: versatile: Rework kconfig structure clk: versatile: Only enable SP810 on 32-bit by default clk: vexpress-osc: Use the devres clock API variants clk: vexpress-osc: Support building as a module mfd: vexpress-sysreg: Drop selecting CONFIG_CLKSRC_MMIO mfd: vexpress-sysreg: Drop unused syscon child devices mfd: vexpress-sysreg: Use devres API variants mfd: vexpress-sysreg: Support building as a module bus: vexpress-config: Merge vexpress-syscfg into vexpress-config bus: vexpress-config: simplify config bus probing vexpress: Move setting master site to vexpress-config bus bus: vexpress-config: Support building as module ARM: vexpress: Don't select VEXPRESS_CONFIG arch/arm/mach-integrator/Kconfig | 1 - arch/arm/mach-realview/Kconfig | 1 - arch/arm/mach-versatile/Kconfig | 1 - arch/arm/mach-vexpress/Kconfig | 4 - arch/arm/mach-vexpress/core.h | 1 + arch/arm/mach-vexpress/dcscb.c | 1 + arch/arm/mach-vexpress/v2m.c | 23 ++ arch/arm64/Kconfig.platforms | 3 - drivers/amba/bus.c | 14 +- drivers/bus/Kconfig | 2 +- drivers/bus/vexpress-config.c | 354 ++++++++++++++++++----- drivers/clk/Makefile | 2 +- drivers/clk/versatile/Kconfig | 24 +- drivers/clk/versatile/clk-vexpress-osc.c | 20 +- drivers/mfd/Kconfig | 5 +- drivers/mfd/vexpress-sysreg.c | 99 +------ drivers/misc/Kconfig | 9 - drivers/misc/Makefile | 1 - drivers/misc/vexpress-syscfg.c | 280 ------------------ include/linux/vexpress.h | 30 -- 20 files changed, 354 insertions(+), 521 deletions(-) delete mode 100644 drivers/misc/vexpress-syscfg.c base-commit: 8f3d9f354286745c751374f5f1fcafee6b3f3136 -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel