From patchwork Tue Sep 28 23:56:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William McVicker X-Patchwork-Id: 12524093 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF368C433EF for ; Tue, 28 Sep 2021 23:56:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A6F7C60E94 for ; Tue, 28 Sep 2021 23:56:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243311AbhI1X6d (ORCPT ); Tue, 28 Sep 2021 19:58:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43082 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243235AbhI1X6c (ORCPT ); Tue, 28 Sep 2021 19:58:32 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68666C06174E for ; Tue, 28 Sep 2021 16:56:52 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id x16-20020a25b910000000b005b6b7f2f91cso1163544ybj.1 for ; Tue, 28 Sep 2021 16:56:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:message-id:mime-version:subject:from:to:cc; bh=n/4ji2XuxpZN636ga4YIidKk8OUAj8FasKFOyipQUCs=; b=I824tzwXK4ArJM33zKh8o41jaDjDUrDwRpvfINUp1+mgEb5E+73AhhO7xB2aGXDHYN RHFI+0EmQVLvawHS6MK/NJHIx+ksKZm/NBOoZt8qYkipjxv6FREv0V8BlNPi0UNotPyK jelAwquik+M3dN82rRK9qNJqatBYNi95BqfB0ZaJ909diQpb9I9WE1xpoydt7Wl9HOJS tLnkvR02vXmMUpakGUA7yNLzrY9JxZ9np72xou6mg+LWNetAWUilreJ7GSbotmzIVX54 iA+Jv0m/Qj8ED6rqsfyEEwsXDa60y5SPuILXh7bmGelUhv84dRGMz+K3X7RJKgOVyjQ1 H6Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=n/4ji2XuxpZN636ga4YIidKk8OUAj8FasKFOyipQUCs=; b=KzoE6aXpZLkK9Xb8PtbfyMI52a92Nrp+CUZUYN81BgX4WG/ET/JdAIJ+rTsraEscrj a4Jyad+DgR6pMRXxUDOTgbfyjwQzUNO3euhuTJ97Yrjntbh6+PEacVSrgYn/uMMRJtFQ YLuXk4h0y7a7Oop491NzNPlVpGb+3dP6AC8gYi2cdfdg+4eiRpen53PgsCbhsBbuSyvg G9tpuKp9/uPlP1+8mOlfbbuobKtWyLqDmiowtcXMPt1fAk+Aj/D9k9dD89Ksdcvbn0d5 0nr0VRn5gzhXHWNg0QlA7wJvLp4Xoty/zooBN/kFOXAnh8UJ79Ob2eljtgwQX2H4g/Is 1BJQ== X-Gm-Message-State: AOAM530V2O/+7ylf2nay0gyEgQo8ahbLXLSrklC3oBaxeBQAo2cM9XV1 cEt2dax6RKcAWydUO1urVhTvWKuY7uEccRxqT/E= X-Google-Smtp-Source: ABdhPJwiBWkFSrRZjL9CwMHS4p+dCQodZ0zYKtZ+o0uIxNB3pJVtsnCdQl0dwzC+XK2dm4Dr78SZgIrssykhmy8RZNc= X-Received: from willmcvicker.c.googlers.com ([fda3:e722:ac3:cc00:24:72f4:c0a8:2dd0]) (user=willmcvicker job=sendgmr) by 2002:a25:2e07:: with SMTP id u7mr9785709ybu.1.1632873411609; Tue, 28 Sep 2021 16:56:51 -0700 (PDT) Date: Tue, 28 Sep 2021 23:56:17 +0000 Message-Id: <20210928235635.1348330-1-willmcvicker@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.33.0.685.g46640cef36-goog Subject: [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs From: Will McVicker To: Russell King , Krzysztof Kozlowski , Catalin Marinas , Will Deacon , Michael Turquette , Stephen Boyd , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Linus Walleij , Alessandro Zummo , Alexandre Belloni , John Stultz , Thomas Gleixner Cc: Lee Jones , Geert Uytterhoeven , Saravana Kannan , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-rtc@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org This is v2 of the series of patches that modularizes a number of core ARCH_EXYNOS drivers. Based off of the feedback from the v1 series, I have modularized all of the drivers that are removed from the ARCH_EXYNOS series of "select XXX". This includes setting the following configs as tristate: * COMMON_CLK_SAMSUNG * EXYNOS_ARM64_COMMON_CLK * PINCTRL_SAMSUNG * PINCTRL_EXYNOS * EXYNOS_PMU_ARM64 * EXYNOS_PM_DOMAINS Additionally, it introduces the config EXYNOS_PMU_ARM64 and EXYNOS_PMU_ARM which was previously EXYNOS_PMU and EXYNOS_PMU_ARM_DRIVERS respectively. The reason for these new configs is because we are not able to easily modularize the ARMv7 PMU driver due to built-in arch dependencies on pmu_base_addr under arch/arm/mach-exynos/*. So the new configs split up the ARM and ARM64 portions into two separate configs. Overall, these drivers didn't require much refactoring and converted to modules relatively easily. However, due to my lack of exynos hardware, I was not able to boot test these changes. I'm mostly concerned about the CLK_OF_DECLARE() changes having dependencies on early timers. So I'm requesting help for testing these changes on the respective hardware. Lastly, this series is based off of [1] since there are dependencies on EXYNOS_CHIPID from that series.. [1] https://lore.kernel.org/lkml/20210919093114.35987-1-krzysztof.kozlowski@canonical.com/ * From v1: - Fixed modifying hidden configs - Modularized all the drivers that were touched - Removed HAVE_S3C_RTC - Updated all Samsung ARCH_XXX configs as suggested from reviews - Rebased on top of 5.15-rc3 and pulled in [1] Will McVicker (12): arm64: don't have ARCH_EXYNOS select EXYNOS_CHIPID timekeeping: add API for getting timekeeping_suspended clk: samsung: add support for CPU clocks clk: samsung: exynos5433: update apollo and atlas clock probing clk: export __clk_lookup clk: samsung: modularize exynos arm64 clk drivers clk: samsung: set exynos arm64 clk driver as tristate pinctrl: samsung: modularize the ARM and ARM64 pinctrls pinctrl: samsung: set PINCTRL_EXYNOS and PINCTRL_SAMSUNG as tristate soc: samsung: pmu: modularize the Exynos ARMv8 PMU driver soc: samsung: pm_domains: modularize EXYNOS_PM_DOMAINS ARM: rtc: remove HAVE_S3C_RTC in favor of direct dependencies arch/arm/Kconfig | 1 - arch/arm/mach-exynos/Kconfig | 6 +- arch/arm/mach-s3c/Kconfig.s3c64xx | 1 - arch/arm/mach-s5pv210/Kconfig | 3 - arch/arm64/Kconfig.platforms | 6 - drivers/clk/clk.c | 1 + drivers/clk/samsung/Kconfig | 5 +- drivers/clk/samsung/Makefile | 3 +- drivers/clk/samsung/clk-cpu.c | 28 +- drivers/clk/samsung/clk-cpu.h | 2 +- drivers/clk/samsung/clk-exynos5433.c | 465 ++++++++---------- drivers/clk/samsung/clk-exynos7.c | 177 +++---- drivers/clk/samsung/clk-pll.c | 6 +- drivers/clk/samsung/clk.c | 35 +- drivers/clk/samsung/clk.h | 50 +- drivers/pinctrl/samsung/Kconfig | 5 +- drivers/pinctrl/samsung/Makefile | 13 +- drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 102 ++-- .../pinctrl/samsung/pinctrl-exynos-arm64.c | 73 +-- drivers/pinctrl/samsung/pinctrl-exynos.c | 17 +- drivers/pinctrl/samsung/pinctrl-samsung.c | 11 +- drivers/rtc/Kconfig | 10 +- drivers/soc/samsung/Kconfig | 18 +- drivers/soc/samsung/Makefile | 8 +- drivers/soc/samsung/exynos-pmu.c | 13 +- drivers/soc/samsung/exynos-pmu.h | 2 +- drivers/soc/samsung/pm_domains.c | 12 +- include/linux/soc/samsung/exynos-pmu.h | 2 +- include/linux/timekeeping.h | 1 + kernel/time/timekeeping.c | 11 + 30 files changed, 553 insertions(+), 534 deletions(-)