All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Felipe Balbi <balbi@ti.com>, Tony Lindgren <tony@atomide.com>
Cc: Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel Mailing List
	<linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	tglx@linutronix.de, John Stultz <john.stultz@linaro.org>
Subject: Re: [RFC/PATCH 09/11] clocksource: add TI 32.768 Hz counter driver
Date: Thu, 1 Oct 2015 23:59:52 +0200	[thread overview]
Message-ID: <560DACD8.8000301@linaro.org> (raw)
In-Reply-To: <1443559446-26969-10-git-send-email-balbi@ti.com>


Hi Felipe,


On 09/29/2015 10:44 PM, Felipe Balbi wrote:
> Introduce a new clocksource driver for Texas
> Instruments 32.768 Hz device which is available
> on most OMAP-like devices.
>
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---

[ ... ]

> +config CLKSRC_TI_32K
> +	bool "Texas Instruments 32.768 Hz Clocksource"
> +	depends on OF && ARCH_OMAP2PLUS
> +	select CLKSRC_OF
> +	help
> +	  This option enables support for Texas Instruments 32.768 Hz clocksource
> +	  available on many OMAP-like platforms.
> +

It is the omap's Kconfig which should select the timer, not the user to 
enable the timer.

It should be something like:

config CLKSRC_TI_32K
	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
	select CLKSRC_OF if OF
	help
	  This option enables support for Texas Instruments 32.768 Hz
	  clocksource available on many OMAP-like platforms.

And in the omap's Kconfig:
	select CLKSRC_TI_32K


>   config CLKSRC_STM32
>   	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
>   	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
> diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
> index 5c00863c3e33..749abc3665b3 100644
> --- a/drivers/clocksource/Makefile
> +++ b/drivers/clocksource/Makefile
> @@ -45,6 +45,7 @@ obj-$(CONFIG_VF_PIT_TIMER)	+= vf_pit_timer.o
>   obj-$(CONFIG_CLKSRC_QCOM)	+= qcom-timer.o
>   obj-$(CONFIG_MTK_TIMER)		+= mtk_timer.o
>   obj-$(CONFIG_CLKSRC_PISTACHIO)	+= time-pistachio.o
> +obj-$(CONFIG_CLKSRC_TI_32K)	+= timer-ti-32k.o
>
>   obj-$(CONFIG_ARM_ARCH_TIMER)		+= arm_arch_timer.o
>   obj-$(CONFIG_ARM_GLOBAL_TIMER)		+= arm_global_timer.o
> diff --git a/drivers/clocksource/timer-ti-32k.c b/drivers/clocksource/timer-ti-32k.c
> new file mode 100644
> index 000000000000..10ccce2eb645
> --- /dev/null
> +++ b/drivers/clocksource/timer-ti-32k.c
> @@ -0,0 +1,121 @@
> +/**
> + * timer-ti-32k.c - OMAP2 32k Timer Support
> + *
> + * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com
> + *
> + * This program is free software: you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2  of
> + * the License as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/time.h>
> +#include <linux/interrupt.h>
> +#include <linux/err.h>
> +#include <linux/irq.h>
> +#include <linux/sched_clock.h>
> +#include <linux/clocksource.h>
> +#include <linux/slab.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
> +#include <linux/of_irq.h>
> +
> +#include <asm/mach/time.h>

Can you check all these headers are needed ? I don't think interrupt.h, 
or slab.h or irq.h, etc ... are needed.

A few nits below:

> +/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */

I am not sure this comment gives some interesting indication.

> +#define OMAP2_32KSYNCNT_REV_OFF		0x0
> +#define OMAP2_32KSYNCNT_REV_SCHEME	(0x3 << 30)
> +#define OMAP2_32KSYNCNT_CR_OFF_LOW	0x10
> +#define OMAP2_32KSYNCNT_CR_OFF_HIGH	0x30
> +
> +/*
> + * 32KHz clocksource ... always available, on pretty most chips except
> + * OMAP 730 and 1510.  Other timers could be used as clocksources, with
> + * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
> + * but systems won't necessarily want to spend resources that way.
> + */
> +static void __iomem *sync32k_cnt_reg;
> +
> +/**
> + * omap_read_persistent_clock64 -  Return time from a persistent clock.
> + *
> + * Reads the time from a source which isn't disabled during PM, the
> + * 32k sync timer.  Convert the cycles elapsed since last read into
> + * nsecs and adds to a monotonically increasing timespec64.
> + */

This comment above should be moved right before the function it 
describes and in order to comply with the kernel-doc format the 
parameters must be documented also:
...
* @ts:	....
...


> +static struct timespec64 persistent_ts;
> +static cycles_t cycles;
> +static unsigned int persistent_mult, persistent_shift;
> +
> +static u64 notrace omap_32k_read_sched_clock(void)
> +{
> +	return readl_relaxed(sync32k_cnt_reg);
> +}
> +
> +static void omap_read_persistent_clock64(struct timespec64 *ts)
> +{
> +	unsigned long long nsecs;
> +	cycles_t last_cycles;
> +
> +	last_cycles = cycles;
> +	cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;

This test is pointless because 'sync32k_cnt_reg' is always different 
from zero regarding the init routine, no ?

> +
> +	nsecs = clocksource_cyc2ns(cycles - last_cycles,
> +					persistent_mult, persistent_shift);
> +
> +	timespec64_add_ns(&persistent_ts, nsecs);
> +
> +	*ts = persistent_ts;
> +}
> +
> +static void __init ti_32k_timer_init(struct device_node *np)
> +{
> +	void __iomem *vbase;
> +	int ret;
> +
> +	vbase = of_iomap(np, 0);
> +	if (!vbase) {
> +		pr_err("Can't ioremap 32k timer base\n");
> +		return;
> +	}
> +
> +	/*
> +	 * 32k sync Counter IP register offsets vary between the
> +	 * highlander version and the legacy ones.
> +	 * The 'SCHEME' bits(30-31) of the revision register is used
> +	 * to identify the version.
> +	 */

Please fix comment length.

> +	if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
> +						OMAP2_32KSYNCNT_REV_SCHEME)
> +		sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
> +	else
> +		sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
> +
> +	/*
> +	 * 120000 rough estimate from the calculations in
> +	 * __clocksource_update_freq_scale.
> +	 */

Fix comment length also.

> +	clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
> +			32768, NSEC_PER_SEC, 120000);
> +
> +	ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
> +				250, 32, clocksource_mmio_readl_up);
> +	if (ret) {
> +		pr_err("32k_counter: can't register clocksource\n");
> +		return;
> +	}
> +
> +	sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
> +	register_persistent_clock(NULL, omap_read_persistent_clock64);

I will let John Stultz to have a look at this part because I have doubt 
regarding the usage of the persistent clock.


   -- Daniel


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC/PATCH 09/11] clocksource: add TI 32.768 Hz counter driver
Date: Thu, 1 Oct 2015 23:59:52 +0200	[thread overview]
Message-ID: <560DACD8.8000301@linaro.org> (raw)
In-Reply-To: <1443559446-26969-10-git-send-email-balbi@ti.com>


Hi Felipe,


On 09/29/2015 10:44 PM, Felipe Balbi wrote:
> Introduce a new clocksource driver for Texas
> Instruments 32.768 Hz device which is available
> on most OMAP-like devices.
>
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---

[ ... ]

> +config CLKSRC_TI_32K
> +	bool "Texas Instruments 32.768 Hz Clocksource"
> +	depends on OF && ARCH_OMAP2PLUS
> +	select CLKSRC_OF
> +	help
> +	  This option enables support for Texas Instruments 32.768 Hz clocksource
> +	  available on many OMAP-like platforms.
> +

It is the omap's Kconfig which should select the timer, not the user to 
enable the timer.

It should be something like:

config CLKSRC_TI_32K
	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
	select CLKSRC_OF if OF
	help
	  This option enables support for Texas Instruments 32.768 Hz
	  clocksource available on many OMAP-like platforms.

And in the omap's Kconfig:
	select CLKSRC_TI_32K


>   config CLKSRC_STM32
>   	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
>   	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
> diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
> index 5c00863c3e33..749abc3665b3 100644
> --- a/drivers/clocksource/Makefile
> +++ b/drivers/clocksource/Makefile
> @@ -45,6 +45,7 @@ obj-$(CONFIG_VF_PIT_TIMER)	+= vf_pit_timer.o
>   obj-$(CONFIG_CLKSRC_QCOM)	+= qcom-timer.o
>   obj-$(CONFIG_MTK_TIMER)		+= mtk_timer.o
>   obj-$(CONFIG_CLKSRC_PISTACHIO)	+= time-pistachio.o
> +obj-$(CONFIG_CLKSRC_TI_32K)	+= timer-ti-32k.o
>
>   obj-$(CONFIG_ARM_ARCH_TIMER)		+= arm_arch_timer.o
>   obj-$(CONFIG_ARM_GLOBAL_TIMER)		+= arm_global_timer.o
> diff --git a/drivers/clocksource/timer-ti-32k.c b/drivers/clocksource/timer-ti-32k.c
> new file mode 100644
> index 000000000000..10ccce2eb645
> --- /dev/null
> +++ b/drivers/clocksource/timer-ti-32k.c
> @@ -0,0 +1,121 @@
> +/**
> + * timer-ti-32k.c - OMAP2 32k Timer Support
> + *
> + * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com
> + *
> + * This program is free software: you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2  of
> + * the License as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/time.h>
> +#include <linux/interrupt.h>
> +#include <linux/err.h>
> +#include <linux/irq.h>
> +#include <linux/sched_clock.h>
> +#include <linux/clocksource.h>
> +#include <linux/slab.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
> +#include <linux/of_irq.h>
> +
> +#include <asm/mach/time.h>

Can you check all these headers are needed ? I don't think interrupt.h, 
or slab.h or irq.h, etc ... are needed.

A few nits below:

> +/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */

I am not sure this comment gives some interesting indication.

> +#define OMAP2_32KSYNCNT_REV_OFF		0x0
> +#define OMAP2_32KSYNCNT_REV_SCHEME	(0x3 << 30)
> +#define OMAP2_32KSYNCNT_CR_OFF_LOW	0x10
> +#define OMAP2_32KSYNCNT_CR_OFF_HIGH	0x30
> +
> +/*
> + * 32KHz clocksource ... always available, on pretty most chips except
> + * OMAP 730 and 1510.  Other timers could be used as clocksources, with
> + * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
> + * but systems won't necessarily want to spend resources that way.
> + */
> +static void __iomem *sync32k_cnt_reg;
> +
> +/**
> + * omap_read_persistent_clock64 -  Return time from a persistent clock.
> + *
> + * Reads the time from a source which isn't disabled during PM, the
> + * 32k sync timer.  Convert the cycles elapsed since last read into
> + * nsecs and adds to a monotonically increasing timespec64.
> + */

This comment above should be moved right before the function it 
describes and in order to comply with the kernel-doc format the 
parameters must be documented also:
...
* @ts:	....
...


> +static struct timespec64 persistent_ts;
> +static cycles_t cycles;
> +static unsigned int persistent_mult, persistent_shift;
> +
> +static u64 notrace omap_32k_read_sched_clock(void)
> +{
> +	return readl_relaxed(sync32k_cnt_reg);
> +}
> +
> +static void omap_read_persistent_clock64(struct timespec64 *ts)
> +{
> +	unsigned long long nsecs;
> +	cycles_t last_cycles;
> +
> +	last_cycles = cycles;
> +	cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;

This test is pointless because 'sync32k_cnt_reg' is always different 
from zero regarding the init routine, no ?

> +
> +	nsecs = clocksource_cyc2ns(cycles - last_cycles,
> +					persistent_mult, persistent_shift);
> +
> +	timespec64_add_ns(&persistent_ts, nsecs);
> +
> +	*ts = persistent_ts;
> +}
> +
> +static void __init ti_32k_timer_init(struct device_node *np)
> +{
> +	void __iomem *vbase;
> +	int ret;
> +
> +	vbase = of_iomap(np, 0);
> +	if (!vbase) {
> +		pr_err("Can't ioremap 32k timer base\n");
> +		return;
> +	}
> +
> +	/*
> +	 * 32k sync Counter IP register offsets vary between the
> +	 * highlander version and the legacy ones.
> +	 * The 'SCHEME' bits(30-31) of the revision register is used
> +	 * to identify the version.
> +	 */

Please fix comment length.

> +	if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
> +						OMAP2_32KSYNCNT_REV_SCHEME)
> +		sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
> +	else
> +		sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
> +
> +	/*
> +	 * 120000 rough estimate from the calculations in
> +	 * __clocksource_update_freq_scale.
> +	 */

Fix comment length also.

> +	clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
> +			32768, NSEC_PER_SEC, 120000);
> +
> +	ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
> +				250, 32, clocksource_mmio_readl_up);
> +	if (ret) {
> +		pr_err("32k_counter: can't register clocksource\n");
> +		return;
> +	}
> +
> +	sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
> +	register_persistent_clock(NULL, omap_read_persistent_clock64);

I will let John Stultz to have a look at this part because I have doubt 
regarding the usage of the persistent clock.


   -- Daniel


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

  parent reply	other threads:[~2015-10-01 21:59 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-29 20:43 [RFC/PATCH 00/11] arm: omap: counter32k rework Felipe Balbi
2015-09-29 20:43 ` Felipe Balbi
2015-09-29 20:43 ` Felipe Balbi
2015-09-29 20:43 ` [RFC/PATCH 01/11] arm: omap2: timer: get rid of obfuscating macros Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43 ` [RFC/PATCH 02/11] arm: omap2: timer: add a gptimer argument to sync32k_timer_init() Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43 ` [RFC/PATCH 03/11] arm: omap2: timer: remove __omap_gptimer_init() Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-10-05 11:01   ` Tony Lindgren
2015-10-05 11:01     ` Tony Lindgren
2015-10-05 15:24     ` Felipe Balbi
2015-10-05 15:24       ` Felipe Balbi
2015-10-05 15:24       ` Felipe Balbi
2015-10-05 16:02       ` Tony Lindgren
2015-10-05 16:02         ` Tony Lindgren
2015-10-05 16:08         ` Felipe Balbi
2015-10-05 16:08           ` Felipe Balbi
2015-10-05 16:08           ` Felipe Balbi
2015-10-05 16:30           ` Tony Lindgren
2015-10-05 16:30             ` Tony Lindgren
2015-09-29 20:43 ` [RFC/PATCH 04/11] arm: omap2: timer: provide generic sync32k_timer_init function Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:43   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 05/11] arm: omap2: timer: move realtime_counter_init() around Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 06/11] arm: omap2: timer: always call clocksource_of_init() when DT Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 07/11] arm: omap2: timer: remove omap4_local_timer_init Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 08/11] arm: omap2: timer: rename omap_sync32k_timer_init() Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 09/11] clocksource: add TI 32.768 Hz counter driver Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-10-01 21:58   ` John Stultz
2015-10-01 21:58     ` John Stultz
2015-10-01 21:59   ` Daniel Lezcano [this message]
2015-10-01 21:59     ` Daniel Lezcano
2015-10-05 10:50     ` Tony Lindgren
2015-10-05 10:50       ` Tony Lindgren
2015-10-05 11:03       ` Tony Lindgren
2015-10-05 11:03         ` Tony Lindgren
2015-10-01 22:20   ` John Stultz
2015-10-01 22:20     ` John Stultz
2015-10-01 22:30     ` Felipe Balbi
2015-10-01 22:30       ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 10/11] arm: omap2: timer: limit hwmod usage to non-DT boots Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44 ` [RFC/PATCH 11/11] arm: boot: dts: omap: add missing default status for 32k counter Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-29 20:44   ` Felipe Balbi
2015-09-30  8:15   ` Arnd Bergmann
2015-09-30  8:15     ` Arnd Bergmann
2015-09-30 14:12     ` Felipe Balbi
2015-09-30 14:12       ` Felipe Balbi
2015-09-30 14:12       ` Felipe Balbi
2015-09-30 21:58       ` Arnd Bergmann
2015-09-30 21:58         ` Arnd Bergmann
2015-10-05 17:52         ` Felipe Balbi
2015-10-05 17:52           ` Felipe Balbi
2015-10-05 17:52           ` Felipe Balbi
2015-10-05 19:41           ` Felipe Balbi
2015-10-05 19:41             ` Felipe Balbi
2015-10-05 19:41             ` Felipe Balbi
2015-10-06  8:08             ` Arnd Bergmann
2015-10-06  8:08               ` Arnd Bergmann
2015-10-06 14:57               ` Felipe Balbi
2015-10-06 14:57                 ` Felipe Balbi
2015-10-06 14:57                 ` Felipe Balbi
2015-10-06 15:18                 ` Tony Lindgren
2015-10-06 15:18                   ` Tony Lindgren
2015-10-06 15:29                   ` Felipe Balbi
2015-10-06 15:29                     ` Felipe Balbi
2015-10-06 15:29                     ` Felipe Balbi
2015-10-05 10:45   ` Tony Lindgren
2015-10-05 10:45     ` Tony Lindgren
2015-09-30  8:22 ` [RFC/PATCH 00/11] arm: omap: counter32k rework Arnd Bergmann
2015-09-30  8:22   ` Arnd Bergmann
2015-09-30 14:13   ` Felipe Balbi
2015-09-30 14:13     ` Felipe Balbi
2015-09-30 14:13     ` Felipe Balbi
     [not found]     ` <20150930141338.GC31865-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-09-30 14:42       ` Arnd Bergmann
2015-09-30 14:42         ` Arnd Bergmann
2015-09-30 14:42         ` Arnd Bergmann
2015-09-30 14:49         ` Arnd Bergmann
2015-09-30 14:49           ` Arnd Bergmann
2015-09-30 14:49           ` Arnd Bergmann
2015-09-30 14:57           ` Felipe Balbi
2015-09-30 14:57             ` Felipe Balbi
2015-09-30 14:57             ` Felipe Balbi
2015-09-30 15:03           ` Thierry Reding
2015-09-30 15:03             ` Thierry Reding
2015-09-30 15:03             ` Thierry Reding
2015-10-01 22:12           ` Daniel Lezcano
2015-10-01 22:12             ` Daniel Lezcano
2015-10-01 22:12             ` Daniel Lezcano
     [not found]             ` <560DAFC5.50003-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-10-05 10:55               ` Tony Lindgren
2015-10-05 10:55                 ` Tony Lindgren
2015-10-05 10:55                 ` Tony Lindgren
     [not found]                 ` <20151005105554.GV23801-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-10-05 11:03                   ` Arnd Bergmann
2015-10-05 11:03                     ` Arnd Bergmann
2015-10-05 11:03                     ` Arnd Bergmann
2015-10-05 11:13                     ` Tony Lindgren
2015-10-05 11:13                       ` Tony Lindgren
2015-10-05 11:13                       ` Tony Lindgren
     [not found]                       ` <20151005111341.GY23801-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-10-05 12:19                         ` Arnd Bergmann
2015-10-05 12:19                           ` Arnd Bergmann
2015-10-05 12:19                           ` Arnd Bergmann

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=560DACD8.8000301@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=balbi@ti.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony@atomide.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.