All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arch@vger.kernel.org,
	dmaengine@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-input@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	netdev@vger.kernel.org, linux-gpio@vger.kernel.org,
	linux-rtc@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-sh@vger.kernel.org
Subject: [PATCH 07/22] cpufreq: remove the sh-cpufreq driver
Date: Fri, 13 Jan 2023 07:23:24 +0100	[thread overview]
Message-ID: <20230113062339.1909087-8-hch@lst.de> (raw)
In-Reply-To: <20230113062339.1909087-1-hch@lst.de>

Now that arch/sh is removed this driver is dead code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/cpufreq/Kconfig      |  14 ---
 drivers/cpufreq/Makefile     |   1 -
 drivers/cpufreq/sh-cpufreq.c | 175 -----------------------------------
 3 files changed, 190 deletions(-)
 delete mode 100644 drivers/cpufreq/sh-cpufreq.c

diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 2a84fc63371e2e..75a7a486308d8c 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -298,20 +298,6 @@ config SPARC_US2E_CPUFREQ
 	  If in doubt, say N.
 endif
 
-if SUPERH
-config SH_CPU_FREQ
-	tristate "SuperH CPU Frequency driver"
-	help
-	  This adds the cpufreq driver for SuperH. Any CPU that supports
-	  clock rate rounding through the clock framework can use this
-	  driver. While it will make the kernel slightly larger, this is
-	  harmless for CPUs that don't support rate rounding. The driver
-	  will also generate a notice in the boot log before disabling
-	  itself if the CPU in question is not capable of rate rounding.
-
-	  If unsure, say N.
-endif
-
 config QORIQ_CPUFREQ
 	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
 	depends on OF && COMMON_CLK
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 32a7029e25ed81..9c16e77e3e87c0 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -112,6 +112,5 @@ obj-$(CONFIG_BMIPS_CPUFREQ)		+= bmips-cpufreq.o
 obj-$(CONFIG_IA64_ACPI_CPUFREQ)		+= ia64-acpi-cpufreq.o
 obj-$(CONFIG_LOONGSON2_CPUFREQ)		+= loongson2_cpufreq.o
 obj-$(CONFIG_LOONGSON1_CPUFREQ)		+= loongson1-cpufreq.o
-obj-$(CONFIG_SH_CPU_FREQ)		+= sh-cpufreq.o
 obj-$(CONFIG_SPARC_US2E_CPUFREQ)	+= sparc-us2e-cpufreq.o
 obj-$(CONFIG_SPARC_US3_CPUFREQ)		+= sparc-us3-cpufreq.o
diff --git a/drivers/cpufreq/sh-cpufreq.c b/drivers/cpufreq/sh-cpufreq.c
deleted file mode 100644
index b8704232c27b24..00000000000000
--- a/drivers/cpufreq/sh-cpufreq.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * cpufreq driver for the SuperH processors.
- *
- * Copyright (C) 2002 - 2012 Paul Mundt
- * Copyright (C) 2002 M. R. Brown
- *
- * Clock framework bits from arch/avr32/mach-at32ap/cpufreq.c
- *
- *   Copyright (C) 2004-2007 Atmel Corporation
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#define pr_fmt(fmt) "cpufreq: " fmt
-
-#include <linux/types.h>
-#include <linux/cpufreq.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/err.h>
-#include <linux/cpumask.h>
-#include <linux/cpu.h>
-#include <linux/smp.h>
-#include <linux/clk.h>
-#include <linux/percpu.h>
-#include <linux/sh_clk.h>
-
-static DEFINE_PER_CPU(struct clk, sh_cpuclk);
-
-struct cpufreq_target {
-	struct cpufreq_policy	*policy;
-	unsigned int		freq;
-};
-
-static unsigned int sh_cpufreq_get(unsigned int cpu)
-{
-	return (clk_get_rate(&per_cpu(sh_cpuclk, cpu)) + 500) / 1000;
-}
-
-static long __sh_cpufreq_target(void *arg)
-{
-	struct cpufreq_target *target = arg;
-	struct cpufreq_policy *policy = target->policy;
-	int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_freqs freqs;
-	struct device *dev;
-	long freq;
-
-	if (smp_processor_id() != cpu)
-		return -ENODEV;
-
-	dev = get_cpu_device(cpu);
-
-	/* Convert target_freq from kHz to Hz */
-	freq = clk_round_rate(cpuclk, target->freq * 1000);
-
-	if (freq < (policy->min * 1000) || freq > (policy->max * 1000))
-		return -EINVAL;
-
-	dev_dbg(dev, "requested frequency %u Hz\n", target->freq * 1000);
-
-	freqs.old	= sh_cpufreq_get(cpu);
-	freqs.new	= (freq + 500) / 1000;
-	freqs.flags	= 0;
-
-	cpufreq_freq_transition_begin(target->policy, &freqs);
-	clk_set_rate(cpuclk, freq);
-	cpufreq_freq_transition_end(target->policy, &freqs, 0);
-
-	dev_dbg(dev, "set frequency %lu Hz\n", freq);
-	return 0;
-}
-
-/*
- * Here we notify other drivers of the proposed change and the final change.
- */
-static int sh_cpufreq_target(struct cpufreq_policy *policy,
-			     unsigned int target_freq,
-			     unsigned int relation)
-{
-	struct cpufreq_target data = { .policy = policy, .freq = target_freq };
-
-	return work_on_cpu(policy->cpu, __sh_cpufreq_target, &data);
-}
-
-static int sh_cpufreq_verify(struct cpufreq_policy_data *policy)
-{
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, policy->cpu);
-	struct cpufreq_frequency_table *freq_table;
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table)
-		return cpufreq_frequency_table_verify(policy, freq_table);
-
-	cpufreq_verify_within_cpu_limits(policy);
-
-	policy->min = (clk_round_rate(cpuclk, 1) + 500) / 1000;
-	policy->max = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-
-	cpufreq_verify_within_cpu_limits(policy);
-	return 0;
-}
-
-static int sh_cpufreq_cpu_init(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_frequency_table *freq_table;
-	struct device *dev;
-
-	dev = get_cpu_device(cpu);
-
-	cpuclk = clk_get(dev, "cpu_clk");
-	if (IS_ERR(cpuclk)) {
-		dev_err(dev, "couldn't get CPU clk\n");
-		return PTR_ERR(cpuclk);
-	}
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table) {
-		policy->freq_table = freq_table;
-	} else {
-		dev_notice(dev, "no frequency table found, falling back "
-			   "to rate rounding.\n");
-
-		policy->min = policy->cpuinfo.min_freq =
-			(clk_round_rate(cpuclk, 1) + 500) / 1000;
-		policy->max = policy->cpuinfo.max_freq =
-			(clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-	}
-
-	return 0;
-}
-
-static int sh_cpufreq_cpu_exit(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-
-	clk_put(cpuclk);
-
-	return 0;
-}
-
-static struct cpufreq_driver sh_cpufreq_driver = {
-	.name		= "sh",
-	.flags		= CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING,
-	.get		= sh_cpufreq_get,
-	.target		= sh_cpufreq_target,
-	.verify		= sh_cpufreq_verify,
-	.init		= sh_cpufreq_cpu_init,
-	.exit		= sh_cpufreq_cpu_exit,
-	.attr		= cpufreq_generic_attr,
-};
-
-static int __init sh_cpufreq_module_init(void)
-{
-	pr_notice("SuperH CPU frequency driver.\n");
-	return cpufreq_register_driver(&sh_cpufreq_driver);
-}
-
-static void __exit sh_cpufreq_module_exit(void)
-{
-	cpufreq_unregister_driver(&sh_cpufreq_driver);
-}
-
-module_init(sh_cpufreq_module_init);
-module_exit(sh_cpufreq_module_exit);
-
-MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>");
-MODULE_DESCRIPTION("cpufreq driver for SuperH");
-MODULE_LICENSE("GPL");
-- 
2.39.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arch@vger.kernel.org,
	dmaengine@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-input@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	netdev@vger.kernel.org, linux-gpio@vger.kernel.org,
	linux-rtc@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-sh@vger.kernel.org
Subject: [PATCH 07/22] cpufreq: remove the sh-cpufreq driver
Date: Fri, 13 Jan 2023 07:23:24 +0100	[thread overview]
Message-ID: <20230113062339.1909087-8-hch@lst.de> (raw)
In-Reply-To: <20230113062339.1909087-1-hch@lst.de>

Now that arch/sh is removed this driver is dead code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/cpufreq/Kconfig      |  14 ---
 drivers/cpufreq/Makefile     |   1 -
 drivers/cpufreq/sh-cpufreq.c | 175 -----------------------------------
 3 files changed, 190 deletions(-)
 delete mode 100644 drivers/cpufreq/sh-cpufreq.c

diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 2a84fc63371e2e..75a7a486308d8c 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -298,20 +298,6 @@ config SPARC_US2E_CPUFREQ
 	  If in doubt, say N.
 endif
 
-if SUPERH
-config SH_CPU_FREQ
-	tristate "SuperH CPU Frequency driver"
-	help
-	  This adds the cpufreq driver for SuperH. Any CPU that supports
-	  clock rate rounding through the clock framework can use this
-	  driver. While it will make the kernel slightly larger, this is
-	  harmless for CPUs that don't support rate rounding. The driver
-	  will also generate a notice in the boot log before disabling
-	  itself if the CPU in question is not capable of rate rounding.
-
-	  If unsure, say N.
-endif
-
 config QORIQ_CPUFREQ
 	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
 	depends on OF && COMMON_CLK
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 32a7029e25ed81..9c16e77e3e87c0 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -112,6 +112,5 @@ obj-$(CONFIG_BMIPS_CPUFREQ)		+= bmips-cpufreq.o
 obj-$(CONFIG_IA64_ACPI_CPUFREQ)		+= ia64-acpi-cpufreq.o
 obj-$(CONFIG_LOONGSON2_CPUFREQ)		+= loongson2_cpufreq.o
 obj-$(CONFIG_LOONGSON1_CPUFREQ)		+= loongson1-cpufreq.o
-obj-$(CONFIG_SH_CPU_FREQ)		+= sh-cpufreq.o
 obj-$(CONFIG_SPARC_US2E_CPUFREQ)	+= sparc-us2e-cpufreq.o
 obj-$(CONFIG_SPARC_US3_CPUFREQ)		+= sparc-us3-cpufreq.o
diff --git a/drivers/cpufreq/sh-cpufreq.c b/drivers/cpufreq/sh-cpufreq.c
deleted file mode 100644
index b8704232c27b24..00000000000000
--- a/drivers/cpufreq/sh-cpufreq.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * cpufreq driver for the SuperH processors.
- *
- * Copyright (C) 2002 - 2012 Paul Mundt
- * Copyright (C) 2002 M. R. Brown
- *
- * Clock framework bits from arch/avr32/mach-at32ap/cpufreq.c
- *
- *   Copyright (C) 2004-2007 Atmel Corporation
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#define pr_fmt(fmt) "cpufreq: " fmt
-
-#include <linux/types.h>
-#include <linux/cpufreq.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/err.h>
-#include <linux/cpumask.h>
-#include <linux/cpu.h>
-#include <linux/smp.h>
-#include <linux/clk.h>
-#include <linux/percpu.h>
-#include <linux/sh_clk.h>
-
-static DEFINE_PER_CPU(struct clk, sh_cpuclk);
-
-struct cpufreq_target {
-	struct cpufreq_policy	*policy;
-	unsigned int		freq;
-};
-
-static unsigned int sh_cpufreq_get(unsigned int cpu)
-{
-	return (clk_get_rate(&per_cpu(sh_cpuclk, cpu)) + 500) / 1000;
-}
-
-static long __sh_cpufreq_target(void *arg)
-{
-	struct cpufreq_target *target = arg;
-	struct cpufreq_policy *policy = target->policy;
-	int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_freqs freqs;
-	struct device *dev;
-	long freq;
-
-	if (smp_processor_id() != cpu)
-		return -ENODEV;
-
-	dev = get_cpu_device(cpu);
-
-	/* Convert target_freq from kHz to Hz */
-	freq = clk_round_rate(cpuclk, target->freq * 1000);
-
-	if (freq < (policy->min * 1000) || freq > (policy->max * 1000))
-		return -EINVAL;
-
-	dev_dbg(dev, "requested frequency %u Hz\n", target->freq * 1000);
-
-	freqs.old	= sh_cpufreq_get(cpu);
-	freqs.new	= (freq + 500) / 1000;
-	freqs.flags	= 0;
-
-	cpufreq_freq_transition_begin(target->policy, &freqs);
-	clk_set_rate(cpuclk, freq);
-	cpufreq_freq_transition_end(target->policy, &freqs, 0);
-
-	dev_dbg(dev, "set frequency %lu Hz\n", freq);
-	return 0;
-}
-
-/*
- * Here we notify other drivers of the proposed change and the final change.
- */
-static int sh_cpufreq_target(struct cpufreq_policy *policy,
-			     unsigned int target_freq,
-			     unsigned int relation)
-{
-	struct cpufreq_target data = { .policy = policy, .freq = target_freq };
-
-	return work_on_cpu(policy->cpu, __sh_cpufreq_target, &data);
-}
-
-static int sh_cpufreq_verify(struct cpufreq_policy_data *policy)
-{
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, policy->cpu);
-	struct cpufreq_frequency_table *freq_table;
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table)
-		return cpufreq_frequency_table_verify(policy, freq_table);
-
-	cpufreq_verify_within_cpu_limits(policy);
-
-	policy->min = (clk_round_rate(cpuclk, 1) + 500) / 1000;
-	policy->max = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-
-	cpufreq_verify_within_cpu_limits(policy);
-	return 0;
-}
-
-static int sh_cpufreq_cpu_init(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_frequency_table *freq_table;
-	struct device *dev;
-
-	dev = get_cpu_device(cpu);
-
-	cpuclk = clk_get(dev, "cpu_clk");
-	if (IS_ERR(cpuclk)) {
-		dev_err(dev, "couldn't get CPU clk\n");
-		return PTR_ERR(cpuclk);
-	}
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table) {
-		policy->freq_table = freq_table;
-	} else {
-		dev_notice(dev, "no frequency table found, falling back "
-			   "to rate rounding.\n");
-
-		policy->min = policy->cpuinfo.min_freq =
-			(clk_round_rate(cpuclk, 1) + 500) / 1000;
-		policy->max = policy->cpuinfo.max_freq =
-			(clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-	}
-
-	return 0;
-}
-
-static int sh_cpufreq_cpu_exit(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-
-	clk_put(cpuclk);
-
-	return 0;
-}
-
-static struct cpufreq_driver sh_cpufreq_driver = {
-	.name		= "sh",
-	.flags		= CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING,
-	.get		= sh_cpufreq_get,
-	.target		= sh_cpufreq_target,
-	.verify		= sh_cpufreq_verify,
-	.init		= sh_cpufreq_cpu_init,
-	.exit		= sh_cpufreq_cpu_exit,
-	.attr		= cpufreq_generic_attr,
-};
-
-static int __init sh_cpufreq_module_init(void)
-{
-	pr_notice("SuperH CPU frequency driver.\n");
-	return cpufreq_register_driver(&sh_cpufreq_driver);
-}
-
-static void __exit sh_cpufreq_module_exit(void)
-{
-	cpufreq_unregister_driver(&sh_cpufreq_driver);
-}
-
-module_init(sh_cpufreq_module_init);
-module_exit(sh_cpufreq_module_exit);
-
-MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>");
-MODULE_DESCRIPTION("cpufreq driver for SuperH");
-MODULE_LICENSE("GPL");
-- 
2.39.0


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-fbdev@vger.kernel.org,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	linux-sh@vger.kernel.org, alsa-devel@alsa-project.org,
	dri-devel@lists.freedesktop.org, linux-mtd@lists.infradead.org,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-arch@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-input@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-gpio@vger.kernel.org, netdev@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-mmc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	linux-i2c@vger.kernel.org, dmaengine@vger.kernel.org,
	linux-rtc@vger.kernel.org
Subject: [PATCH 07/22] cpufreq: remove the sh-cpufreq driver
Date: Fri, 13 Jan 2023 07:23:24 +0100	[thread overview]
Message-ID: <20230113062339.1909087-8-hch@lst.de> (raw)
In-Reply-To: <20230113062339.1909087-1-hch@lst.de>

Now that arch/sh is removed this driver is dead code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/cpufreq/Kconfig      |  14 ---
 drivers/cpufreq/Makefile     |   1 -
 drivers/cpufreq/sh-cpufreq.c | 175 -----------------------------------
 3 files changed, 190 deletions(-)
 delete mode 100644 drivers/cpufreq/sh-cpufreq.c

diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 2a84fc63371e2e..75a7a486308d8c 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -298,20 +298,6 @@ config SPARC_US2E_CPUFREQ
 	  If in doubt, say N.
 endif
 
-if SUPERH
-config SH_CPU_FREQ
-	tristate "SuperH CPU Frequency driver"
-	help
-	  This adds the cpufreq driver for SuperH. Any CPU that supports
-	  clock rate rounding through the clock framework can use this
-	  driver. While it will make the kernel slightly larger, this is
-	  harmless for CPUs that don't support rate rounding. The driver
-	  will also generate a notice in the boot log before disabling
-	  itself if the CPU in question is not capable of rate rounding.
-
-	  If unsure, say N.
-endif
-
 config QORIQ_CPUFREQ
 	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
 	depends on OF && COMMON_CLK
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 32a7029e25ed81..9c16e77e3e87c0 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -112,6 +112,5 @@ obj-$(CONFIG_BMIPS_CPUFREQ)		+= bmips-cpufreq.o
 obj-$(CONFIG_IA64_ACPI_CPUFREQ)		+= ia64-acpi-cpufreq.o
 obj-$(CONFIG_LOONGSON2_CPUFREQ)		+= loongson2_cpufreq.o
 obj-$(CONFIG_LOONGSON1_CPUFREQ)		+= loongson1-cpufreq.o
-obj-$(CONFIG_SH_CPU_FREQ)		+= sh-cpufreq.o
 obj-$(CONFIG_SPARC_US2E_CPUFREQ)	+= sparc-us2e-cpufreq.o
 obj-$(CONFIG_SPARC_US3_CPUFREQ)		+= sparc-us3-cpufreq.o
diff --git a/drivers/cpufreq/sh-cpufreq.c b/drivers/cpufreq/sh-cpufreq.c
deleted file mode 100644
index b8704232c27b24..00000000000000
--- a/drivers/cpufreq/sh-cpufreq.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * cpufreq driver for the SuperH processors.
- *
- * Copyright (C) 2002 - 2012 Paul Mundt
- * Copyright (C) 2002 M. R. Brown
- *
- * Clock framework bits from arch/avr32/mach-at32ap/cpufreq.c
- *
- *   Copyright (C) 2004-2007 Atmel Corporation
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#define pr_fmt(fmt) "cpufreq: " fmt
-
-#include <linux/types.h>
-#include <linux/cpufreq.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/err.h>
-#include <linux/cpumask.h>
-#include <linux/cpu.h>
-#include <linux/smp.h>
-#include <linux/clk.h>
-#include <linux/percpu.h>
-#include <linux/sh_clk.h>
-
-static DEFINE_PER_CPU(struct clk, sh_cpuclk);
-
-struct cpufreq_target {
-	struct cpufreq_policy	*policy;
-	unsigned int		freq;
-};
-
-static unsigned int sh_cpufreq_get(unsigned int cpu)
-{
-	return (clk_get_rate(&per_cpu(sh_cpuclk, cpu)) + 500) / 1000;
-}
-
-static long __sh_cpufreq_target(void *arg)
-{
-	struct cpufreq_target *target = arg;
-	struct cpufreq_policy *policy = target->policy;
-	int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_freqs freqs;
-	struct device *dev;
-	long freq;
-
-	if (smp_processor_id() != cpu)
-		return -ENODEV;
-
-	dev = get_cpu_device(cpu);
-
-	/* Convert target_freq from kHz to Hz */
-	freq = clk_round_rate(cpuclk, target->freq * 1000);
-
-	if (freq < (policy->min * 1000) || freq > (policy->max * 1000))
-		return -EINVAL;
-
-	dev_dbg(dev, "requested frequency %u Hz\n", target->freq * 1000);
-
-	freqs.old	= sh_cpufreq_get(cpu);
-	freqs.new	= (freq + 500) / 1000;
-	freqs.flags	= 0;
-
-	cpufreq_freq_transition_begin(target->policy, &freqs);
-	clk_set_rate(cpuclk, freq);
-	cpufreq_freq_transition_end(target->policy, &freqs, 0);
-
-	dev_dbg(dev, "set frequency %lu Hz\n", freq);
-	return 0;
-}
-
-/*
- * Here we notify other drivers of the proposed change and the final change.
- */
-static int sh_cpufreq_target(struct cpufreq_policy *policy,
-			     unsigned int target_freq,
-			     unsigned int relation)
-{
-	struct cpufreq_target data = { .policy = policy, .freq = target_freq };
-
-	return work_on_cpu(policy->cpu, __sh_cpufreq_target, &data);
-}
-
-static int sh_cpufreq_verify(struct cpufreq_policy_data *policy)
-{
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, policy->cpu);
-	struct cpufreq_frequency_table *freq_table;
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table)
-		return cpufreq_frequency_table_verify(policy, freq_table);
-
-	cpufreq_verify_within_cpu_limits(policy);
-
-	policy->min = (clk_round_rate(cpuclk, 1) + 500) / 1000;
-	policy->max = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-
-	cpufreq_verify_within_cpu_limits(policy);
-	return 0;
-}
-
-static int sh_cpufreq_cpu_init(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-	struct cpufreq_frequency_table *freq_table;
-	struct device *dev;
-
-	dev = get_cpu_device(cpu);
-
-	cpuclk = clk_get(dev, "cpu_clk");
-	if (IS_ERR(cpuclk)) {
-		dev_err(dev, "couldn't get CPU clk\n");
-		return PTR_ERR(cpuclk);
-	}
-
-	freq_table = cpuclk->nr_freqs ? cpuclk->freq_table : NULL;
-	if (freq_table) {
-		policy->freq_table = freq_table;
-	} else {
-		dev_notice(dev, "no frequency table found, falling back "
-			   "to rate rounding.\n");
-
-		policy->min = policy->cpuinfo.min_freq =
-			(clk_round_rate(cpuclk, 1) + 500) / 1000;
-		policy->max = policy->cpuinfo.max_freq =
-			(clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
-	}
-
-	return 0;
-}
-
-static int sh_cpufreq_cpu_exit(struct cpufreq_policy *policy)
-{
-	unsigned int cpu = policy->cpu;
-	struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu);
-
-	clk_put(cpuclk);
-
-	return 0;
-}
-
-static struct cpufreq_driver sh_cpufreq_driver = {
-	.name		= "sh",
-	.flags		= CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING,
-	.get		= sh_cpufreq_get,
-	.target		= sh_cpufreq_target,
-	.verify		= sh_cpufreq_verify,
-	.init		= sh_cpufreq_cpu_init,
-	.exit		= sh_cpufreq_cpu_exit,
-	.attr		= cpufreq_generic_attr,
-};
-
-static int __init sh_cpufreq_module_init(void)
-{
-	pr_notice("SuperH CPU frequency driver.\n");
-	return cpufreq_register_driver(&sh_cpufreq_driver);
-}
-
-static void __exit sh_cpufreq_module_exit(void)
-{
-	cpufreq_unregister_driver(&sh_cpufreq_driver);
-}
-
-module_init(sh_cpufreq_module_init);
-module_exit(sh_cpufreq_module_exit);
-
-MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>");
-MODULE_DESCRIPTION("cpufreq driver for SuperH");
-MODULE_LICENSE("GPL");
-- 
2.39.0


  parent reply	other threads:[~2023-01-13  6:25 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-13  6:23 remove arch/sh Christoph Hellwig
2023-01-13  6:23 ` Christoph Hellwig
2023-01-13  6:23 ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 01/22] gpu/drm: remove the shmobile drm driver Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  7:46   ` Laurent Pinchart
2023-01-13  7:46     ` Laurent Pinchart
2023-01-13  7:46     ` Laurent Pinchart
2023-01-13  7:55     ` Laurent Pinchart
2023-01-13  7:55       ` Laurent Pinchart
2023-01-13  7:55       ` Laurent Pinchart
2023-01-13  8:19       ` Geert Uytterhoeven
2023-01-13  8:19         ` Geert Uytterhoeven
2023-01-13  8:19         ` Geert Uytterhoeven
2023-02-03  7:15     ` Christoph Hellwig
2023-02-03  7:15       ` Christoph Hellwig
2023-02-03  7:15       ` Christoph Hellwig
2023-02-03 13:49       ` Laurent Pinchart
2023-02-03 13:49         ` Laurent Pinchart
2023-02-03 13:49         ` Laurent Pinchart
2023-02-03 13:53         ` Geert Uytterhoeven
2023-02-03 13:53           ` Geert Uytterhoeven
2023-02-03 13:53           ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 02/22] usb: remove the dead USB_OHCI_SH option Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  7:12   ` Greg Kroah-Hartman
2023-01-13  7:12     ` Greg Kroah-Hartman
2023-01-13  7:12     ` Greg Kroah-Hartman
2023-01-13  7:14     ` Christoph Hellwig
2023-01-13  7:14       ` Christoph Hellwig
2023-01-13  7:14       ` Christoph Hellwig
2023-01-15  0:55     ` Rob Landley
2023-01-15  0:55       ` Rob Landley
2023-01-15  0:55       ` Rob Landley
2023-02-03  7:15     ` Christoph Hellwig
2023-02-03  7:15       ` Christoph Hellwig
2023-02-03  7:15       ` Christoph Hellwig
2023-02-03  7:25       ` Greg Kroah-Hartman
2023-02-03  7:25         ` Greg Kroah-Hartman
2023-02-03  7:25         ` Greg Kroah-Hartman
2023-01-13  8:59   ` Geert Uytterhoeven
2023-01-13  8:59     ` Geert Uytterhoeven
2023-01-13  8:59     ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 03/22] remove arch/sh Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 04/22] sound: remove sound/sh Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13 16:18   ` Takashi Iwai
2023-01-13 16:18     ` Takashi Iwai
2023-01-13 16:18     ` Takashi Iwai
2023-01-13  6:23 ` [PATCH 05/22] sound: remove sh-specific sounds/soc/sh drivers Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-17 22:52   ` Kuninori Morimoto
2023-01-17 22:52     ` Kuninori Morimoto
2023-01-17 22:52     ` Kuninori Morimoto
2023-01-13  6:23 ` [PATCH 06/22] watchdog: remove the shwdt driver Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13 14:00   ` Guenter Roeck
2023-01-13 14:00     ` Guenter Roeck
2023-01-13 14:00     ` Guenter Roeck
2023-01-13  6:23 ` Christoph Hellwig [this message]
2023-01-13  6:23   ` [PATCH 07/22] cpufreq: remove the sh-cpufreq driver Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 08/22] dmaengine: remove the shdmac driver Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 09/22] i2c: remove i2c-sh7760 Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 10/22] input: remove sh_keysc Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:28   ` Geert Uytterhoeven
2023-01-13  8:28     ` Geert Uytterhoeven
2023-01-13  8:28     ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 11/22] mtd/nand: remove sh_flctl Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:30   ` Geert Uytterhoeven
2023-01-13  8:30     ` Geert Uytterhoeven
2023-01-13  8:30     ` Geert Uytterhoeven
2023-01-13 10:06     ` Arnd Bergmann
2023-01-13 10:06       ` Arnd Bergmann
2023-01-13 10:06       ` Arnd Bergmann
2023-01-13  6:23 ` [PATCH 12/22] net/ethernet/8390: remove stnic Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 13/22] pinctrl: remove renesas sh controllers Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:45   ` Geert Uytterhoeven
2023-01-13  8:45     ` Geert Uytterhoeven
2023-01-13  8:45     ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 14/22] remove drivers/sh Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 15/22] spi: remove spi-sh Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 16/22] spi: remove spi-sh-sci Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:50   ` Geert Uytterhoeven
2023-01-13  8:50     ` Geert Uytterhoeven
2023-01-13  8:50     ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 17/22] spi: remove spi-jcore Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 18/22] usb: remove ehci-sh Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 19/22] fbdev: remove sh7760fb Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:53   ` Geert Uytterhoeven
2023-01-13  8:53     ` Geert Uytterhoeven
2023-01-13  8:53     ` Geert Uytterhoeven
2023-01-13  6:23 ` [PATCH 20/22] media: remove sh_vou Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:01   ` Laurent Pinchart
2023-01-13  8:01     ` Laurent Pinchart
2023-01-13  8:01     ` Laurent Pinchart
2023-01-13  9:05     ` Hans Verkuil
2023-01-13  9:05       ` Hans Verkuil
2023-01-13  9:05       ` Hans Verkuil
2023-01-13  6:23 ` [PATCH 21/22] drivers: platform: remove is_sh_early_platform_device Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23 ` [PATCH 22/22] drivers: platform: remove early_platform_cleanup Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  6:23   ` Christoph Hellwig
2023-01-13  8:09 ` remove arch/sh John Paul Adrian Glaubitz
2023-01-13  8:09   ` John Paul Adrian Glaubitz
2023-01-13  8:09   ` John Paul Adrian Glaubitz
2023-01-13  8:26   ` Geert Uytterhoeven
2023-01-13  8:26     ` Geert Uytterhoeven
2023-01-13  8:26     ` Geert Uytterhoeven
2023-01-13  8:52     ` John Paul Adrian Glaubitz
2023-01-13  8:52       ` John Paul Adrian Glaubitz
2023-01-13  8:52       ` John Paul Adrian Glaubitz
2023-01-13 19:11       ` Rob Landley
2023-01-13 19:11         ` Rob Landley
2023-01-13 19:11         ` Rob Landley
2023-01-13 19:05         ` John Paul Adrian Glaubitz
2023-01-13 19:05           ` John Paul Adrian Glaubitz
2023-01-13 19:05           ` John Paul Adrian Glaubitz
2023-01-13 23:32           ` Rob Landley
2023-01-13 23:32             ` Rob Landley
2023-01-13 23:32             ` Rob Landley
2023-01-16  7:14     ` Christoph Hellwig
2023-01-16  7:14       ` Christoph Hellwig
2023-01-16  7:14       ` Christoph Hellwig
2023-01-16  7:13   ` Christoph Hellwig
2023-01-16  7:13     ` Christoph Hellwig
2023-01-16  7:13     ` Christoph Hellwig
2023-01-16  8:52     ` John Paul Adrian Glaubitz
2023-01-16  8:52       ` John Paul Adrian Glaubitz
2023-01-16  8:52       ` John Paul Adrian Glaubitz
2023-02-03  7:14       ` Christoph Hellwig
2023-02-03  7:14         ` Christoph Hellwig
2023-02-03  7:14         ` Christoph Hellwig
2023-02-03  8:24         ` John Paul Adrian Glaubitz
2023-02-03  8:24           ` John Paul Adrian Glaubitz
2023-02-03  8:24           ` John Paul Adrian Glaubitz
2023-02-03  8:30           ` Christoph Hellwig
2023-02-03  8:30             ` Christoph Hellwig
2023-02-03  8:30             ` Christoph Hellwig
2023-02-03 10:29             ` John Paul Adrian Glaubitz
2023-02-03 10:29               ` John Paul Adrian Glaubitz
2023-02-03 10:29               ` John Paul Adrian Glaubitz
2023-02-03 10:33               ` Geert Uytterhoeven
2023-02-03 10:33                 ` Geert Uytterhoeven
2023-02-03 10:33                 ` Geert Uytterhoeven
2023-02-03 10:36                 ` John Paul Adrian Glaubitz
2023-02-03 10:36                   ` John Paul Adrian Glaubitz
2023-02-03 10:36                   ` John Paul Adrian Glaubitz
2023-02-03 15:57                 ` Randy Dunlap
2023-02-03 15:57                   ` Randy Dunlap
2023-02-03 15:57                   ` Randy Dunlap
2023-02-03 16:04                   ` Geert Uytterhoeven
2023-02-03 16:04                     ` Geert Uytterhoeven
2023-02-03 16:04                     ` Geert Uytterhoeven
2023-02-09  3:06                   ` Rob Landley
2023-02-09  3:06                     ` Rob Landley
2023-02-09  3:06                     ` Rob Landley
2023-02-05 23:08             ` Stephen Rothwell
2023-02-05 23:08               ` Stephen Rothwell
2023-02-05 23:08               ` Stephen Rothwell
2023-02-05 23:20               ` John Paul Adrian Glaubitz
2023-02-05 23:20                 ` John Paul Adrian Glaubitz
2023-02-05 23:20                 ` John Paul Adrian Glaubitz
2023-02-13 16:30               ` John Paul Adrian Glaubitz
2023-02-13 16:30                 ` John Paul Adrian Glaubitz
2023-02-13 16:30                 ` John Paul Adrian Glaubitz
2023-02-13 16:45                 ` Vanessa Page
2023-02-07  9:06         ` John Paul Adrian Glaubitz
2023-02-07  9:06           ` John Paul Adrian Glaubitz
2023-02-07  9:06           ` John Paul Adrian Glaubitz
2023-02-08  1:31           ` Randy Dunlap
2023-02-08  1:31             ` Randy Dunlap
2023-02-08  1:31             ` Randy Dunlap
2023-02-08 12:13             ` John Paul Adrian Glaubitz
2023-02-08 12:13               ` John Paul Adrian Glaubitz
2023-02-08 12:13               ` John Paul Adrian Glaubitz
2023-02-08 12:24               ` Huacai Chen
2023-02-08 12:24                 ` Huacai Chen
2023-02-08 12:24                 ` Huacai Chen
2023-02-08 12:37                 ` John Paul Adrian Glaubitz
2023-02-08 12:37                   ` John Paul Adrian Glaubitz
2023-02-08 12:37                   ` John Paul Adrian Glaubitz
2023-02-08 14:12                   ` Wolfram Sang
2023-02-08 14:12                     ` Wolfram Sang
2023-02-08 14:12                     ` Wolfram Sang
2023-02-09  3:09               ` Rob Landley
2023-02-09  3:09                 ` Rob Landley
2023-02-09  3:09                 ` Rob Landley
2023-02-09  9:15                 ` John Paul Adrian Glaubitz
2023-02-09  9:15                   ` John Paul Adrian Glaubitz
2023-02-09  9:15                   ` John Paul Adrian Glaubitz
2023-02-12 10:13                   ` Vanessa Page
2023-02-12 10:13                     ` Vanessa Page
2023-02-12 10:18                       ` Vanessa Page
2023-02-12 10:21                         ` Vanessa Page
2023-02-12 10:51                           ` Vanessa Page
2023-02-12 10:53                             ` Vanessa Page
2023-02-12 10:54                             ` Vanessa Page
2023-02-13  5:46                               ` Vanessa Page
2023-02-13  5:47                                 ` Vanessa Page
2023-02-13  5:47                                   ` Vanessa Page
2023-02-13  5:51                                     ` Vanessa Page
2023-02-13  5:53                                       ` Vanessa Page
2023-02-13  5:53                                         ` Vanessa Page
2023-01-17 19:13     ` Rob Landley
2023-01-17 19:13       ` Rob Landley
2023-01-17 19:13       ` Rob Landley
2023-01-17 20:26       ` Geert Uytterhoeven
2023-01-17 20:26         ` Geert Uytterhoeven
2023-01-17 20:26         ` Geert Uytterhoeven
2023-01-17 23:05         ` Guenter Roeck
2023-01-17 23:05           ` Guenter Roeck
2023-01-17 23:05           ` Guenter Roeck
2023-01-18  0:10           ` D. Jeff Dionne
2023-01-18  0:10             ` D. Jeff Dionne
2023-01-18  0:10             ` D. Jeff Dionne
2023-01-18  5:03         ` Rob Landley
2023-01-18  5:03           ` Rob Landley
2023-01-18  5:03           ` Rob Landley
2023-01-18  7:46           ` Geert Uytterhoeven
2023-01-18  7:46             ` Geert Uytterhoeven
2023-01-18  7:46             ` Geert Uytterhoeven
2023-01-18 11:14             ` Rob Landley
2023-01-18 11:14               ` Rob Landley
2023-01-18 11:14               ` Rob Landley
2023-01-13 15:18 ` Rob Herring
2023-01-13 15:18   ` Rob Herring
2023-01-13 15:18   ` Rob Herring

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=20230113062339.1909087-8-hch@lst.de \
    --to=hch@lst.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnd@arndb.de \
    --cc=dalias@libc.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /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.