All of lore.kernel.org
 help / color / mirror / Atom feed
From: jbrunet@baylibre.com (Jerome Brunet)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH v4 2/7] tty/serial: meson_uart: update to stable bindings
Date: Mon, 12 Jun 2017 11:39:04 +0200	[thread overview]
Message-ID: <1497260344.3086.8.camel@baylibre.com> (raw)
In-Reply-To: <1497001756-942-3-git-send-email-narmstrong@baylibre.com>

On Fri, 2017-06-09 at 11:49 +0200, Neil Armstrong wrote:
> From: Helmut Klein <hgkr.klein@gmail.com>
> 
> This patch handle the stable UART bindings but also keeps compatibility
> with the legacy non-stable bindings until all boards uses them.
> 
> Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
> ?drivers/tty/serial/meson_uart.c | 109 +++++++++++++++++++++++++++++++++++++
> ---
> ?1 file changed, 103 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> index 60f1679..d2c8136 100644
> --- a/drivers/tty/serial/meson_uart.c
> +++ b/drivers/tty/serial/meson_uart.c
> @@ -579,8 +579,12 @@ static void meson_serial_early_console_write(struct
> console *co,
> ?	device->con->write = meson_serial_early_console_write;
> ?	return 0;
> ?}
> +/* Legacy bindings, should be removed when no more used */
> ?OF_EARLYCON_DECLARE(meson, "amlogic,meson-uart",
> ?		????meson_serial_early_console_setup);
> +/* Stable bindings */
> +OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> +		????meson_serial_early_console_setup);
> ?
> ?#define MESON_SERIAL_CONSOLE	(&meson_serial_console)
> ?#else
> @@ -595,11 +599,95 @@ static void meson_serial_early_console_write(struct
> console *co,
> ?	.cons		= MESON_SERIAL_CONSOLE,
> ?};
> ?
> +/*
> + * This function gets clocks in the legacy non-stable DT bindings.
> + * This code will be remove once all the platforms switch to the
> + * new DT bindings.
> + */
> +static int meson_uart_probe_clocks_legacy(struct platform_device *pdev,
> +					??struct uart_port *port)
> +{
> +	struct clk *clk = NULL;
> +	int ret;
> +
> +	clk = devm_clk_get(&pdev->dev, NULL);
> +	if (IS_ERR(clk))
> +		return PTR_ERR(clk);
> +
> +	ret = clk_prepare_enable(clk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk);
> +
> +	port->uartclk = clk_get_rate(clk);
> +
> +	return 0;
> +}
> +
> +static int meson_uart_probe_clocks(struct platform_device *pdev,
> +				???struct uart_port *port)
> +{
> +	struct clk *clk_xtal = NULL;
> +	struct clk *clk_pclk = NULL;
> +	struct clk *clk_baud = NULL;
> +	int ret;
> +
> +	clk_pclk = devm_clk_get(&pdev->dev, "pclk");
> +	if (IS_ERR(clk_pclk))
> +		return PTR_ERR(clk_pclk);
> +
> +	clk_xtal = devm_clk_get(&pdev->dev, "xtal");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_xtal);
> +
> +	clk_baud = devm_clk_get(&pdev->dev, "baud");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_baud);
> +
> +	ret = clk_prepare_enable(clk_pclk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable pclk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_pclk);
> +
> +	ret = clk_prepare_enable(clk_xtal);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable xtal\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_xtal);
> +
> +	ret = clk_prepare_enable(clk_baud);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable baud clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_baud);

It's not critical but there is a lot of duplication here. Should we add an
helper function doing "get, prepare_enable, add_reset_action" with the clock
name as argument ?

Apart from this:

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>

> +
> +	port->uartclk = clk_get_rate(clk_baud);

This was already like this, but I wonder if we should store the *clk instead of
caching the rate. Then call get_rate when appropriate

Could be done in separate patch.


> +
> +	return 0;
> +}
> +
> ?static int meson_uart_probe(struct platform_device *pdev)
> ?{
> ?	struct resource *res_mem, *res_irq;
> ?	struct uart_port *port;
> -	struct clk *clk;
> ?	int ret = 0;
> ?
> ?	if (pdev->dev.of_node)
> @@ -625,11 +713,15 @@ static int meson_uart_probe(struct platform_device
> *pdev)
> ?	if (!port)
> ?		return -ENOMEM;
> ?
> -	clk = clk_get(&pdev->dev, NULL);
> -	if (IS_ERR(clk))
> -		return PTR_ERR(clk);
> +	/* Use legacy way until all platforms switch to new bindings */
> +	if (of_device_is_compatible(pdev->dev.of_node, "amlogic,meson-uart"))
> +		ret = meson_uart_probe_clocks_legacy(pdev, port);
> +	else
> +		ret = meson_uart_probe_clocks(pdev, port);
> +
> +	if (ret)
> +		return ret;
> ?
> -	port->uartclk = clk_get_rate(clk);
> ?	port->iotype = UPIO_MEM;
> ?	port->mapbase = res_mem->start;
> ?	port->irq = res_irq->start;
> @@ -668,9 +760,14 @@ static int meson_uart_remove(struct platform_device
> *pdev)
> ?	return 0;
> ?}
> ?
> -
> ?static const struct of_device_id meson_uart_dt_match[] = {
> +	/* Legacy bindings, should be removed when no more used */
> ?	{ .compatible = "amlogic,meson-uart" },
> +	/* Stable bindings */
> +	{ .compatible = "amlogic,meson6-uart" },
> +	{ .compatible = "amlogic,meson8-uart" },
> +	{ .compatible = "amlogic,meson8b-uart" },
> +	{ .compatible = "amlogic,meson-gx-uart" },
> ?	{ /* sentinel */ },
> ?};
> ?MODULE_DEVICE_TABLE(of, meson_uart_dt_match);

WARNING: multiple messages have this Message-ID (diff)
From: Jerome Brunet <jbrunet@baylibre.com>
To: Neil Armstrong <narmstrong@baylibre.com>,
	gregkh@linuxfoundation.org, khilman@baylibre.com
Cc: linux-kernel@vger.kernel.org, Helmut Klein <hgkr.klein@gmail.com>,
	linux-serial@vger.kernel.org, linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 2/7] tty/serial: meson_uart: update to stable bindings
Date: Mon, 12 Jun 2017 11:39:04 +0200	[thread overview]
Message-ID: <1497260344.3086.8.camel@baylibre.com> (raw)
In-Reply-To: <1497001756-942-3-git-send-email-narmstrong@baylibre.com>

On Fri, 2017-06-09 at 11:49 +0200, Neil Armstrong wrote:
> From: Helmut Klein <hgkr.klein@gmail.com>
> 
> This patch handle the stable UART bindings but also keeps compatibility
> with the legacy non-stable bindings until all boards uses them.
> 
> Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  drivers/tty/serial/meson_uart.c | 109 +++++++++++++++++++++++++++++++++++++
> ---
>  1 file changed, 103 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> index 60f1679..d2c8136 100644
> --- a/drivers/tty/serial/meson_uart.c
> +++ b/drivers/tty/serial/meson_uart.c
> @@ -579,8 +579,12 @@ static void meson_serial_early_console_write(struct
> console *co,
>  	device->con->write = meson_serial_early_console_write;
>  	return 0;
>  }
> +/* Legacy bindings, should be removed when no more used */
>  OF_EARLYCON_DECLARE(meson, "amlogic,meson-uart",
>  		    meson_serial_early_console_setup);
> +/* Stable bindings */
> +OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> +		    meson_serial_early_console_setup);
>  
>  #define MESON_SERIAL_CONSOLE	(&meson_serial_console)
>  #else
> @@ -595,11 +599,95 @@ static void meson_serial_early_console_write(struct
> console *co,
>  	.cons		= MESON_SERIAL_CONSOLE,
>  };
>  
> +/*
> + * This function gets clocks in the legacy non-stable DT bindings.
> + * This code will be remove once all the platforms switch to the
> + * new DT bindings.
> + */
> +static int meson_uart_probe_clocks_legacy(struct platform_device *pdev,
> +					  struct uart_port *port)
> +{
> +	struct clk *clk = NULL;
> +	int ret;
> +
> +	clk = devm_clk_get(&pdev->dev, NULL);
> +	if (IS_ERR(clk))
> +		return PTR_ERR(clk);
> +
> +	ret = clk_prepare_enable(clk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk);
> +
> +	port->uartclk = clk_get_rate(clk);
> +
> +	return 0;
> +}
> +
> +static int meson_uart_probe_clocks(struct platform_device *pdev,
> +				   struct uart_port *port)
> +{
> +	struct clk *clk_xtal = NULL;
> +	struct clk *clk_pclk = NULL;
> +	struct clk *clk_baud = NULL;
> +	int ret;
> +
> +	clk_pclk = devm_clk_get(&pdev->dev, "pclk");
> +	if (IS_ERR(clk_pclk))
> +		return PTR_ERR(clk_pclk);
> +
> +	clk_xtal = devm_clk_get(&pdev->dev, "xtal");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_xtal);
> +
> +	clk_baud = devm_clk_get(&pdev->dev, "baud");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_baud);
> +
> +	ret = clk_prepare_enable(clk_pclk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable pclk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_pclk);
> +
> +	ret = clk_prepare_enable(clk_xtal);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable xtal\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_xtal);
> +
> +	ret = clk_prepare_enable(clk_baud);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable baud clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_baud);

It's not critical but there is a lot of duplication here. Should we add an
helper function doing "get, prepare_enable, add_reset_action" with the clock
name as argument ?

Apart from this:

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>

> +
> +	port->uartclk = clk_get_rate(clk_baud);

This was already like this, but I wonder if we should store the *clk instead of
caching the rate. Then call get_rate when appropriate

Could be done in separate patch.


> +
> +	return 0;
> +}
> +
>  static int meson_uart_probe(struct platform_device *pdev)
>  {
>  	struct resource *res_mem, *res_irq;
>  	struct uart_port *port;
> -	struct clk *clk;
>  	int ret = 0;
>  
>  	if (pdev->dev.of_node)
> @@ -625,11 +713,15 @@ static int meson_uart_probe(struct platform_device
> *pdev)
>  	if (!port)
>  		return -ENOMEM;
>  
> -	clk = clk_get(&pdev->dev, NULL);
> -	if (IS_ERR(clk))
> -		return PTR_ERR(clk);
> +	/* Use legacy way until all platforms switch to new bindings */
> +	if (of_device_is_compatible(pdev->dev.of_node, "amlogic,meson-uart"))
> +		ret = meson_uart_probe_clocks_legacy(pdev, port);
> +	else
> +		ret = meson_uart_probe_clocks(pdev, port);
> +
> +	if (ret)
> +		return ret;
>  
> -	port->uartclk = clk_get_rate(clk);
>  	port->iotype = UPIO_MEM;
>  	port->mapbase = res_mem->start;
>  	port->irq = res_irq->start;
> @@ -668,9 +760,14 @@ static int meson_uart_remove(struct platform_device
> *pdev)
>  	return 0;
>  }
>  
> -
>  static const struct of_device_id meson_uart_dt_match[] = {
> +	/* Legacy bindings, should be removed when no more used */
>  	{ .compatible = "amlogic,meson-uart" },
> +	/* Stable bindings */
> +	{ .compatible = "amlogic,meson6-uart" },
> +	{ .compatible = "amlogic,meson8-uart" },
> +	{ .compatible = "amlogic,meson8b-uart" },
> +	{ .compatible = "amlogic,meson-gx-uart" },
>  	{ /* sentinel */ },
>  };
>  MODULE_DEVICE_TABLE(of, meson_uart_dt_match);

WARNING: multiple messages have this Message-ID (diff)
From: jbrunet@baylibre.com (Jerome Brunet)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 2/7] tty/serial: meson_uart: update to stable bindings
Date: Mon, 12 Jun 2017 11:39:04 +0200	[thread overview]
Message-ID: <1497260344.3086.8.camel@baylibre.com> (raw)
In-Reply-To: <1497001756-942-3-git-send-email-narmstrong@baylibre.com>

On Fri, 2017-06-09 at 11:49 +0200, Neil Armstrong wrote:
> From: Helmut Klein <hgkr.klein@gmail.com>
> 
> This patch handle the stable UART bindings but also keeps compatibility
> with the legacy non-stable bindings until all boards uses them.
> 
> Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
> ?drivers/tty/serial/meson_uart.c | 109 +++++++++++++++++++++++++++++++++++++
> ---
> ?1 file changed, 103 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> index 60f1679..d2c8136 100644
> --- a/drivers/tty/serial/meson_uart.c
> +++ b/drivers/tty/serial/meson_uart.c
> @@ -579,8 +579,12 @@ static void meson_serial_early_console_write(struct
> console *co,
> ?	device->con->write = meson_serial_early_console_write;
> ?	return 0;
> ?}
> +/* Legacy bindings, should be removed when no more used */
> ?OF_EARLYCON_DECLARE(meson, "amlogic,meson-uart",
> ?		????meson_serial_early_console_setup);
> +/* Stable bindings */
> +OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> +		????meson_serial_early_console_setup);
> ?
> ?#define MESON_SERIAL_CONSOLE	(&meson_serial_console)
> ?#else
> @@ -595,11 +599,95 @@ static void meson_serial_early_console_write(struct
> console *co,
> ?	.cons		= MESON_SERIAL_CONSOLE,
> ?};
> ?
> +/*
> + * This function gets clocks in the legacy non-stable DT bindings.
> + * This code will be remove once all the platforms switch to the
> + * new DT bindings.
> + */
> +static int meson_uart_probe_clocks_legacy(struct platform_device *pdev,
> +					??struct uart_port *port)
> +{
> +	struct clk *clk = NULL;
> +	int ret;
> +
> +	clk = devm_clk_get(&pdev->dev, NULL);
> +	if (IS_ERR(clk))
> +		return PTR_ERR(clk);
> +
> +	ret = clk_prepare_enable(clk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk);
> +
> +	port->uartclk = clk_get_rate(clk);
> +
> +	return 0;
> +}
> +
> +static int meson_uart_probe_clocks(struct platform_device *pdev,
> +				???struct uart_port *port)
> +{
> +	struct clk *clk_xtal = NULL;
> +	struct clk *clk_pclk = NULL;
> +	struct clk *clk_baud = NULL;
> +	int ret;
> +
> +	clk_pclk = devm_clk_get(&pdev->dev, "pclk");
> +	if (IS_ERR(clk_pclk))
> +		return PTR_ERR(clk_pclk);
> +
> +	clk_xtal = devm_clk_get(&pdev->dev, "xtal");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_xtal);
> +
> +	clk_baud = devm_clk_get(&pdev->dev, "baud");
> +	if (IS_ERR(clk_xtal))
> +		return PTR_ERR(clk_baud);
> +
> +	ret = clk_prepare_enable(clk_pclk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable pclk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_pclk);
> +
> +	ret = clk_prepare_enable(clk_xtal);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable xtal\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_xtal);
> +
> +	ret = clk_prepare_enable(clk_baud);
> +	if (ret) {
> +		dev_err(&pdev->dev, "couldn't enable baud clk\n");
> +		return ret;
> +	}
> +
> +	devm_add_action_or_reset(&pdev->dev,
> +			(void(*)(void *))clk_disable_unprepare,
> +			clk_baud);

It's not critical but there is a lot of duplication here. Should we add an
helper function doing "get, prepare_enable, add_reset_action" with the clock
name as argument ?

Apart from this:

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>

> +
> +	port->uartclk = clk_get_rate(clk_baud);

This was already like this, but I wonder if we should store the *clk instead of
caching the rate. Then call get_rate when appropriate

Could be done in separate patch.


> +
> +	return 0;
> +}
> +
> ?static int meson_uart_probe(struct platform_device *pdev)
> ?{
> ?	struct resource *res_mem, *res_irq;
> ?	struct uart_port *port;
> -	struct clk *clk;
> ?	int ret = 0;
> ?
> ?	if (pdev->dev.of_node)
> @@ -625,11 +713,15 @@ static int meson_uart_probe(struct platform_device
> *pdev)
> ?	if (!port)
> ?		return -ENOMEM;
> ?
> -	clk = clk_get(&pdev->dev, NULL);
> -	if (IS_ERR(clk))
> -		return PTR_ERR(clk);
> +	/* Use legacy way until all platforms switch to new bindings */
> +	if (of_device_is_compatible(pdev->dev.of_node, "amlogic,meson-uart"))
> +		ret = meson_uart_probe_clocks_legacy(pdev, port);
> +	else
> +		ret = meson_uart_probe_clocks(pdev, port);
> +
> +	if (ret)
> +		return ret;
> ?
> -	port->uartclk = clk_get_rate(clk);
> ?	port->iotype = UPIO_MEM;
> ?	port->mapbase = res_mem->start;
> ?	port->irq = res_irq->start;
> @@ -668,9 +760,14 @@ static int meson_uart_remove(struct platform_device
> *pdev)
> ?	return 0;
> ?}
> ?
> -
> ?static const struct of_device_id meson_uart_dt_match[] = {
> +	/* Legacy bindings, should be removed when no more used */
> ?	{ .compatible = "amlogic,meson-uart" },
> +	/* Stable bindings */
> +	{ .compatible = "amlogic,meson6-uart" },
> +	{ .compatible = "amlogic,meson8-uart" },
> +	{ .compatible = "amlogic,meson8b-uart" },
> +	{ .compatible = "amlogic,meson-gx-uart" },
> ?	{ /* sentinel */ },
> ?};
> ?MODULE_DEVICE_TABLE(of, meson_uart_dt_match);

  reply	other threads:[~2017-06-12  9:39 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-09  9:49 [PATCH v4 0/7] tty/serial: meson_uart: add support for core clock handling Neil Armstrong
2017-06-09  9:49 ` Neil Armstrong
2017-06-09  9:49 ` Neil Armstrong
2017-06-09  9:49 ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 1/7] dt-bindings: serial: Add bindings for the Amlogic Meson UARTs Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 2/7] tty/serial: meson_uart: update to stable bindings Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-12  9:39   ` Jerome Brunet [this message]
2017-06-12  9:39     ` Jerome Brunet
2017-06-12  9:39     ` Jerome Brunet
2017-06-12 12:48     ` Neil Armstrong
2017-06-12 12:48       ` Neil Armstrong
2017-06-12 12:48       ` Neil Armstrong
2017-06-12 12:45   ` Chris Moore
2017-06-12 12:45     ` Chris Moore
2017-06-12 12:45     ` Chris Moore
2017-06-12 12:48     ` Neil Armstrong
2017-06-12 12:48       ` Neil Armstrong
2017-06-12 12:48       ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 3/7] ARM64: dts: meson-gx: use stable UART bindings with correct gate clock Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-12  9:40   ` Jerome Brunet
2017-06-12  9:40     ` Jerome Brunet
2017-06-12  9:40     ` Jerome Brunet
2017-06-09  9:49 ` [PATCH v4 4/7] ARM: dts: meson: use meson6 UART compatible like other nodes Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 5/7] ARM: dts: meson6: switch to new bindings for UART nodes Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-12  9:42   ` Jerome Brunet
2017-06-12  9:42     ` Jerome Brunet
2017-06-12  9:42     ` Jerome Brunet
2017-06-12  9:42     ` Jerome Brunet
2017-06-12 12:49     ` Neil Armstrong
2017-06-12 12:49       ` Neil Armstrong
2017-06-12 12:49       ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 6/7] ARM: dts: meson8: " Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09 22:37   ` Martin Blumenstingl
2017-06-09 22:37     ` Martin Blumenstingl
2017-06-09 22:37     ` Martin Blumenstingl
2017-06-09 22:37     ` Martin Blumenstingl
2017-06-11 20:18     ` Martin Blumenstingl
2017-06-11 20:18       ` Martin Blumenstingl
2017-06-11 20:18       ` Martin Blumenstingl
2017-06-11 20:18       ` Martin Blumenstingl
2017-06-12  7:27       ` Neil Armstrong
2017-06-12  7:27         ` Neil Armstrong
2017-06-12  7:27         ` Neil Armstrong
2017-06-12  9:13   ` Jerome Brunet
2017-06-12  9:13     ` Jerome Brunet
2017-06-12  9:13     ` Jerome Brunet
2017-06-12  9:13     ` Jerome Brunet
2017-06-12 12:49     ` Neil Armstrong
2017-06-12 12:49       ` Neil Armstrong
2017-06-12 12:49       ` Neil Armstrong
2017-06-09  9:49 ` [PATCH v4 7/7] ARM: dts: meson8b: " Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-09  9:49   ` Neil Armstrong
2017-06-12  9:47   ` Jerome Brunet
2017-06-12  9:47     ` Jerome Brunet
2017-06-12  9:47     ` Jerome Brunet

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=1497260344.3086.8.camel@baylibre.com \
    --to=jbrunet@baylibre.com \
    --cc=linus-amlogic@lists.infradead.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.