All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <mporter@ti.com>
To: Sekhar Nori <nsekhar@ti.com>
Cc: Linux DaVinci Kernel List
	<davinci-linux-open-source@linux.davincidsp.com>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Russell King <linux@arm.linux.org.uk>,
	Benoit Cousson <b-cousson@ti.com>, Arnd Bergmann <arnd@arndb.de>,
	Linux Documentation List <linux-doc@vger.kernel.org>,
	Tony Lindgren <tony@atomide.com>,
	Devicetree Discuss <devicetree-discuss@lists.ozlabs.org>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Linux MMC List <linux-mmc@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Vinod Koul <vinod.koul@intel.com>, Rob Landley <rob@landley.net>,
	Dan Williams <djbw@fb.com>,
	Linux SPI Devel List <spi-devel-general@lists.sourceforge.net>,
	Chris Ball <cjb@laptop.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC PATCH v3 04/16] ARM: edma: add DT and runtime PM support for AM33XX
Date: Thu, 10 Jan 2013 14:18:03 -0500	[thread overview]
Message-ID: <20130110191803.GN14660@beef> (raw)
In-Reply-To: <508D110B.8010908@ti.com>

On Sun, Oct 28, 2012 at 04:33:39PM +0530, Sekhar Nori wrote:
> On 10/18/2012 6:56 PM, Matt Porter wrote:
> > Adds support for parsing the TI EDMA DT data into the required
> > EDMA private API platform data.
> > 
> > Calls runtime PM API only in the DT case in order to unidle the
> > associated hwmods on AM33XX.
> 
> Runtime PM is supported on DaVinci now, so if that was the reason for
> this choice, then it doesn't need to be that way.

Thanks, fixed this for v4.

> > 
> > Signed-off-by: Matt Porter <mporter@ti.com>
> > ---
> >  arch/arm/common/edma.c                      |  255 +++++++++++++++++++++++++--
> >  arch/arm/mach-davinci/board-da830-evm.c     |    4 +-
> >  arch/arm/mach-davinci/board-da850-evm.c     |    8 +-
> >  arch/arm/mach-davinci/board-dm646x-evm.c    |    4 +-
> >  arch/arm/mach-davinci/board-omapl138-hawk.c |    8 +-
> >  arch/arm/mach-davinci/devices-da8xx.c       |    8 +-
> >  arch/arm/mach-davinci/devices-tnetv107x.c   |    4 +-
> >  arch/arm/mach-davinci/dm355.c               |    4 +-
> >  arch/arm/mach-davinci/dm365.c               |    4 +-
> >  arch/arm/mach-davinci/dm644x.c              |    4 +-
> >  arch/arm/mach-davinci/dm646x.c              |    4 +-
> >  include/linux/platform_data/edma.h          |    8 +-
> >  12 files changed, 272 insertions(+), 43 deletions(-)
> > 
> > diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c
> > index a3d189d..6d2a590 100644
> > --- a/arch/arm/common/edma.c
> > +++ b/arch/arm/common/edma.c
> > @@ -24,6 +24,13 @@
> >  #include <linux/platform_device.h>
> >  #include <linux/io.h>
> >  #include <linux/slab.h>
> > +#include <linux/edma.h>
> > +#include <linux/err.h>
> > +#include <linux/of_address.h>
> > +#include <linux/of_device.h>
> > +#include <linux/of_dma.h>
> > +#include <linux/of_irq.h>
> > +#include <linux/pm_runtime.h>
> >  
> >  #include <linux/platform_data/edma.h>
> >  
> > @@ -1366,31 +1373,237 @@ void edma_clear_event(unsigned channel)
> >  EXPORT_SYMBOL(edma_clear_event);
> >  
> >  /*-----------------------------------------------------------------------*/
> > +static int edma_of_read_u32_to_s8_array(const struct device_node *np,
> > +					 const char *propname, s8 *out_values,
> > +					 size_t sz)
> > +{
> > +	struct property *prop = of_find_property(np, propname, NULL);
> > +	const __be32 *val;
> > +
> > +	if (!prop)
> > +		return -EINVAL;
> > +	if (!prop->value)
> > +		return -ENODATA;
> > +	if ((sz * sizeof(u32)) > prop->length)
> > +		return -EOVERFLOW;
> > +
> > +	val = prop->value;
> > +
> > +	while (sz--)
> > +		*out_values++ = (s8)(be32_to_cpup(val++) & 0xff);
> > +
> > +	/* Terminate it */
> > +	*out_values++ = -1;
> > +	*out_values++ = -1;
> > +
> > +	return 0;
> > +}
> > +
> > +static int edma_of_read_u32_to_s16_array(const struct device_node *np,
> > +					 const char *propname, s16 *out_values,
> > +					 size_t sz)
> > +{
> > +	struct property *prop = of_find_property(np, propname, NULL);
> > +	const __be32 *val;
> > +
> > +	if (!prop)
> > +		return -EINVAL;
> > +	if (!prop->value)
> > +		return -ENODATA;
> > +	if ((sz * sizeof(u32)) > prop->length)
> > +		return -EOVERFLOW;
> > +
> > +	val = prop->value;
> > +
> > +	while (sz--)
> > +		*out_values++ = (s16)(be32_to_cpup(val++) & 0xffff);
> > +
> > +	/* Terminate it */
> > +	*out_values++ = -1;
> > +	*out_values++ = -1;
> > +
> > +	return 0;
> > +}
> 
> I think these helper functions will have some general use beyond EDMA
> and can be kept in drivers/of/base.c. Grant/Rob need to agree though.

I expect these to go away before too long as I expect to rewrite all of
these data structures when the private edma api code is folded into
drivers/dma/edma.c. When that happens, I would like to use some data
structures that lend themselves to the DT property value. Given that,
let's wait until there is another user to move these helpers to
drivers/of/.

> > diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
> > index 95b5e10..ffcbec1 100644
> > --- a/arch/arm/mach-davinci/board-da830-evm.c
> > +++ b/arch/arm/mach-davinci/board-da830-evm.c
> > @@ -512,7 +512,7 @@ static struct davinci_i2c_platform_data da830_evm_i2c_0_pdata = {
> >   * example: Timer, GPIO, UART events etc) on da830/omap-l137 EVM, hence
> >   * they are being reserved for codecs on the DSP side.
> >   */
> > -static const s16 da830_dma_rsv_chans[][2] = {
> > +static s16 da830_dma_rsv_chans[][2] = {
> 
> I wonder why you had to remove const here and in other places. You seem
> to be allocating new memory for DT case anyway. Its also not a good idea
> to modify the passed platform data.

Good catch. Although I was never modifying pdata itself, at one point
the DT parsing code was modifying pointers that were const and I removed
the const. I've since fixed that issue since we'd like them to be const
as you point out. As a result, I've removed all these changes from v4 so
all those files aren't touched.

-Matt

WARNING: multiple messages have this Message-ID (diff)
From: mporter@ti.com (Matt Porter)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v3 04/16] ARM: edma: add DT and runtime PM support for AM33XX
Date: Thu, 10 Jan 2013 14:18:03 -0500	[thread overview]
Message-ID: <20130110191803.GN14660@beef> (raw)
In-Reply-To: <508D110B.8010908@ti.com>

On Sun, Oct 28, 2012 at 04:33:39PM +0530, Sekhar Nori wrote:
> On 10/18/2012 6:56 PM, Matt Porter wrote:
> > Adds support for parsing the TI EDMA DT data into the required
> > EDMA private API platform data.
> > 
> > Calls runtime PM API only in the DT case in order to unidle the
> > associated hwmods on AM33XX.
> 
> Runtime PM is supported on DaVinci now, so if that was the reason for
> this choice, then it doesn't need to be that way.

Thanks, fixed this for v4.

> > 
> > Signed-off-by: Matt Porter <mporter@ti.com>
> > ---
> >  arch/arm/common/edma.c                      |  255 +++++++++++++++++++++++++--
> >  arch/arm/mach-davinci/board-da830-evm.c     |    4 +-
> >  arch/arm/mach-davinci/board-da850-evm.c     |    8 +-
> >  arch/arm/mach-davinci/board-dm646x-evm.c    |    4 +-
> >  arch/arm/mach-davinci/board-omapl138-hawk.c |    8 +-
> >  arch/arm/mach-davinci/devices-da8xx.c       |    8 +-
> >  arch/arm/mach-davinci/devices-tnetv107x.c   |    4 +-
> >  arch/arm/mach-davinci/dm355.c               |    4 +-
> >  arch/arm/mach-davinci/dm365.c               |    4 +-
> >  arch/arm/mach-davinci/dm644x.c              |    4 +-
> >  arch/arm/mach-davinci/dm646x.c              |    4 +-
> >  include/linux/platform_data/edma.h          |    8 +-
> >  12 files changed, 272 insertions(+), 43 deletions(-)
> > 
> > diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c
> > index a3d189d..6d2a590 100644
> > --- a/arch/arm/common/edma.c
> > +++ b/arch/arm/common/edma.c
> > @@ -24,6 +24,13 @@
> >  #include <linux/platform_device.h>
> >  #include <linux/io.h>
> >  #include <linux/slab.h>
> > +#include <linux/edma.h>
> > +#include <linux/err.h>
> > +#include <linux/of_address.h>
> > +#include <linux/of_device.h>
> > +#include <linux/of_dma.h>
> > +#include <linux/of_irq.h>
> > +#include <linux/pm_runtime.h>
> >  
> >  #include <linux/platform_data/edma.h>
> >  
> > @@ -1366,31 +1373,237 @@ void edma_clear_event(unsigned channel)
> >  EXPORT_SYMBOL(edma_clear_event);
> >  
> >  /*-----------------------------------------------------------------------*/
> > +static int edma_of_read_u32_to_s8_array(const struct device_node *np,
> > +					 const char *propname, s8 *out_values,
> > +					 size_t sz)
> > +{
> > +	struct property *prop = of_find_property(np, propname, NULL);
> > +	const __be32 *val;
> > +
> > +	if (!prop)
> > +		return -EINVAL;
> > +	if (!prop->value)
> > +		return -ENODATA;
> > +	if ((sz * sizeof(u32)) > prop->length)
> > +		return -EOVERFLOW;
> > +
> > +	val = prop->value;
> > +
> > +	while (sz--)
> > +		*out_values++ = (s8)(be32_to_cpup(val++) & 0xff);
> > +
> > +	/* Terminate it */
> > +	*out_values++ = -1;
> > +	*out_values++ = -1;
> > +
> > +	return 0;
> > +}
> > +
> > +static int edma_of_read_u32_to_s16_array(const struct device_node *np,
> > +					 const char *propname, s16 *out_values,
> > +					 size_t sz)
> > +{
> > +	struct property *prop = of_find_property(np, propname, NULL);
> > +	const __be32 *val;
> > +
> > +	if (!prop)
> > +		return -EINVAL;
> > +	if (!prop->value)
> > +		return -ENODATA;
> > +	if ((sz * sizeof(u32)) > prop->length)
> > +		return -EOVERFLOW;
> > +
> > +	val = prop->value;
> > +
> > +	while (sz--)
> > +		*out_values++ = (s16)(be32_to_cpup(val++) & 0xffff);
> > +
> > +	/* Terminate it */
> > +	*out_values++ = -1;
> > +	*out_values++ = -1;
> > +
> > +	return 0;
> > +}
> 
> I think these helper functions will have some general use beyond EDMA
> and can be kept in drivers/of/base.c. Grant/Rob need to agree though.

I expect these to go away before too long as I expect to rewrite all of
these data structures when the private edma api code is folded into
drivers/dma/edma.c. When that happens, I would like to use some data
structures that lend themselves to the DT property value. Given that,
let's wait until there is another user to move these helpers to
drivers/of/.

> > diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
> > index 95b5e10..ffcbec1 100644
> > --- a/arch/arm/mach-davinci/board-da830-evm.c
> > +++ b/arch/arm/mach-davinci/board-da830-evm.c
> > @@ -512,7 +512,7 @@ static struct davinci_i2c_platform_data da830_evm_i2c_0_pdata = {
> >   * example: Timer, GPIO, UART events etc) on da830/omap-l137 EVM, hence
> >   * they are being reserved for codecs on the DSP side.
> >   */
> > -static const s16 da830_dma_rsv_chans[][2] = {
> > +static s16 da830_dma_rsv_chans[][2] = {
> 
> I wonder why you had to remove const here and in other places. You seem
> to be allocating new memory for DT case anyway. Its also not a good idea
> to modify the passed platform data.

Good catch. Although I was never modifying pdata itself, at one point
the DT parsing code was modifying pointers that were const and I removed
the const. I've since fixed that issue since we'd like them to be const
as you point out. As a result, I've removed all these changes from v4 so
all those files aren't touched.

-Matt

  reply	other threads:[~2013-01-10 19:18 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-18 13:26 [RFC PATCH v3 00/16] DMA Engine support for AM33XX Matt Porter
2012-10-18 13:26 ` Matt Porter
2012-10-18 13:26 ` [RFC PATCH v3 01/16] dmaengine: edma: fix slave config dependency on direction Matt Porter
2012-10-18 13:26   ` Matt Porter
     [not found] ` <1350566815-409-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-18 13:26   ` [RFC PATCH v3 02/16] ARM: davinci: move private EDMA API to arm/common Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-3-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28  8:17       ` Sekhar Nori
2012-10-28  8:17         ` Sekhar Nori
2012-10-28  8:17         ` Sekhar Nori
2012-11-16 16:49         ` Matt Porter
2012-11-16 16:49           ` Matt Porter
2013-01-10 23:51         ` Matt Porter
2013-01-10 23:51           ` Matt Porter
2013-01-22 15:40           ` Sekhar Nori
2013-01-22 15:40             ` Sekhar Nori
2013-01-22 15:40             ` Sekhar Nori
     [not found]           ` <d631bf39a8b8474bae448d089497fe0e@DLEE74.ent.ti.com>
2013-01-23 21:00             ` Matt Porter
2013-01-23 21:00               ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 03/16] ARM: edma: remove unused transfer controller handlers Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 04/16] ARM: edma: add DT and runtime PM support for AM33XX Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-5-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:03       ` Sekhar Nori
2012-10-28 11:03         ` Sekhar Nori
2012-10-28 11:03         ` Sekhar Nori
2013-01-10 19:18         ` Matt Porter [this message]
2013-01-10 19:18           ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 05/16] ARM: edma: add AM33XX crossbar event support Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-6-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-26 12:53       ` Hebbar, Gururaja
2012-10-26 12:53         ` Hebbar, Gururaja
2012-10-26 12:53         ` Hebbar, Gururaja
2012-10-28 11:11       ` Sekhar Nori
2012-10-28 11:11         ` Sekhar Nori
2012-10-28 11:11         ` Sekhar Nori
2013-01-10 22:54         ` Matt Porter
2013-01-10 22:54           ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 06/16] dmaengine: edma: enable build for AM33XX Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 07/16] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 08/16] ARM: dts: add AM33XX EDMA support Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-9-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:16       ` Sekhar Nori
2012-10-28 11:16         ` Sekhar Nori
2012-10-28 11:16         ` Sekhar Nori
     [not found]         ` <508D1414.2000506-l0cyMroinI0@public.gmane.org>
2013-01-10 19:27           ` Matt Porter
2013-01-10 19:27             ` Matt Porter
2013-01-10 19:27             ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 09/16] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 10/16] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-12-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-29  8:18       ` Sekhar Nori
2012-10-29  8:18         ` Sekhar Nori
2012-10-29  8:18         ` Sekhar Nori
2013-01-10 19:30         ` Matt Porter
2013-01-10 19:30           ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 12/16] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 13/16] ARM: dts: add AM33XX MMC support Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-14-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-30  5:33       ` AnilKumar, Chimata
2012-10-30  5:33         ` AnilKumar, Chimata
2012-10-30  5:33         ` AnilKumar, Chimata
2013-01-10 20:26         ` Matt Porter
2013-01-10 20:26           ` Matt Porter
2013-01-03 10:03       ` Hebbar, Gururaja
2013-01-03 10:03         ` Hebbar, Gururaja
2013-01-03 10:03         ` Hebbar, Gururaja
2012-10-18 13:26   ` [RFC PATCH v3 14/16] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 15/16] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 16/16] ARM: dts: add AM33XX SPI support Matt Porter
2012-10-18 13:26     ` Matt Porter
2012-10-18 13:26     ` Matt Porter
     [not found]     ` <1350566815-409-17-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:31       ` Sekhar Nori
2012-10-28 11:31         ` Sekhar Nori
2012-10-28 11:31         ` Sekhar Nori
     [not found]         ` <508D1791.1040806-l0cyMroinI0@public.gmane.org>
2013-01-10 19:35           ` Matt Porter
2013-01-10 19:35             ` Matt Porter
2013-01-10 19:35             ` Matt Porter
2013-01-10 19:46             ` Nishanth Menon
2013-01-10 19:46               ` Nishanth Menon
2013-01-10 19:46               ` Nishanth Menon
2013-01-10 20:49               ` Matt Porter
2013-01-10 20:49                 ` Matt Porter
2013-01-10 20:49                 ` Matt Porter
2013-01-10 20:49                 ` Matt Porter
2013-01-10 20:49                 ` Nishanth Menon
2013-01-10 20:49                   ` Nishanth Menon
2013-01-10 20:49                   ` Nishanth Menon
2012-10-29  9:11       ` Philip, Avinash
2012-10-29  9:11         ` Philip, Avinash
2012-10-29  9:11         ` Philip, Avinash
2012-10-30  9:41     ` Philip, Avinash
2012-10-30  9:41       ` Philip, Avinash
     [not found]       ` <518397C60809E147AF5323E0420B992E3E9D597B-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-10-31 10:16         ` Benoit Cousson
2012-10-31 10:16           ` Benoit Cousson
2012-10-31 10:16           ` Benoit Cousson
     [not found]           ` <5090FA92.1080400-l0cyMroinI0@public.gmane.org>
2012-10-31 10:35             ` Benoit Cousson
2012-10-31 10:35               ` Benoit Cousson
2012-10-31 10:35               ` Benoit Cousson
2012-10-31 11:03               ` Philip, Avinash
2012-10-31 11:03                 ` Philip, Avinash
2012-10-31 11:03                 ` Philip, Avinash
2012-10-31 11:03                 ` Philip, Avinash
2012-10-19 10:26   ` [RFC PATCH v3 00/16] DMA Engine support for AM33XX Bedia, Vaibhav
2012-10-19 10:26     ` Bedia, Vaibhav
2012-10-19 10:26     ` Bedia, Vaibhav
2012-10-19 11:15     ` Matt Porter
2012-10-19 11:15       ` Matt Porter
2012-10-19 11:15       ` Matt Porter
2012-10-19 11:15       ` Matt Porter
2012-10-19 12:02       ` Bedia, Vaibhav
2012-10-19 12:02         ` Bedia, Vaibhav
2012-10-19 12:02         ` Bedia, Vaibhav
2012-10-19 12:02         ` Bedia, Vaibhav
2012-10-19 16:46         ` Matt Porter
2012-10-19 16:46           ` Matt Porter
2012-10-22  5:53           ` Bedia, Vaibhav
2012-10-22  5:53             ` Bedia, Vaibhav
2012-10-22  5:53             ` Bedia, Vaibhav
2012-10-22  5:53             ` Bedia, Vaibhav
2012-10-26  8:32   ` Russ Dill
2012-10-26  8:32     ` Russ Dill
2012-10-26  8:32     ` Russ Dill
2012-11-05  7:19 ` Hebbar, Gururaja
2012-11-05  7:19   ` Hebbar, Gururaja
2012-11-05  7:19   ` Hebbar, Gururaja
2012-11-05  7:19   ` Hebbar, Gururaja

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=20130110191803.GN14660@beef \
    --to=mporter@ti.com \
    --cc=arnd@arndb.de \
    --cc=b-cousson@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=cjb@laptop.org \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=djbw@fb.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nsekhar@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=spi-devel-general@lists.sourceforge.net \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /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.