devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Sergei Ianovich <ynvich@gmail.com>, linux-kernel@vger.kernel.org
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	open@foss.arm.com, list@foss.arm.com,
	OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
	<devicetree@vger.kernel.org>
Subject: Re: [PATCH v5] arm: pxa: support ICP DAS LP-8x4x FPGA irq
Date: Wed, 16 Dec 2015 11:54:44 +0000	[thread overview]
Message-ID: <56715104.9040309@arm.com> (raw)
In-Reply-To: <1450207582-17957-1-git-send-email-ynvich@gmail.com>

On 15/12/15 19:26, Sergei Ianovich wrote:
> ICP DAS LP-8x4x contains FPGA chip. The chip functions as an interrupt
> source providing 16 additional interrupts among other things. The
> interrupt lines are muxed to a GPIO pin of a 2nd level PXA-GPIO
> interrupt controller. GPIO pins of the 2nd level controller are in turn
> muxed to a CPU interrupt line.
> 
> Until pxa is completely converted to device tree, it is impossible
> to use IRQCHIP_DECLARE() and the irqdomain needs to added manually.
> Drivers for the on-CPU IRQs and GPIO-IRQs are loaded using
> postcore_initcall(). We need to have all irq domain drivers loaded prior
> to DT parsing in order to allow normal initialization of IRQ resources
> with DT.
> 
> Signed-off-by: Sergei Ianovich <ynvich@gmail.com>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> CC: Arnd Bergmann <arnd@arndb.de>
> ---
>    v4..v5
>    * constify struct of_device_id
>    * drop irq number from handler signature
> 
>    v3.2..v4
>    * move DTS binding to a different patch (8/21)
> 
>    v3.1..v3.2
>    fixes to apply Linus Walleij's "Reviewed-by":
>    * add kerneldoc comment for state container struct
>    * rename irq -> hwirq for clarity
>    * drop overzealous error checks from the hotpaths
> 
>    v3..v3.1
>    fixes according to Linus Walleij review comments:
>    * update commit message
>    * use state container instead of global variables
>    * get hardware irq nums from irq_data, don't calculate them
>    * use BIT() macro
>    * add defines for system irq register masks
>    * replace cycle control variable with break
>    * use better names for resource variables
>    * add a linear domain instead of a legacy one
>    * use irq_create_mapping() instead of irq_alloc_desc()
> 
>    v2..v3
>    * no changes (except number 09/16 -> 11/21)
> 
>    v0..v2
>    * extract irqchip and move to drivers/irqchip/
>    * use device tree
>    * use devm helpers where possible
> 
>  .../bindings/interrupt-controller/irq-lp8x4x.txt   |  49 +++++
>  drivers/irqchip/Kconfig                            |   5 +
>  drivers/irqchip/Makefile                           |   1 +
>  drivers/irqchip/irq-lp8x4x.c                       | 227 +++++++++++++++++++++
>  4 files changed, 282 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
>  create mode 100644 drivers/irqchip/irq-lp8x4x.c
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt b/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
> new file mode 100644
> index 0000000..c8940d2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
> @@ -0,0 +1,49 @@
> +ICP DAS LP-8x4x FPGA Interrupt Controller
> +
> +ICP DAS LP-8x4x contains FPGA chip. The chip functions as a interrupt
> +source providing 16 additional interrupts among other things.
> +
> +Required properties:
> +- compatible : should be "icpdas,irq-lp8x4x"
> +
> +- reg: physical base address of the controller and length of memory mapped
> +  region.
> +
> +- interrupt-controller : identifies the node as an interrupt controller
> +
> +- #interrupt-cells : should be 1
> +
> +- interrupts : should provide interrupt
> +
> +- interrupt-parent : should provide a link to interrupt controller either
> +		     explicitly and implicitly from a parent node
> +
> +Example:
> +
> +	fpga: fpga@17000006 {
> +		compatible = "icpdas,irq-lp8x4x";
> +		reg = <0x17000006 0x16>;
> +		interrupt-parent = <&gpio>;
> +		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
> +		#interrupt-cells = <1>;
> +		interrupt-controller;
> +		status = "okay";
> +	};
> +
> +	uart@17009050 {
> +		compatible = "icpdas,uart-lp8x4x";
> +		reg = <0x17009050 0x10
> +		       0x17009030 0x02>;
> +		interrupt-parent = <&fpga>;
> +		interrupts = <13>;
> +		status = "okay";
> +	};
> +
> +	uart@17009060 {
> +		compatible = "icpdas,uart-lp8x4x";
> +		reg = <0x17009060 0x10
> +		       0x17009032 0x02>;
> +		interrupt-parent = <&fpga>;
> +		interrupts = <14>;
> +		status = "okay";
> +	};
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index 4d7294e..1de7361 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -193,3 +193,8 @@ config IRQ_MXS
>  	def_bool y if MACH_ASM9260 || ARCH_MXS
>  	select IRQ_DOMAIN
>  	select STMP_DEVICE
> +
> +config LP8X4X_IRQ
> +	bool
> +	depends on OF && ARCH_PXA
> +	select IRQ_DOMAIN
> diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
> index 177f78f..ab9ca67 100644
> --- a/drivers/irqchip/Makefile
> +++ b/drivers/irqchip/Makefile
> @@ -55,3 +55,4 @@ obj-$(CONFIG_RENESAS_H8S_INTC)		+= irq-renesas-h8s.o
>  obj-$(CONFIG_ARCH_SA1100)		+= irq-sa11x0.o
>  obj-$(CONFIG_INGENIC_IRQ)		+= irq-ingenic.o
>  obj-$(CONFIG_IMX_GPCV2)			+= irq-imx-gpcv2.o
> +obj-$(CONFIG_LP8X4X_IRQ)		+= irq-lp8x4x.o
> diff --git a/drivers/irqchip/irq-lp8x4x.c b/drivers/irqchip/irq-lp8x4x.c
> new file mode 100644
> index 0000000..a03d925
> --- /dev/null
> +++ b/drivers/irqchip/irq-lp8x4x.c
> @@ -0,0 +1,227 @@
> +/*
> + *  linux/drivers/irqchip/irq-lp8x4x.c
> + *
> + *  Support for ICP DAS LP-8x4x FPGA irq
> + *  Copyright (C) 2013 Sergei Ianovich <ynvich@gmail.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 as
> + *  published by the Free Software Foundation or any later version.
> + */
> +#include <linux/interrupt.h>
> +#include <linux/io.h>
> +#include <linux/irq.h>
> +#include <linux/irqdomain.h>
> +#include <linux/irqchip/chained_irq.h>
> +#include <linux/of.h>
> +#include <linux/platform_device.h>
> +
> +#define EOI			0x00000000
> +#define INSINT			0x00000002
> +#define ENSYSINT		0x00000004
> +#define PRIMINT			0x00000006
> +#define PRIMINT_MASK		0xe0
> +#define SECOINT			0x00000008
> +#define SECOINT_MASK		0x1f
> +#define ENRISEINT		0x0000000A
> +#define CLRRISEINT		0x0000000C
> +#define ENHILVINT		0x0000000E
> +#define CLRHILVINT		0x00000010
> +#define ENFALLINT		0x00000012
> +#define CLRFALLINT		0x00000014
> +#define IRQ_MEM_SIZE		0x00000016
> +#define LP8X4X_NUM_IRQ_DEFAULT	16
> +
> +/**
> + * struct lp8x4x_irq_data - LP8X4X custom irq controller state container
> + * @base:               base IO memory address
> + * @irq_domain:         Interrupt translation domain; responsible for mapping
> + *                      between hwirq number and linux irq number
> + * @irq_sys_enabled:    mask keeping track of interrupts enabled in the
> + *                      register which vendor calls 'system'
> + * @irq_high_enabled:   mask keeping track of interrupts enabled in the
> + *                      register which vendor calls 'high'
> + *
> + * The structure implements State Container from
> + * Documentation/driver-model/design-patterns.txt
> + */
> +
> +struct lp8x4x_irq_data {
> +	void			*base;
> +	struct irq_domain	*domain;
> +	unsigned char		irq_sys_enabled;
> +	unsigned char		irq_high_enabled;
> +};
> +
> +static void lp8x4x_mask_irq(struct irq_data *d)
> +{
> +	unsigned mask;
> +	unsigned long hwirq = d->hwirq;
> +	struct lp8x4x_irq_data *host = irq_data_get_irq_chip_data(d);
> +
> +	if (hwirq < 8) {
> +		host->irq_high_enabled &= ~BIT(hwirq);
> +
> +		mask = ioread8(host->base + ENHILVINT);
> +		mask &= ~BIT(hwirq);
> +		iowrite8(mask, host->base + ENHILVINT);
> +	} else {
> +		hwirq -= 8;
> +		host->irq_sys_enabled &= ~BIT(hwirq);
> +
> +		mask = ioread8(host->base + ENSYSINT);
> +		mask &= ~BIT(hwirq);
> +		iowrite8(mask, host->base + ENSYSINT);

Any reason why this is using iowrite8/ioread8 instead of writeb/readb,
which are much more common on ARM?

> +	}
> +}
> +
> +static void lp8x4x_unmask_irq(struct irq_data *d)
> +{
> +	unsigned mask;
> +	unsigned long hwirq = d->hwirq;
> +	struct lp8x4x_irq_data *host = irq_data_get_irq_chip_data(d);
> +
> +	if (hwirq < 8) {
> +		host->irq_high_enabled |= BIT(hwirq);
> +		mask = ioread8(host->base + CLRHILVINT);
> +		mask |= BIT(hwirq);
> +		iowrite8(mask, host->base + CLRHILVINT);
> +
> +		mask = ioread8(host->base + ENHILVINT);
> +		mask |= BIT(hwirq);
> +		iowrite8(mask, host->base + ENHILVINT);
> +	} else {
> +		hwirq -= 8;
> +		host->irq_sys_enabled |= BIT(hwirq);
> +
> +		mask = ioread8(host->base + SECOINT);
> +		mask |= BIT(hwirq);
> +		iowrite8(mask, host->base + SECOINT);
> +
> +		mask = ioread8(host->base + ENSYSINT);
> +		mask |= BIT(hwirq);
> +		iowrite8(mask, host->base + ENSYSINT);
> +	}
> +}
> +
> +static struct irq_chip lp8x4x_irq_chip = {
> +	.name			= "FPGA",
> +	.irq_ack		= lp8x4x_mask_irq,
> +	.irq_mask		= lp8x4x_mask_irq,
> +	.irq_mask_ack		= lp8x4x_mask_irq,
> +	.irq_unmask		= lp8x4x_unmask_irq,
> +};
> +
> +static void lp8x4x_irq_handler(struct irq_desc *desc)
> +{
> +	int n;
> +	unsigned long mask;
> +	struct irq_chip *chip = irq_desc_get_chip(desc);
> +	struct lp8x4x_irq_data *host = irq_desc_get_handler_data(desc);
> +
> +	chained_irq_enter(chip, desc);
> +
> +	for (;;) {
> +		mask = ioread8(host->base + CLRHILVINT) & 0xff;
> +		mask |= (ioread8(host->base + SECOINT) & SECOINT_MASK) << 8;
> +		mask |= (ioread8(host->base + PRIMINT) & PRIMINT_MASK) << 8;

Huh. Fancy. It would be nice if one of PRIMINT_MASK and SECOINT_MASK was
defined in terms of the other. Something like

#define SECOINT_MASK	(~(u8)PRIMINT_MASK)

and a short comment so that I don't jump at seeing two  "<< 8" in a row.

> +		mask &= host->irq_high_enabled | (host->irq_sys_enabled << 8);

Is there any case where this actually filters pending interrupts? mask
and unmask seem to program a similar state in the HW...

> +		if (mask == 0)
> +			break;
> +		for_each_set_bit(n, &mask, BITS_PER_LONG)
> +			generic_handle_irq(irq_find_mapping(host->domain, n));
> +	}
> +
> +	iowrite8(0, host->base + EOI);
> +	chained_irq_exit(chip, desc);
> +}
> +
> +static int lp8x4x_irq_domain_map(struct irq_domain *d, unsigned int irq,
> +				 irq_hw_number_t hw)
> +{
> +	struct lp8x4x_irq_data *host = d->host_data;
> +	int err;
> +
> +	err = irq_set_chip_data(irq, host);
> +	if (err < 0)
> +		return err;
> +
> +	irq_set_chip_and_handler(irq, &lp8x4x_irq_chip, handle_level_irq);
> +	irq_set_probe(irq);
> +	return 0;
> +}
> +
> +const struct irq_domain_ops lp8x4x_irq_domain_ops = {
> +	.map	= lp8x4x_irq_domain_map,
> +	.xlate	= irq_domain_xlate_onecell,
> +};
> +
> +static const struct of_device_id lp8x4x_irq_dt_ids[] = {
> +	{ .compatible = "icpdas,irq-lp8x4x", },
> +	{}
> +};
> +
> +static int lp8x4x_irq_probe(struct platform_device *pdev)
> +{
> +	struct resource *res_mem, *res_irq;
> +	struct device_node *np = pdev->dev.of_node;
> +	struct lp8x4x_irq_data *host;
> +	int i, err;
> +
> +	res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> +	if (!res_mem || !res_irq || resource_size(res_mem) < IRQ_MEM_SIZE)
> +		return -ENODEV;
> +
> +	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> +	if (!host)
> +		return -ENODEV;
> +
> +	host->base = devm_ioremap_resource(&pdev->dev, res_mem);
> +	if (!host->base) {
> +		dev_err(&pdev->dev, "Failed to ioremap %p\n", host->base);
> +		return -EFAULT;
> +	}
> +
> +	host->domain = irq_domain_add_linear(np, LP8X4X_NUM_IRQ_DEFAULT,
> +				       &lp8x4x_irq_domain_ops, host);
> +	if (!host->domain) {
> +		dev_err(&pdev->dev, "Failed to add IRQ domain\n");
> +		return -ENOMEM;
> +	}
> +
> +	for (i = 0; i < LP8X4X_NUM_IRQ_DEFAULT; i++) {
> +		err = irq_create_mapping(host->domain, i);
> +		if (err < 0)
> +			dev_err(&pdev->dev, "Failed to map IRQ %i\n", i);
> +	}

I'd expect a comment here, stating that this will need to be removed
once PXA is converted to DT.

> +
> +	/* Initialize chip registers */
> +	iowrite8(0, host->base + CLRRISEINT);
> +	iowrite8(0, host->base + ENRISEINT);
> +	iowrite8(0, host->base + CLRFALLINT);
> +	iowrite8(0, host->base + ENFALLINT);
> +	iowrite8(0, host->base + CLRHILVINT);
> +	iowrite8(0, host->base + ENHILVINT);
> +	iowrite8(0, host->base + ENSYSINT);
> +	iowrite8(0, host->base + SECOINT);
> +
> +	irq_set_handler_data(res_irq->start, host);
> +	irq_set_chained_handler(res_irq->start, lp8x4x_irq_handler);
> +
> +	return 0;
> +}
> +
> +static struct platform_driver lp8x4x_irq_driver = {
> +	.probe		= lp8x4x_irq_probe,
> +	.driver		= {
> +		.name	= "irq-lp8x4x",
> +		.of_match_table = lp8x4x_irq_dt_ids,
> +	},
> +};
> +
> +static int __init lp8x4x_irq_init(void)
> +{
> +	return platform_driver_register(&lp8x4x_irq_driver);
> +}
> +postcore_initcall(lp8x4x_irq_init);
> 

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2015-12-16 11:54 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1386348542-9584-1-git-send-email-ynvich@gmail.com>
     [not found] ` <1386543229-1542-1-git-send-email-ynvich@gmail.com>
2013-12-08 22:53   ` [PATCH 1/9] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2013-12-08 22:53   ` [PATCH 2/9] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-08 22:53   ` [PATCH 5/9] ARM: dts: provide DMA config to pxamci Sergei Ianovich
2013-12-09  1:33     ` Arnd Bergmann
2013-12-09  9:04       ` Daniel Mack
2013-12-09  9:34         ` Sergei Ianovich
2013-12-09  9:53           ` Sergei Ianovich
2013-12-09 10:21           ` Daniel Mack
     [not found]             ` <52A59991.1060305-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-12-09 12:09               ` Sergei Ianovich
2013-12-10  0:25                 ` Arnd Bergmann
2013-12-10  4:25                   ` Sergei Ianovich
2013-12-09 13:16             ` Sergei Ianovich
2013-12-11  8:19         ` Robert Jarzmik
2013-12-08 22:53   ` [PATCH 9/9] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-09  1:47     ` Arnd Bergmann
2013-12-09 15:16       ` Sergei Ianovich
2013-12-09 15:55         ` Sergei Ianovich
     [not found]           ` <1386604530.7152.184.camel-7ZSkjCHmnyFmet/iJI8ZvA@public.gmane.org>
2013-12-09 16:39             ` Arnd Bergmann
2013-12-09 16:25         ` Arnd Bergmann
     [not found]   ` <1386901645-28895-1-git-send-email-ynvich@gmail.com>
2013-12-13  2:27     ` [PATCH v2 01/16] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 02/16] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 03/16] ARM: dts: provide DMA config to pxamci Sergei Ianovich
2013-12-14 19:06       ` Arnd Bergmann
2013-12-14 19:34         ` Sergei Ianovich
2013-12-14 23:39           ` Arnd Bergmann
2013-12-16  9:58           ` Daniel Mack
2013-12-16 11:47             ` Sergei Ianovich
     [not found]               ` <1387194450.13062.134.camel-7ZSkjCHmnyFmet/iJI8ZvA@public.gmane.org>
2013-12-16 11:58                 ` Lars-Peter Clausen
2013-12-16 12:03                   ` Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 06/16] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 07/16] rtc: support DS1302 RTC on " Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 08/16] mtd: support BB SRAM " Sergei Ianovich
     [not found]     ` <1386901645-28895-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-12-13  2:27       ` [PATCH v2 09/16] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 10/16] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 11/16] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2013-12-13  2:27     ` [PATCH v2 12/16] misc: support for serial slots in LP-8x4x Sergei Ianovich
     [not found]     ` <1387309071-22382-1-git-send-email-ynvich@gmail.com>
2013-12-17 19:37       ` [PATCH v3 01/21 resend] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2013-12-18 23:55         ` Greg Kroah-Hartman
2013-12-19  8:51         ` Heikki Krogerus
2013-12-19  9:35           ` Sergei Ianovich
2013-12-19 10:01             ` Sergei Ianovich
2013-12-19 11:05               ` Heikki Krogerus
2013-12-17 19:37       ` [PATCH v3 02/21] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
     [not found]       ` <1387309071-22382-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-12-17 19:37         ` [PATCH v3 03/21] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 06/21] ARM: dts: provide DMA config to pxamci on PXA27x Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 08/21] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 09/21] rtc: support DS1302 RTC on " Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 10/21] mtd: support BB SRAM " Sergei Ianovich
2014-04-16  5:04         ` Brian Norris
2014-04-16  5:21           ` Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 11/21] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2014-01-02 12:32         ` Linus Walleij
2014-01-08 19:01           ` Sergei Ianovich
2014-01-15  7:39             ` Linus Walleij
2014-01-15 13:17               ` Sergei Ianovich
     [not found]         ` <1387309071-22382-12-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-09 23:07           ` [PATCH v3.1 " Sergei Ianovich
2014-01-15  7:46             ` Linus Walleij
2014-01-15 13:12             ` [PATCH v3.2 " Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 12/21] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2013-12-19 11:18         ` Heikki Krogerus
2013-12-17 19:37       ` [PATCH v3 13/21] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 14/21] misc: support for LP-8x4x rotary switch Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 15/21] misc: support for LP-8x4x DIP switch Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 16/21] misc: support for writing to LP-8x4x EEPROM Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 17/21] misc: support for serial slots in LP-8x4x Sergei Ianovich
2013-12-17 19:37       ` [PATCH v3 18/21] misc: support for parallel " Sergei Ianovich
     [not found]       ` <1397668411-27162-1-git-send-email-ynvich@gmail.com>
2014-04-16 17:13         ` [PATCH v4 01/21] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2015-01-19 18:08           ` Rob Herring
2014-04-16 17:13         ` [PATCH v4 02/21] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2014-04-16 17:13         ` [PATCH v4 03/21] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2014-04-16 17:13         ` [PATCH v4 06/21] ARM: dts: provide DMA config to pxamci on PXA27x Sergei Ianovich
     [not found]           ` <1397668667-27328-1-git-send-email-ynvich@gmail.com>
2014-04-16 17:17             ` [PATCH v4 08/21] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2014-04-17 10:54               ` Daniel Mack
2014-04-16 17:17             ` [PATCH v4 09/21] rtc: support DS1302 RTC on " Sergei Ianovich
2015-06-08 12:07               ` [v4,09/21] " Alexandre Belloni
2015-06-08 12:12                 ` Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 10/21] mtd: support BB SRAM " Sergei Ianovich
2014-04-30 17:21               ` Brian Norris
2014-04-30 17:35                 ` ООО "ЭлектроПлюс"
     [not found]               ` <1397668667-27328-4-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-15 18:58                 ` [PATCH v5] " Sergei Ianovich
2015-12-20  3:38                   ` Rob Herring
2015-12-20 10:43                     ` Sergei Ianovich
     [not found]                       ` <1450608238.15911.24.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-01-06 23:25                         ` Brian Norris
     [not found]                   ` <1450205941-15593-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-23 18:58                     ` [PATCH v6] " Sergei Ianovich
     [not found]                       ` <1456253890-30825-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-23 19:48                         ` Rob Herring
2016-03-08  0:19                         ` Brian Norris
2014-04-16 17:17             ` [PATCH v4 11/21] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
     [not found]               ` <1397668667-27328-5-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-15 19:26                 ` [PATCH v5] arm: " Sergei Ianovich
2015-12-16 11:54                   ` Marc Zyngier [this message]
2015-12-19  4:20                   ` Rob Herring
     [not found]                   ` <20151219035802.GA28424@rob-hp-laptop>
2015-12-19  7:03                     ` Sergei Ianovich
2016-02-27 15:56                   ` [PATCH v6] " Sergei Ianovich
     [not found]                     ` <1456588562-24715-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-27 17:41                       ` Jason Cooper
     [not found]                         ` <20160227174100.GG7219-fahSIxCzskDQ+YiMSub0/l6hYfS7NtTn@public.gmane.org>
2016-02-29  8:29                           ` Marc Zyngier
2016-03-03 22:12                       ` Rob Herring
2014-04-16 17:17             ` [PATCH v4 12/21] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2014-04-16 18:35               ` One Thousand Gnomes
2014-04-16 19:01                 ` Sergei Ianovich
2014-04-16 20:00                   ` One Thousand Gnomes
     [not found]                     ` <20140416210051.01bef49e-mUKnrFFms3BCCTY1wZZT65JpZx93mCW/@public.gmane.org>
2014-04-16 20:32                       ` Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 13/21] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2014-04-16 18:41               ` One Thousand Gnomes
2014-04-16 18:42                 ` Arnd Bergmann
2014-04-16 20:29                   ` One Thousand Gnomes
2014-04-16 19:53                 ` Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 14/21] misc: support for LP-8x4x rotary switch Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 15/21] misc: support for LP-8x4x DIP switch Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 16/21] misc: support for writing to LP-8x4x EEPROM Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 17/21] misc: support for serial slots in LP-8x4x Sergei Ianovich
2014-04-16 17:17             ` [PATCH v4 18/21] misc: support for parallel " Sergei Ianovich
     [not found]             ` <1397668667-27328-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-15 21:04               ` [PATCH v5] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2015-12-15 21:51                 ` Arnd Bergmann
2015-12-16  8:04                   ` Sergei Ianovich
2015-12-16 10:26                     ` Arnd Bergmann
2015-12-19  8:11                       ` Sergei Ianovich
2015-12-19 21:42                   ` Sergei Ianovich
2015-12-17 14:50                 ` Andy Shevchenko
     [not found]                 ` <1450213494-21884-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-27 16:14                   ` [PATCH v6] " Sergei Ianovich
     [not found]                     ` <1456589675-25377-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-29 10:29                       ` Andy Shevchenko
2016-02-29 13:03                         ` Sergei Ianovich
     [not found]                           ` <1456750995.23036.87.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-02-29 14:45                             ` One Thousand Gnomes
2016-02-29 21:26                     ` [PATCH v7] " Sergei Ianovich
     [not found]                       ` <1456781209-11390-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 11:06                         ` Andy Shevchenko
     [not found]                           ` <1456830401.13244.189.camel-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-03-01 16:25                             ` Sergei Ianovich
2016-03-01 16:46                               ` Andy Shevchenko
     [not found]                                 ` <1456850782.13244.208.camel-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-03-01 17:14                                   ` Sergei Ianovich
     [not found]                                     ` <1456852472.23036.124.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 17:48                                       ` Andy Shevchenko
2016-03-01 18:43                                         ` One Thousand Gnomes
     [not found]                                         ` <1456854532.13244.215.camel-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-03-01 19:28                                           ` Sergei Ianovich
     [not found]                                             ` <1456860493.23036.133.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 19:53                                               ` One Thousand Gnomes
2016-03-01 19:54                       ` [PATCH v8] " Sergei Ianovich
     [not found]                         ` <1456862078-11795-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 20:08                           ` [PATCH v9] " Sergei Ianovich
     [not found]                             ` <1456862903-12392-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 20:23                               ` Andy Shevchenko
2016-03-01 21:25                             ` [PATCH v10] " Sergei Ianovich
2016-03-05  4:26                               ` Rob Herring
     [not found]       ` <1449700088-28076-1-git-send-email-ynvich@gmail.com>
     [not found]         ` <1449700088-28076-1-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-09 22:28           ` [PATCH v4 2/2] arm: pxa27x: support for ICP DAS LP-8x4x w/ DT Sergei Ianovich
2015-12-11  2:53             ` Rob Herring
     [not found]             ` <1449700088-28076-3-git-send-email-ynvich-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-15 16:27               ` [PATCH v5 " Sergei Ianovich
2015-12-15 16:32                 ` Arnd Bergmann
2015-12-15 16:42                   ` Sergei Ianovich
2015-12-15 17:02                     ` Arnd Bergmann
2015-12-15 17:24                       ` Sergei Ianovich
2015-12-15 18:06                         ` Robert Jarzmik
2015-12-15 18:50                           ` Sergei Ianovich
     [not found]                             ` <1450205413.21989.44.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-15 19:21                               ` Arnd Bergmann
2015-12-15 20:01                                 ` Robert Jarzmik
2015-12-15 20:40                                   ` Arnd Bergmann
2015-12-19 12:27                       ` Robert Jarzmik

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=56715104.9040309@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jason@lakedaemon.net \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=list@foss.arm.com \
    --cc=mark.rutland@arm.com \
    --cc=open@foss.arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=ynvich@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).