All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will McVicker <willmcvicker@google.com>
To: Russell King <linux@armlinux.org.uk>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Tomasz Figa <tomasz.figa@gmail.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	John Stultz <john.stultz@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Saravana Kannan <saravanak@google.com>,
	Will McVicker <willmcvicker@google.com>,
	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
Subject: [PATCH v2 03/12] clk: samsung: add support for CPU clocks
Date: Tue, 28 Sep 2021 23:56:20 +0000	[thread overview]
Message-ID: <20210928235635.1348330-4-willmcvicker@google.com> (raw)
In-Reply-To: <20210928235635.1348330-1-willmcvicker@google.com>

Adds 'struct samsung_cpu_clock' and correpsonding code to the samsung
common clk driver. This allows drivers to register their CPU clocks with
the samsung_cmu_register_one() API.

Signed-off-by: Will McVicker <willmcvicker@google.com>
---
 drivers/clk/samsung/clk-cpu.c | 26 ++++++++++++++++++++++++++
 drivers/clk/samsung/clk.c     |  2 ++
 drivers/clk/samsung/clk.h     | 26 ++++++++++++++++++++++++++
 3 files changed, 54 insertions(+)

diff --git a/drivers/clk/samsung/clk-cpu.c b/drivers/clk/samsung/clk-cpu.c
index 00ef4d1b0888..b5017934fc41 100644
--- a/drivers/clk/samsung/clk-cpu.c
+++ b/drivers/clk/samsung/clk-cpu.c
@@ -469,3 +469,29 @@ int __init exynos_register_cpu_clock(struct samsung_clk_provider *ctx,
 	kfree(cpuclk);
 	return ret;
 }
+
+void samsung_clk_register_cpu(struct samsung_clk_provider *ctx,
+		const struct samsung_cpu_clock *list, unsigned int nr_clk)
+{
+	unsigned int idx;
+	unsigned int num_cfgs;
+	struct clk *parent_clk, *alt_parent_clk;
+	const struct clk_hw *parent_clk_hw = NULL;
+	const struct clk_hw *alt_parent_clk_hw = NULL;
+
+	for (idx = 0; idx < nr_clk; idx++, list++) {
+		/* find count of configuration rates in cfg */
+		for (num_cfgs = 0; list->cfg[num_cfgs].prate != 0; )
+			num_cfgs++;
+
+		parent_clk = __clk_lookup(list->parent_name);
+		if (parent_clk)
+			parent_clk_hw = __clk_get_hw(parent_clk);
+		alt_parent_clk = __clk_lookup(list->alt_parent_name);
+		if (alt_parent_clk)
+			alt_parent_clk_hw = __clk_get_hw(alt_parent_clk);
+
+		exynos_register_cpu_clock(ctx, list->id, list->name, parent_clk_hw,
+				alt_parent_clk_hw, list->offset, list->cfg, num_cfgs, list->flags);
+	}
+}
diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index 1949ae7851b2..336243c6f120 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -378,6 +378,8 @@ struct samsung_clk_provider * __init samsung_cmu_register_one(
 		samsung_clk_extended_sleep_init(reg_base,
 			cmu->clk_regs, cmu->nr_clk_regs,
 			cmu->suspend_regs, cmu->nr_suspend_regs);
+	if (cmu->cpu_clks)
+		samsung_clk_register_cpu(ctx, cmu->cpu_clks, cmu->nr_cpu_clks);
 
 	samsung_clk_of_add_provider(np, ctx);
 
diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h
index c1e1a6b2f499..a52a38cc1740 100644
--- a/drivers/clk/samsung/clk.h
+++ b/drivers/clk/samsung/clk.h
@@ -271,6 +271,27 @@ struct samsung_pll_clock {
 	__PLL(_typ, _id, _name, _pname, CLK_GET_RATE_NOCACHE, _lock,	\
 	      _con, _rtable)
 
+struct samsung_cpu_clock {
+	unsigned int		id;
+	const char		*name;
+	const char		*parent_name;
+	const char		*alt_parent_name;
+	unsigned long		flags;
+	int			offset;
+	const struct exynos_cpuclk_cfg_data *cfg;
+};
+
+#define CPU_CLK(_id, _name, _pname, _apname, _flags, _offset, _cfg) \
+	{							    \
+		.id		  = _id,			    \
+		.name		  = _name,			    \
+		.parent_name	  = _pname,			    \
+		.alt_parent_name  = _apname,			    \
+		.flags		  = _flags,			    \
+		.offset		  = _offset,			    \
+		.cfg		  = _cfg,			    \
+	}
+
 struct samsung_clock_reg_cache {
 	struct list_head node;
 	void __iomem *reg_base;
@@ -301,6 +322,9 @@ struct samsung_cmu_info {
 	unsigned int nr_fixed_factor_clks;
 	/* total number of clocks with IDs assigned*/
 	unsigned int nr_clk_ids;
+	/* list of cpu clocks and respective count */
+	const struct samsung_cpu_clock *cpu_clks;
+	unsigned int nr_cpu_clks;
 
 	/* list and number of clocks registers */
 	const unsigned long *clk_regs;
@@ -350,6 +374,8 @@ extern void __init samsung_clk_register_gate(struct samsung_clk_provider *ctx,
 extern void __init samsung_clk_register_pll(struct samsung_clk_provider *ctx,
 			const struct samsung_pll_clock *pll_list,
 			unsigned int nr_clk, void __iomem *base);
+extern void __init samsung_clk_register_cpu(struct samsung_clk_provider *ctx,
+		const struct samsung_cpu_clock *list, unsigned int nr_clk);
 
 extern struct samsung_clk_provider __init *samsung_cmu_register_one(
 			struct device_node *,
-- 
2.33.0.685.g46640cef36-goog


WARNING: multiple messages have this Message-ID (diff)
From: Will McVicker <willmcvicker@google.com>
To: Russell King <linux@armlinux.org.uk>,
	 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	 Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	 Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Tomasz Figa <tomasz.figa@gmail.com>,
	 Chanwoo Choi <cw00.choi@samsung.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	 John Stultz <john.stultz@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Saravana Kannan <saravanak@google.com>,
	Will McVicker <willmcvicker@google.com>,
	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
Subject: [PATCH v2 03/12] clk: samsung: add support for CPU clocks
Date: Tue, 28 Sep 2021 23:56:20 +0000	[thread overview]
Message-ID: <20210928235635.1348330-4-willmcvicker@google.com> (raw)
In-Reply-To: <20210928235635.1348330-1-willmcvicker@google.com>

Adds 'struct samsung_cpu_clock' and correpsonding code to the samsung
common clk driver. This allows drivers to register their CPU clocks with
the samsung_cmu_register_one() API.

Signed-off-by: Will McVicker <willmcvicker@google.com>
---
 drivers/clk/samsung/clk-cpu.c | 26 ++++++++++++++++++++++++++
 drivers/clk/samsung/clk.c     |  2 ++
 drivers/clk/samsung/clk.h     | 26 ++++++++++++++++++++++++++
 3 files changed, 54 insertions(+)

diff --git a/drivers/clk/samsung/clk-cpu.c b/drivers/clk/samsung/clk-cpu.c
index 00ef4d1b0888..b5017934fc41 100644
--- a/drivers/clk/samsung/clk-cpu.c
+++ b/drivers/clk/samsung/clk-cpu.c
@@ -469,3 +469,29 @@ int __init exynos_register_cpu_clock(struct samsung_clk_provider *ctx,
 	kfree(cpuclk);
 	return ret;
 }
+
+void samsung_clk_register_cpu(struct samsung_clk_provider *ctx,
+		const struct samsung_cpu_clock *list, unsigned int nr_clk)
+{
+	unsigned int idx;
+	unsigned int num_cfgs;
+	struct clk *parent_clk, *alt_parent_clk;
+	const struct clk_hw *parent_clk_hw = NULL;
+	const struct clk_hw *alt_parent_clk_hw = NULL;
+
+	for (idx = 0; idx < nr_clk; idx++, list++) {
+		/* find count of configuration rates in cfg */
+		for (num_cfgs = 0; list->cfg[num_cfgs].prate != 0; )
+			num_cfgs++;
+
+		parent_clk = __clk_lookup(list->parent_name);
+		if (parent_clk)
+			parent_clk_hw = __clk_get_hw(parent_clk);
+		alt_parent_clk = __clk_lookup(list->alt_parent_name);
+		if (alt_parent_clk)
+			alt_parent_clk_hw = __clk_get_hw(alt_parent_clk);
+
+		exynos_register_cpu_clock(ctx, list->id, list->name, parent_clk_hw,
+				alt_parent_clk_hw, list->offset, list->cfg, num_cfgs, list->flags);
+	}
+}
diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index 1949ae7851b2..336243c6f120 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -378,6 +378,8 @@ struct samsung_clk_provider * __init samsung_cmu_register_one(
 		samsung_clk_extended_sleep_init(reg_base,
 			cmu->clk_regs, cmu->nr_clk_regs,
 			cmu->suspend_regs, cmu->nr_suspend_regs);
+	if (cmu->cpu_clks)
+		samsung_clk_register_cpu(ctx, cmu->cpu_clks, cmu->nr_cpu_clks);
 
 	samsung_clk_of_add_provider(np, ctx);
 
diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h
index c1e1a6b2f499..a52a38cc1740 100644
--- a/drivers/clk/samsung/clk.h
+++ b/drivers/clk/samsung/clk.h
@@ -271,6 +271,27 @@ struct samsung_pll_clock {
 	__PLL(_typ, _id, _name, _pname, CLK_GET_RATE_NOCACHE, _lock,	\
 	      _con, _rtable)
 
+struct samsung_cpu_clock {
+	unsigned int		id;
+	const char		*name;
+	const char		*parent_name;
+	const char		*alt_parent_name;
+	unsigned long		flags;
+	int			offset;
+	const struct exynos_cpuclk_cfg_data *cfg;
+};
+
+#define CPU_CLK(_id, _name, _pname, _apname, _flags, _offset, _cfg) \
+	{							    \
+		.id		  = _id,			    \
+		.name		  = _name,			    \
+		.parent_name	  = _pname,			    \
+		.alt_parent_name  = _apname,			    \
+		.flags		  = _flags,			    \
+		.offset		  = _offset,			    \
+		.cfg		  = _cfg,			    \
+	}
+
 struct samsung_clock_reg_cache {
 	struct list_head node;
 	void __iomem *reg_base;
@@ -301,6 +322,9 @@ struct samsung_cmu_info {
 	unsigned int nr_fixed_factor_clks;
 	/* total number of clocks with IDs assigned*/
 	unsigned int nr_clk_ids;
+	/* list of cpu clocks and respective count */
+	const struct samsung_cpu_clock *cpu_clks;
+	unsigned int nr_cpu_clks;
 
 	/* list and number of clocks registers */
 	const unsigned long *clk_regs;
@@ -350,6 +374,8 @@ extern void __init samsung_clk_register_gate(struct samsung_clk_provider *ctx,
 extern void __init samsung_clk_register_pll(struct samsung_clk_provider *ctx,
 			const struct samsung_pll_clock *pll_list,
 			unsigned int nr_clk, void __iomem *base);
+extern void __init samsung_clk_register_cpu(struct samsung_clk_provider *ctx,
+		const struct samsung_cpu_clock *list, unsigned int nr_clk);
 
 extern struct samsung_clk_provider __init *samsung_cmu_register_one(
 			struct device_node *,
-- 
2.33.0.685.g46640cef36-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-09-28 23:57 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 23:56 [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs Will McVicker
2021-09-28 23:56 ` Will McVicker
2021-09-28 23:56 ` [PATCH v2 01/12] arm64: don't have ARCH_EXYNOS select EXYNOS_CHIPID Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29 13:58   ` (subset) " Krzysztof Kozlowski
2021-09-29 13:58     ` Krzysztof Kozlowski
2021-09-29 14:00   ` Krzysztof Kozlowski
2021-09-29 14:00     ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 02/12] timekeeping: add API for getting timekeeping_suspended Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29  3:42   ` John Stultz
2021-09-29  3:42     ` John Stultz
2021-09-29 20:01     ` Will McVicker
2021-09-29 20:01       ` Will McVicker
2021-09-29 20:46       ` John Stultz
2021-09-29 20:46         ` John Stultz
2021-09-30 18:31         ` Will McVicker
2021-09-30 18:31           ` Will McVicker
2021-09-28 23:56 ` Will McVicker [this message]
2021-09-28 23:56   ` [PATCH v2 03/12] clk: samsung: add support for CPU clocks Will McVicker
2021-09-28 23:56 ` [PATCH v2 04/12] clk: samsung: exynos5433: update apollo and atlas clock probing Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-28 23:56 ` [PATCH v2 05/12] clk: export __clk_lookup Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-10-08  4:31   ` Stephen Boyd
2021-10-08  4:31     ` Stephen Boyd
2021-09-28 23:56 ` [PATCH v2 06/12] clk: samsung: modularize exynos arm64 clk drivers Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-28 23:56 ` [PATCH v2 07/12] clk: samsung: set exynos arm64 clk driver as tristate Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29 13:09   ` Krzysztof Kozlowski
2021-09-29 13:09     ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 08/12] pinctrl: samsung: modularize the ARM and ARM64 pinctrls Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29  2:01   ` Chanho Park
2021-09-29  2:01     ` Chanho Park
2021-09-28 23:56 ` [PATCH v2 09/12] pinctrl: samsung: set PINCTRL_EXYNOS and PINCTRL_SAMSUNG as tristate Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-28 23:56 ` [PATCH v2 10/12] soc: samsung: pmu: modularize the Exynos ARMv8 PMU driver Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29 13:11   ` Krzysztof Kozlowski
2021-09-29 13:11     ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 11/12] soc: samsung: pm_domains: modularize EXYNOS_PM_DOMAINS Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29 13:36   ` Krzysztof Kozlowski
2021-09-29 13:36     ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 12/12] ARM: rtc: remove HAVE_S3C_RTC in favor of direct dependencies Will McVicker
2021-09-28 23:56   ` Will McVicker
2021-09-29 11:52   ` Alexandre Belloni
2021-09-29 11:52     ` Alexandre Belloni
2021-09-29 13:02 ` [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs Krzysztof Kozlowski
2021-09-29 13:02   ` Krzysztof Kozlowski
2021-09-29 19:48   ` Will McVicker
2021-09-29 19:48     ` Will McVicker
2021-09-30  6:14     ` Krzysztof Kozlowski
2021-09-30  6:14       ` Krzysztof Kozlowski
2021-09-30  9:01       ` Arnd Bergmann
2021-09-30  9:01         ` Arnd Bergmann
2021-09-30  9:30         ` Lee Jones
2021-09-30  9:30           ` Lee Jones
2021-09-30 10:33           ` Krzysztof Kozlowski
2021-09-30 10:33             ` Krzysztof Kozlowski
2021-09-30 12:34             ` Lee Jones
2021-09-30 12:34               ` Lee Jones
2021-09-30 12:38               ` Krzysztof Kozlowski
2021-09-30 12:38                 ` Krzysztof Kozlowski
2021-09-30 10:05         ` Geert Uytterhoeven
2021-09-30 10:05           ` Geert Uytterhoeven
2021-09-30  9:23       ` Lee Jones
2021-09-30  9:23         ` Lee Jones
2021-09-30 10:17         ` Geert Uytterhoeven
2021-09-30 10:17           ` Geert Uytterhoeven
2021-09-30 10:56           ` Lee Jones
2021-09-30 10:56             ` Lee Jones
2021-09-30 11:25             ` Geert Uytterhoeven
2021-09-30 11:25               ` Geert Uytterhoeven
2021-09-30 12:08               ` Lee Jones
2021-09-30 12:08                 ` Lee Jones
2021-09-30 16:09                 ` Geert Uytterhoeven
2021-09-30 16:09                   ` Geert Uytterhoeven
2021-09-30 10:52         ` Krzysztof Kozlowski
2021-09-30 10:52           ` Krzysztof Kozlowski
2021-09-30 12:32           ` Lee Jones
2021-09-30 12:32             ` Lee Jones
2021-09-30 11:01         ` Tomasz Figa
2021-09-30 11:01           ` Tomasz Figa
2021-09-30 11:27           ` Geert Uytterhoeven
2021-09-30 11:27             ` Geert Uytterhoeven
2021-09-30 11:51           ` Lee Jones
2021-09-30 11:51             ` Lee Jones
2021-09-30 12:10             ` Tomasz Figa
2021-09-30 12:10               ` Tomasz Figa
2021-09-30 12:15               ` Krzysztof Kozlowski
2021-09-30 12:15                 ` Krzysztof Kozlowski
2021-09-30 12:45               ` Lee Jones
2021-09-30 12:45                 ` Lee Jones
2021-10-01  4:01               ` Christoph Hellwig
2021-10-01  4:01                 ` Christoph Hellwig
2021-10-01  4:52                 ` Saravana Kannan
2021-10-01  4:52                   ` Saravana Kannan
2021-10-01  4:55                   ` Christoph Hellwig
2021-10-01  4:55                     ` Christoph Hellwig
2021-09-30 12:21         ` Krzysztof Kozlowski
2021-09-30 12:21           ` Krzysztof Kozlowski
2021-09-30 12:39           ` Lee Jones
2021-09-30 12:39             ` Lee Jones
2021-09-30 13:08             ` Krzysztof Kozlowski
2021-09-30 13:08               ` Krzysztof Kozlowski
2021-09-30 13:29               ` Lee Jones
2021-09-30 13:29                 ` Lee Jones
2021-09-30 16:12                 ` Geert Uytterhoeven
2021-09-30 16:12                   ` Geert Uytterhoeven
2021-09-30 16:21                   ` Lee Jones
2021-09-30 16:21                     ` Lee Jones
2021-09-30 16:26                     ` Geert Uytterhoeven
2021-09-30 16:26                       ` Geert Uytterhoeven
2021-09-30 18:02                       ` Will McVicker
2021-09-30 18:02                         ` Will McVicker
2021-10-01  4:04             ` Christoph Hellwig
2021-10-01  4:04               ` Christoph Hellwig
2021-10-01  4:52     ` Olof Johansson
2021-10-01  4:52       ` Olof Johansson
2021-10-01  5:23       ` Saravana Kannan
2021-10-01  5:23         ` Saravana Kannan
2021-10-01  5:35         ` Olof Johansson
2021-10-01  5:35           ` Olof Johansson
2021-10-01  5:59           ` Will McVicker
2021-10-01  5:59             ` Will McVicker
2021-10-01  8:01             ` Krzysztof Kozlowski
2021-10-01  8:01               ` Krzysztof Kozlowski
2021-10-01  6:02           ` Saravana Kannan
2021-10-01  6:02             ` Saravana Kannan
2021-10-01  6:27             ` Olof Johansson
2021-10-01  6:27               ` Olof Johansson
2021-10-01  6:30               ` Olof Johansson
2021-10-01  6:30                 ` Olof Johansson
2021-10-01 12:00             ` Arnd Bergmann
2021-10-01 12:00               ` Arnd Bergmann
2021-10-01 12:31               ` Lee Jones
2021-10-01 12:31                 ` Lee Jones
2021-10-01 15:43                 ` Olof Johansson
2021-10-01 15:43                   ` Olof Johansson
2021-10-01 11:38           ` Linus Walleij
2021-10-01 11:38             ` Linus Walleij
2021-10-01 11:59           ` Geert Uytterhoeven
2021-10-01 11:59             ` Geert Uytterhoeven
2021-10-01 15:59             ` Olof Johansson
2021-10-01 15:59               ` Olof Johansson
2021-10-01 16:51               ` Will McVicker
2021-10-01 16:51                 ` Will McVicker
2021-10-01 17:15                 ` Olof Johansson
2021-10-01 17:15                   ` Olof Johansson
2021-10-01 17:48                   ` Will McVicker
2021-10-01 17:48                     ` Will McVicker
2021-10-01  8:19         ` Geert Uytterhoeven
2021-10-01  8:19           ` Geert Uytterhoeven
2021-10-01  9:00           ` Arnd Bergmann
2021-10-01  9:00             ` Arnd Bergmann
2021-10-01 15:27             ` Olof Johansson
2021-10-01 15:27               ` Olof Johansson
2021-10-01 19:26               ` Saravana Kannan
2021-10-01 19:26                 ` Saravana Kannan
2021-10-02  1:47                 ` Tomasz Figa
2021-10-02  1:47                   ` Tomasz Figa
2021-10-02 21:03                 ` Olof Johansson
2021-10-02 21:03                   ` Olof Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210928235635.1348330-4-willmcvicker@google.com \
    --to=willmcvicker@google.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=catalin.marinas@arm.com \
    --cc=cw00.choi@samsung.com \
    --cc=geert@linux-m68k.org \
    --cc=john.stultz@linaro.org \
    --cc=kernel-team@android.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mturquette@baylibre.com \
    --cc=s.nawrocki@samsung.com \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tomasz.figa@gmail.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.