All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Armstrong <narmstrong@baylibre.com>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH 08/17] clk: Add PLX Technology OXNAS Standard Clocks
Date: Mon, 7 Mar 2016 12:24:44 +0100	[thread overview]
Message-ID: <56DD64FC.8040800@baylibre.com> (raw)
In-Reply-To: <20160304022532.GE24999@codeaurora.org>

On 03/04/2016 03:25 AM, Stephen Boyd wrote:
> On 03/03, Neil Armstrong wrote:
>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
>> index eca8e01..b75ef5c 100644
>> --- a/drivers/clk/Kconfig
>> +++ b/drivers/clk/Kconfig
>> @@ -192,6 +192,12 @@ config COMMON_CLK_PXA
>>  	---help---
>>  	  Sypport for the Marvell PXA SoC.
>>  
>> +config COMMON_CLK_OXNAS
>> +	def_bool COMMON_CLK
>> +	select MFD_SYSCON
> 
> So this is always built if I have the common clk framework
> enabled? Not good.
Fixed.

>> +#include <linux/clk.h>
>> +#include <linux/clkdev.h>
> 
> Are either of these includes used?
> 
>> +#include <linux/clk-provider.h>
>> +#include <linux/of.h>
>> +#include <linux/delay.h>
> 
> Is this include used?
> 
>> +#include <linux/stringify.h>
>> +#include <linux/reset.h>
> 
> Is this include used?
> 
>> +#include <linux/io.h>
> 
> Is this include used?
> 
>> +#include <linux/regmap.h>
>> +#include <linux/mfd/syscon.h>
> 
> #include <linux/kernel.h> for container_of?

Fixed an cleaned up, thanks.


>> +static int std_clk_enable(struct clk_hw *hw)
>> +{
>> +	struct clk_std *std = to_stdclk(hw);
>> +
>> +	regmap_write(std->regmap, CLK_SET_REGOFFSET, BIT(std->bit));
> 
> I hope the regmap is fast_io? Otherwise this is scheduling while
> atomic.
Yes, but due to the nature of the registers, I can't use the clk-regmap module.

>> +
>> +	return 0;
>> +}
>> +
>> +static void std_clk_disable(struct clk_hw *hw)
>> +{
>> +	struct clk_std *std = to_stdclk(hw);
>> +
>> +	regmap_write(std->regmap, CLK_CLR_REGOFFSET, BIT(std->bit));
>> +}
>> +
>> +static struct clk_ops std_clk_ops = {
> 
> const?
> 
>> +	.enable = std_clk_enable,
>> +	.disable = std_clk_disable,
>> +	.is_enabled = std_clk_is_enabled,
>> +};
>> +
> [..]
>> +
>> +static struct clk_hw *std_clk_hw_tbl[] = {
> 
> const?
> 
>> +	&clk_leon.hw,
>> +	&clk_dma_sgdma.hw,
>> +	&clk_cipher.hw,
>> +	&clk_sata.hw,
>> +	&clk_audio.hw,
>> +	&clk_usbmph.hw,
>> +	&clk_etha.hw,
>> +	&clk_pciea.hw,
>> +	&clk_nand.hw,
>> +};
>> +
>> +static struct clk *std_clk_tbl[ARRAY_SIZE(std_clk_hw_tbl)];
>> +
>> +static struct clk_onecell_data std_clk_data;
> 
> These are pretty generic. Perhaps oxnas_clk_data and
> oxnas_clk_hw_tbl?
> 
>> +
>> +static void __init oxnas_init_stdclk(struct device_node *np)
>> +{
>> +	int i;
>> +	struct regmap *regmap = syscon_node_to_regmap(of_get_parent(np));
>> +
>> +	if (!regmap)
>> +		panic("failed to have parent regmap\n");
>> +
>> +	for (i = 0; i < ARRAY_SIZE(std_clk_hw_tbl); i++) {
>> +		struct clk_std *std = container_of(std_clk_hw_tbl[i],
>> +						   struct clk_std, hw);
>> +
>> +		if (WARN_ON(!std))
>> +			return;
>> +		std->regmap = regmap;
>> +
>> +		std_clk_tbl[i] = clk_register(NULL, std_clk_hw_tbl[i]);
>> +		if (WARN_ON(IS_ERR(std_clk_tbl[i])))
>> +			return;
>> +	}
>> +
>> +	std_clk_data.clks = std_clk_tbl;
>> +	std_clk_data.clk_num = ARRAY_SIZE(std_clk_tbl);
>> +
>> +	of_clk_add_provider(np, of_clk_src_onecell_get, &std_clk_data);
>> +}
>> +CLK_OF_DECLARE(oxnas_pllstd, "plxtech,ox810se-stdclk", oxnas_init_stdclk);
> 
> Can this be a platform driver instead?
> 
> Is there a binding for this compatible?

I refactored the driver to be platform driver and cleaned up the structure to be const and allocate the clocks at probe.

The bindings was in a separate patch, I forgot to CC linux-clk :
http://lkml.kernel.org/r/1457005210-18485-10-git-send-email-narmstrong@baylibre.com

In the meantime I added the indices description in the bindings.

Neil



WARNING: multiple messages have this Message-ID (diff)
From: narmstrong@baylibre.com (Neil Armstrong)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/17] clk: Add PLX Technology OXNAS Standard Clocks
Date: Mon, 7 Mar 2016 12:24:44 +0100	[thread overview]
Message-ID: <56DD64FC.8040800@baylibre.com> (raw)
In-Reply-To: <20160304022532.GE24999@codeaurora.org>

On 03/04/2016 03:25 AM, Stephen Boyd wrote:
> On 03/03, Neil Armstrong wrote:
>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
>> index eca8e01..b75ef5c 100644
>> --- a/drivers/clk/Kconfig
>> +++ b/drivers/clk/Kconfig
>> @@ -192,6 +192,12 @@ config COMMON_CLK_PXA
>>  	---help---
>>  	  Sypport for the Marvell PXA SoC.
>>  
>> +config COMMON_CLK_OXNAS
>> +	def_bool COMMON_CLK
>> +	select MFD_SYSCON
> 
> So this is always built if I have the common clk framework
> enabled? Not good.
Fixed.

>> +#include <linux/clk.h>
>> +#include <linux/clkdev.h>
> 
> Are either of these includes used?
> 
>> +#include <linux/clk-provider.h>
>> +#include <linux/of.h>
>> +#include <linux/delay.h>
> 
> Is this include used?
> 
>> +#include <linux/stringify.h>
>> +#include <linux/reset.h>
> 
> Is this include used?
> 
>> +#include <linux/io.h>
> 
> Is this include used?
> 
>> +#include <linux/regmap.h>
>> +#include <linux/mfd/syscon.h>
> 
> #include <linux/kernel.h> for container_of?

Fixed an cleaned up, thanks.


>> +static int std_clk_enable(struct clk_hw *hw)
>> +{
>> +	struct clk_std *std = to_stdclk(hw);
>> +
>> +	regmap_write(std->regmap, CLK_SET_REGOFFSET, BIT(std->bit));
> 
> I hope the regmap is fast_io? Otherwise this is scheduling while
> atomic.
Yes, but due to the nature of the registers, I can't use the clk-regmap module.

>> +
>> +	return 0;
>> +}
>> +
>> +static void std_clk_disable(struct clk_hw *hw)
>> +{
>> +	struct clk_std *std = to_stdclk(hw);
>> +
>> +	regmap_write(std->regmap, CLK_CLR_REGOFFSET, BIT(std->bit));
>> +}
>> +
>> +static struct clk_ops std_clk_ops = {
> 
> const?
> 
>> +	.enable = std_clk_enable,
>> +	.disable = std_clk_disable,
>> +	.is_enabled = std_clk_is_enabled,
>> +};
>> +
> [..]
>> +
>> +static struct clk_hw *std_clk_hw_tbl[] = {
> 
> const?
> 
>> +	&clk_leon.hw,
>> +	&clk_dma_sgdma.hw,
>> +	&clk_cipher.hw,
>> +	&clk_sata.hw,
>> +	&clk_audio.hw,
>> +	&clk_usbmph.hw,
>> +	&clk_etha.hw,
>> +	&clk_pciea.hw,
>> +	&clk_nand.hw,
>> +};
>> +
>> +static struct clk *std_clk_tbl[ARRAY_SIZE(std_clk_hw_tbl)];
>> +
>> +static struct clk_onecell_data std_clk_data;
> 
> These are pretty generic. Perhaps oxnas_clk_data and
> oxnas_clk_hw_tbl?
> 
>> +
>> +static void __init oxnas_init_stdclk(struct device_node *np)
>> +{
>> +	int i;
>> +	struct regmap *regmap = syscon_node_to_regmap(of_get_parent(np));
>> +
>> +	if (!regmap)
>> +		panic("failed to have parent regmap\n");
>> +
>> +	for (i = 0; i < ARRAY_SIZE(std_clk_hw_tbl); i++) {
>> +		struct clk_std *std = container_of(std_clk_hw_tbl[i],
>> +						   struct clk_std, hw);
>> +
>> +		if (WARN_ON(!std))
>> +			return;
>> +		std->regmap = regmap;
>> +
>> +		std_clk_tbl[i] = clk_register(NULL, std_clk_hw_tbl[i]);
>> +		if (WARN_ON(IS_ERR(std_clk_tbl[i])))
>> +			return;
>> +	}
>> +
>> +	std_clk_data.clks = std_clk_tbl;
>> +	std_clk_data.clk_num = ARRAY_SIZE(std_clk_tbl);
>> +
>> +	of_clk_add_provider(np, of_clk_src_onecell_get, &std_clk_data);
>> +}
>> +CLK_OF_DECLARE(oxnas_pllstd, "plxtech,ox810se-stdclk", oxnas_init_stdclk);
> 
> Can this be a platform driver instead?
> 
> Is there a binding for this compatible?

I refactored the driver to be platform driver and cleaned up the structure to be const and allocate the clocks at probe.

The bindings was in a separate patch, I forgot to CC linux-clk :
http://lkml.kernel.org/r/1457005210-18485-10-git-send-email-narmstrong at baylibre.com

In the meantime I added the indices description in the bindings.

Neil

  reply	other threads:[~2016-03-07 11:24 UTC|newest]

Thread overview: 201+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03 11:39 [PATCH 00/17] Add Initial support for PLX Technology OX810SE Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 01/17] dt-bindings: vendor-prefixes: Add PLX Technology Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 15:02   ` Philipp Zabel
2016-03-03 15:02     ` Philipp Zabel
2016-03-05  4:29     ` Rob Herring
2016-03-05  4:29       ` Rob Herring
2016-03-07  9:55       ` Philipp Zabel
2016-03-07  9:55         ` Philipp Zabel
2016-03-03 11:39 ` [PATCH 02/17] irqchip: Add PLX Technology RPS IRQ Controller Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 13:01   ` Marc Zyngier
2016-03-03 13:01     ` Marc Zyngier
2016-03-03 13:08     ` Arnd Bergmann
2016-03-03 13:08       ` Arnd Bergmann
2016-03-03 13:36       ` Russell King - ARM Linux
2016-03-03 13:36         ` Russell King - ARM Linux
2016-03-03 17:32         ` Arnd Bergmann
2016-03-03 17:32           ` Arnd Bergmann
2016-03-03 15:32   ` Ma Haijun
2016-03-03 15:32     ` Ma Haijun
2016-03-03 16:56     ` Neil Armstrong
2016-03-03 16:56       ` Neil Armstrong
2016-03-03 17:17       ` Marc Zyngier
2016-03-03 17:17         ` Marc Zyngier
2016-03-04 11:10         ` Neil Armstrong
2016-03-04 11:10           ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 03/17] dt-bindings: Add PLX Technology RPS IRQ Controller bindings Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 14:53   ` Andrew Lunn
2016-03-03 14:53     ` Andrew Lunn
2016-03-03 14:57     ` Neil Armstrong
2016-03-03 14:57       ` Neil Armstrong
2016-03-03 15:06       ` Andrew Lunn
2016-03-03 15:06         ` Andrew Lunn
2016-03-03 15:06         ` Andrew Lunn
2016-03-03 11:39 ` [PATCH 04/17] clocksource: Add PLX Technology RPS Timer Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-17 16:13   ` Daniel Lezcano
2016-03-17 16:13     ` Daniel Lezcano
2016-03-03 11:39 ` [PATCH 05/17] dt-bindings: Add PLX Technology RPS Timer bindings Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 06/17] reset: Add PLX Technology Reset Controller driver Neil Armstrong
2016-03-03 11:39   ` Neil Armstrong
2016-03-03 14:18   ` Philipp Zabel
2016-03-03 14:18     ` Philipp Zabel
2016-03-03 14:29     ` Neil Armstrong
2016-03-03 14:29       ` Neil Armstrong
2016-03-03 15:00       ` Philipp Zabel
2016-03-03 15:00         ` Philipp Zabel
2016-03-03 11:40 ` [PATCH 07/17] dt-bindings: Add PLX Technology Reset Controller bindings Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 14:21   ` Philipp Zabel
2016-03-03 14:21     ` Philipp Zabel
2016-03-03 14:24     ` Neil Armstrong
2016-03-03 14:24       ` Neil Armstrong
2016-03-03 14:24       ` Neil Armstrong
2016-03-03 14:31       ` Philipp Zabel
2016-03-03 14:31         ` Philipp Zabel
2016-03-03 11:40 ` [PATCH 08/17] clk: Add PLX Technology OXNAS Standard Clocks Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-04  2:25   ` Stephen Boyd
2016-03-04  2:25     ` Stephen Boyd
2016-03-07 11:24     ` Neil Armstrong [this message]
2016-03-07 11:24       ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 09/17] dt-bindings: Add PLX Technology OXNAS Standard Clocks bindings Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 10/17] pinctrl: Add PLX Technology OXNAS pinctrl and gpio driver Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-15 14:56   ` Linus Walleij
2016-03-15 14:56     ` Linus Walleij
2016-03-16 15:00     ` Neil Armstrong
2016-03-16 15:00       ` Neil Armstrong
2016-03-17 14:49       ` Linus Walleij
2016-03-17 14:49         ` Linus Walleij
2016-03-03 11:40 ` [PATCH 11/17] dt-bindings: Add PLX Technology OXNAS pinctrl and gpio bindings Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-15 14:30   ` Linus Walleij
2016-03-15 14:30     ` Linus Walleij
2016-03-15 14:30     ` Linus Walleij
2016-03-03 11:40 ` [PATCH 12/17] arm: Add new mach-oxnas Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:49   ` Russell King - ARM Linux
2016-03-03 11:49     ` Russell King - ARM Linux
2016-03-03 12:37     ` Neil Armstrong
2016-03-03 12:37       ` Neil Armstrong
2016-03-03 12:56   ` Arnd Bergmann
2016-03-03 12:56     ` Arnd Bergmann
2016-03-03 13:29     ` Russell King - ARM Linux
2016-03-03 13:29       ` Russell King - ARM Linux
2016-03-03 13:40       ` Arnd Bergmann
2016-03-03 13:40         ` Arnd Bergmann
2016-03-03 11:40 ` [PATCH 13/17] arm: Add build support for mach-oxnas Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 14/17] arm: boot: dts: Add PLX Technology OX810SE dtsi Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 12:15   ` Arnd Bergmann
2016-03-03 12:15     ` Arnd Bergmann
2016-03-03 13:39     ` Neil Armstrong
2016-03-03 13:39       ` Neil Armstrong
2016-03-03 13:39       ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 15/17] dt-bindings: Add OXNAS bindings Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 16/17] dt-bindings: Add Western Digital to vendor prefixes Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-05  4:29   ` Rob Herring
2016-03-05  4:29     ` Rob Herring
2016-03-03 11:40 ` [PATCH 17/17] arm: boot: dts: Add Western Digital My Book World Edition device tree Neil Armstrong
2016-03-03 11:40   ` Neil Armstrong
2016-03-03 12:23 ` [PATCH 00/17] Add Initial support for PLX Technology OX810SE Arnd Bergmann
2016-03-03 12:23   ` Arnd Bergmann
2016-03-03 12:36   ` Neil Armstrong
2016-03-03 12:36     ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 00/18] " Neil Armstrong
2016-03-09 10:24   ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 01/18] clocksource: sp804: Add support for non-32bit width counter Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 16:40     ` Daniel Lezcano
2016-03-17 16:40       ` Daniel Lezcano
2016-03-09 10:24   ` [PATCH v2 02/18] dt-bindings: timer: sp804: add timer-width property Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:09     ` Rob Herring
2016-03-17 17:09       ` Rob Herring
2016-03-17 17:09       ` Rob Herring
2016-03-17 18:06       ` Robin Murphy
2016-03-17 18:06         ` Robin Murphy
2016-03-17 19:00         ` Rob Herring
2016-03-17 19:00           ` Rob Herring
2016-03-17 19:21           ` Robin Murphy
2016-03-17 19:21             ` Robin Murphy
2016-03-17 19:21             ` Robin Murphy
2016-03-22  9:21             ` Neil Armstrong
2016-03-22  9:21               ` Neil Armstrong
2016-03-22 12:02               ` Robin Murphy
2016-03-22 12:02                 ` Robin Murphy
2016-03-22 14:29                 ` Neil Armstrong
2016-03-22 14:29                   ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 03/18] irqchip: versatile-fpga: add new arm, rps-irq compatible Neil Armstrong
2016-03-09 10:24     ` [PATCH v2 03/18] irqchip: versatile-fpga: add new arm,rps-irq compatible Neil Armstrong
2016-03-15 11:47     ` Marc Zyngier
2016-03-15 11:47       ` Marc Zyngier
2016-03-09 10:24   ` [PATCH v2 04/18] dt-bindings: irq: arm, versatile-fpga: add arm, rps-irq compatible string Neil Armstrong
2016-03-09 10:24     ` [PATCH v2 04/18] dt-bindings: irq: arm,versatile-fpga: add arm,rps-irq " Neil Armstrong
2016-03-17 17:15     ` Rob Herring
2016-03-17 17:15       ` Rob Herring
2016-03-17 17:15       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 05/18] dt-bindings: vendor-prefixes: Add PLX Technology Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:15     ` Rob Herring
2016-03-17 17:15       ` Rob Herring
2016-03-17 17:15       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 06/18] dt-bindings: Add Oxford Semiconductors to vendor prefixes Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:16     ` Rob Herring
2016-03-17 17:16       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 07/18] reset: Add PLX Technology Reset Controller driver Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 08/18] dt-bindings: Add PLX Technology Reset Controller bindings Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:18     ` Rob Herring
2016-03-17 17:18       ` Rob Herring
2016-03-17 17:18       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 09/18] clk: Add PLX Technology OXNAS Standard Clocks Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 10/18] dt-bindings: Add PLX Technology OXNAS Standard Clocks bindings Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:19     ` Rob Herring
2016-03-17 17:19       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 11/18] pinctrl: Add PLX Technology OXNAS pinctrl and gpio driver Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-10 14:43     ` kbuild test robot
2016-03-10 14:43       ` kbuild test robot
2016-03-10 14:43       ` kbuild test robot
2016-03-09 10:24   ` [PATCH v2 12/18] dt-bindings: Add PLX Technology OXNAS pinctrl and gpio bindings Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:25     ` Rob Herring
2016-03-17 17:25       ` Rob Herring
2016-03-09 10:24   ` [PATCH v2 13/18] arm: Add new mach-oxnas Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 14/18] arm: Add build support for mach-oxnas Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 15/18] arm: boot: dts: Add PLX Technology OX810SE dtsi Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 16/18] dt-bindings: Add OXNAS bindings Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-17 17:27     ` Rob Herring
2016-03-17 17:27       ` Rob Herring
2016-03-17 17:27       ` Rob Herring
2016-03-23  8:37       ` Neil Armstrong
2016-03-23  8:37         ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 17/18] dt-bindings: Add Western Digital to vendor prefixes Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24   ` [PATCH v2 18/18] arm: boot: dts: Add Western Digital My Book World Edition device tree Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong
2016-03-09 10:24     ` Neil Armstrong

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=56DD64FC.8040800@baylibre.com \
    --to=narmstrong@baylibre.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sboyd@codeaurora.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.