public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: lizf@kernel.org
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Robert Jarzmik <robert.jarzmik@free.fr>,
	Zefan Li <lizefan@huawei.com>
Subject: [PATCH 3.4 070/146] ARM: pxa: pxa_cplds: add lubbock and mainstone IO
Date: Tue, 15 Sep 2015 17:03:05 +0800	[thread overview]
Message-ID: <1442307861-32031-70-git-send-email-lizf@kernel.org> (raw)
In-Reply-To: <1442307787-31952-1-git-send-email-lizf@kernel.org>

From: Robert Jarzmik <robert.jarzmik@free.fr>

3.4.109-rc1 review patch.  If anyone has any objections, please let me know.

------------------


commit aa8d6b73ea33c2167c543663ab66039ec94d58f1 upstream.

Historically, this support was in arch/arm/mach-pxa/lubbock.c and
arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa,
it became a driver, and its initialization and probing happened at
postcore initcall. The lubbock code used to install the chained lubbock
interrupt handler at init_irq() time.

The consequence of the gpio-pxa change is that the installed chained irq
handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(),
removing :
 - the handler
 - the falling edge detection setting of GPIO0, which revealed the
   interrupt request from the lubbock IO board.

As a fix, move the gpio0 chained handler setup to a place where we have
the guarantee that pxa_gpio_probe() was called before, so that lubbock
handler becomes the true IRQ chained handler of GPIO0, demuxing the
lubbock IO board interrupts.

This patch moves all that handling to a mfd driver. It's only purpose
for the time being is the interrupt handling, but in the future it
should encompass all the motherboard CPLDs handling :
 - leds
 - switches
 - hexleds

The same logic applies to mainstone board.

Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device")
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Zefan Li <lizefan@huawei.com>
---
 arch/arm/mach-pxa/Kconfig          |   9 ++
 arch/arm/mach-pxa/Makefile         |   1 +
 arch/arm/mach-pxa/pxa_cplds_irqs.c | 200 +++++++++++++++++++++++++++++++++++++
 3 files changed, 210 insertions(+)
 create mode 100644 arch/arm/mach-pxa/pxa_cplds_irqs.c

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index fe2d1f8..2f8b171 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -718,4 +718,13 @@ config PXA_HAVE_ISA_IRQS
 config PXA310_ULPI
 	bool
 
+config PXA_SYSTEMS_CPLDS
+	tristate "Motherboard cplds"
+	default ARCH_LUBBOCK || MACH_MAINSTONE
+	help
+	  This driver supports the Lubbock and Mainstone multifunction chip
+	  found on the pxa25x development platform system (Lubbock) and pxa27x
+	  development platform system (Mainstone). This IO board supports the
+	  interrupts handling, ethernet controller, flash chips, etc ...
+
 endif
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index be0f7df..318c0d7 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -103,4 +103,5 @@ led-$(CONFIG_ARCH_PXA_IDP)	+= leds-idp.o
 
 obj-$(CONFIG_LEDS)		+= $(led-y)
 
+obj-$(CONFIG_PXA_SYSTEMS_CPLDS)	+= pxa_cplds_irqs.o
 obj-$(CONFIG_TOSA_BT)		+= tosa-bt.o
diff --git a/arch/arm/mach-pxa/pxa_cplds_irqs.c b/arch/arm/mach-pxa/pxa_cplds_irqs.c
new file mode 100644
index 0000000..f1aeb54
--- /dev/null
+++ b/arch/arm/mach-pxa/pxa_cplds_irqs.c
@@ -0,0 +1,200 @@
+/*
+ * Intel Reference Systems cplds
+ *
+ * Copyright (C) 2014 Robert Jarzmik
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Cplds motherboard driver, supporting lubbock and mainstone SoC board.
+ */
+
+#include <linux/bitops.h>
+#include <linux/gpio.h>
+#include <linux/gpio/consumer.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+#include <linux/irqdomain.h>
+#include <linux/mfd/core.h>
+#include <linux/module.h>
+#include <linux/of_platform.h>
+
+#define FPGA_IRQ_MASK_EN 0x0
+#define FPGA_IRQ_SET_CLR 0x10
+
+#define CPLDS_NB_IRQ	32
+
+struct cplds {
+	void __iomem *base;
+	int irq;
+	unsigned int irq_mask;
+	struct gpio_desc *gpio0;
+	struct irq_domain *irqdomain;
+};
+
+static irqreturn_t cplds_irq_handler(int in_irq, void *d)
+{
+	struct cplds *fpga = d;
+	unsigned long pending;
+	unsigned int bit;
+
+	pending = readl(fpga->base + FPGA_IRQ_SET_CLR) & fpga->irq_mask;
+	for_each_set_bit(bit, &pending, CPLDS_NB_IRQ)
+		generic_handle_irq(irq_find_mapping(fpga->irqdomain, bit));
+
+	return IRQ_HANDLED;
+}
+
+static void cplds_irq_mask_ack(struct irq_data *d)
+{
+	struct cplds *fpga = irq_data_get_irq_chip_data(d);
+	unsigned int cplds_irq = irqd_to_hwirq(d);
+	unsigned int set, bit = BIT(cplds_irq);
+
+	fpga->irq_mask &= ~bit;
+	writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN);
+	set = readl(fpga->base + FPGA_IRQ_SET_CLR);
+	writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR);
+}
+
+static void cplds_irq_unmask(struct irq_data *d)
+{
+	struct cplds *fpga = irq_data_get_irq_chip_data(d);
+	unsigned int cplds_irq = irqd_to_hwirq(d);
+	unsigned int bit = BIT(cplds_irq);
+
+	fpga->irq_mask |= bit;
+	writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN);
+}
+
+static struct irq_chip cplds_irq_chip = {
+	.name		= "pxa_cplds",
+	.irq_mask_ack	= cplds_irq_mask_ack,
+	.irq_unmask	= cplds_irq_unmask,
+	.flags		= IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE,
+};
+
+static int cplds_irq_domain_map(struct irq_domain *d, unsigned int irq,
+				   irq_hw_number_t hwirq)
+{
+	struct cplds *fpga = d->host_data;
+
+	irq_set_chip_and_handler(irq, &cplds_irq_chip, handle_level_irq);
+	irq_set_chip_data(irq, fpga);
+
+	return 0;
+}
+
+static const struct irq_domain_ops cplds_irq_domain_ops = {
+	.xlate = irq_domain_xlate_twocell,
+	.map = cplds_irq_domain_map,
+};
+
+static int cplds_resume(struct platform_device *pdev)
+{
+	struct cplds *fpga = platform_get_drvdata(pdev);
+
+	writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN);
+
+	return 0;
+}
+
+static int cplds_probe(struct platform_device *pdev)
+{
+	struct resource *res;
+	struct cplds *fpga;
+	int ret;
+	unsigned int base_irq = 0;
+	unsigned long irqflags = 0;
+
+	fpga = devm_kzalloc(&pdev->dev, sizeof(*fpga), GFP_KERNEL);
+	if (!fpga)
+		return -ENOMEM;
+
+	res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+	if (res) {
+		fpga->irq = (unsigned int)res->start;
+		irqflags = res->flags;
+	}
+	if (!fpga->irq)
+		return -ENODEV;
+
+	base_irq = platform_get_irq(pdev, 1);
+	if (base_irq < 0)
+		base_irq = 0;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	fpga->base = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(fpga->base))
+		return PTR_ERR(fpga->base);
+
+	platform_set_drvdata(pdev, fpga);
+
+	writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN);
+	writel(0, fpga->base + FPGA_IRQ_SET_CLR);
+
+	ret = devm_request_irq(&pdev->dev, fpga->irq, cplds_irq_handler,
+			       irqflags, dev_name(&pdev->dev), fpga);
+	if (ret == -ENOSYS)
+		return -EPROBE_DEFER;
+
+	if (ret) {
+		dev_err(&pdev->dev, "couldn't request main irq%d: %d\n",
+			fpga->irq, ret);
+		return ret;
+	}
+
+	irq_set_irq_wake(fpga->irq, 1);
+	fpga->irqdomain = irq_domain_add_linear(pdev->dev.of_node,
+					       CPLDS_NB_IRQ,
+					       &cplds_irq_domain_ops, fpga);
+	if (!fpga->irqdomain)
+		return -ENODEV;
+
+	if (base_irq) {
+		ret = irq_create_strict_mappings(fpga->irqdomain, base_irq, 0,
+						 CPLDS_NB_IRQ);
+		if (ret) {
+			dev_err(&pdev->dev, "couldn't create the irq mapping %d..%d\n",
+				base_irq, base_irq + CPLDS_NB_IRQ);
+			return ret;
+		}
+	}
+
+	return 0;
+}
+
+static int cplds_remove(struct platform_device *pdev)
+{
+	struct cplds *fpga = platform_get_drvdata(pdev);
+
+	irq_set_chip_and_handler(fpga->irq, NULL, NULL);
+
+	return 0;
+}
+
+static const struct of_device_id cplds_id_table[] = {
+	{ .compatible = "intel,lubbock-cplds-irqs", },
+	{ .compatible = "intel,mainstone-cplds-irqs", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, cplds_id_table);
+
+static struct platform_driver cplds_driver = {
+	.driver		= {
+		.name	= "pxa_cplds_irqs",
+		.of_match_table = of_match_ptr(cplds_id_table),
+	},
+	.probe		= cplds_probe,
+	.remove		= cplds_remove,
+	.resume		= cplds_resume,
+};
+
+module_platform_driver(cplds_driver);
+
+MODULE_DESCRIPTION("PXA Cplds interrupts driver");
+MODULE_AUTHOR("Robert Jarzmik <robert.jarzmik@free.fr>");
+MODULE_LICENSE("GPL");
-- 
1.9.1


  parent reply	other threads:[~2015-09-15  9:09 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-15  9:03 [PATCH 3.4 000/146] 3.4.109-rc1 review lizf
2015-09-15  9:01 ` [PATCH 3.4 001/146] ipv6: add check for blackhole or prohibited entry in rt6_redire lizf
2015-09-15  9:01 ` [PATCH 3.4 002/146] Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card lizf
2015-09-15  9:01 ` [PATCH 3.4 003/146] Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() lizf
2015-09-15  9:01 ` [PATCH 3.4 004/146] e1000: add dummy allocator to fix race condition between mtu change and netpoll lizf
2015-09-15  9:02 ` [PATCH 3.4 005/146] KVM: s390: Zero out current VMDB of STSI before including level3 data lizf
2015-09-15  9:02 ` [PATCH 3.4 006/146] usb: musb: core: fix TX/RX endpoint order lizf
2015-09-15  9:02 ` [PATCH 3.4 007/146] pinctrl: remove maxpin from documentation lizf
2015-09-15  9:02 ` [PATCH 3.4 008/146] compal-laptop: Check return value of power_supply_register lizf
2015-09-15  9:02 ` [PATCH 3.4 009/146] pinctrl: remove doc mention of the enable/disable API lizf
2015-09-15  9:02 ` [PATCH 3.4 010/146] pinctrl: fix example .get_group_pins implementation signature lizf
2015-09-15  9:02 ` [PATCH 3.4 011/146] drm/radeon: fix doublescan modes (v2) lizf
2015-09-15  9:02 ` [PATCH 3.4 012/146] usb: common: otg-fsm: only signal connect after switching to peripheral lizf
2015-09-15  9:02 ` [PATCH 3.4 013/146] ASoC: wm8741: Fix rates constraints values lizf
2015-09-15  9:02 ` [PATCH 3.4 014/146] cdc-wdm: fix endianness bug in debug statements lizf
2015-09-15  9:02 ` [PATCH 3.4 015/146] staging: panel: fix lcd type lizf
2015-09-15  9:02 ` [PATCH 3.4 016/146] UBI: fix out of bounds write lizf
2015-09-15  9:02 ` [PATCH 3.4 017/146] UBI: initialize LEB number variable lizf
2015-09-15  9:02 ` [PATCH 3.4 018/146] UBI: fix check for "too many bytes" lizf
2015-09-15  9:02 ` [PATCH 3.4 019/146] C6x: time: Ensure consistency in __init lizf
2015-09-15  9:02 ` [PATCH 3.4 020/146] Drivers: hv: vmbus: Don't wait after requesting offers lizf
2015-09-15  9:02 ` [PATCH 3.4 021/146] Btrfs: fix log tree corruption when fs mounted with -o discard lizf
2015-09-15  9:02 ` [PATCH 3.4 022/146] btrfs: don't accept bare namespace as a valid xattr lizf
2015-09-15  9:02 ` [PATCH 3.4 023/146] ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE lizf
2015-09-15  9:02 ` [PATCH 3.4 024/146] rtlwifi: rtl8192cu: Add new USB ID lizf
2015-09-15  9:02 ` [PATCH 3.4 025/146] ASoC: cs4271: Increase delay time after reset lizf
2015-09-15  9:02 ` [PATCH 3.4 026/146] ext4: make fsync to sync parent dir in no-journal for real this time lizf
2015-09-15  9:02 ` [PATCH 3.4 027/146] jhash: Update jhash_[321]words functions to use correct initval lizf
2015-09-15  9:02 ` [PATCH 3.4 028/146] Input: elantech - fix absolute mode setting on some ASUS laptops lizf
2015-09-15  9:02 ` [PATCH 3.4 029/146] RDS: Documentation: Document AF_RDS, PF_RDS and SOL_RDS correctly lizf
2015-09-15  9:02 ` [PATCH 3.4 030/146] selinux/nlmsg: add XFRM_MSG_GETSPDINFO lizf
2015-09-15  9:02 ` [PATCH 3.4 031/146] selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO lizf
2015-09-15  9:02 ` [PATCH 3.4 032/146] x86/iommu: Fix header comments regarding standard and _FINISH macros lizf
2015-09-15  9:02 ` [PATCH 3.4 033/146] scsi: storvsc: Fix a bug in copy_from_bounce_buffer() lizf
2015-09-15  9:02 ` [PATCH 3.4 034/146] ALSA: emu10k1: don't deadlock in proc-functions lizf
2015-09-15  9:02 ` [PATCH 3.4 035/146] MIPS: Hibernate: flush TLB entries earlier lizf
2015-09-15  9:02 ` [PATCH 3.4 036/146] powerpc: Fix missing L2 cache size in /sys/devices/system/cpu lizf
2015-09-15  9:02 ` [PATCH 3.4 037/146] selinux/nlmsg: add XFRM_MSG_REPORT lizf
2015-09-15  9:02 ` [PATCH 3.4 038/146] selinux/nlmsg: add XFRM_MSG_MIGRATE lizf
2015-09-15  9:02 ` [PATCH 3.4 039/146] selinux/nlmsg: add XFRM_MSG_MAPPING lizf
2015-09-15  9:02 ` [PATCH 3.4 040/146] s390/hibernate: fix save and restore of kernel text section lizf
2015-09-15  9:02 ` [PATCH 3.4 041/146] Btrfs: fix inode eviction infinite loop after cloning into it lizf
2015-09-15  9:02 ` [PATCH 3.4 042/146] powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH lizf
2015-09-15  9:02 ` [PATCH 3.4 043/146] ACPICA: Utilities: split IO address types from data type models lizf
2015-09-15  9:02 ` [PATCH 3.4 044/146] fs/binfmt_elf.c: fix bug in loading of PIE binaries lizf
2015-09-15  9:02 ` [PATCH 3.4 045/146] dm crypt: fix deadlock when async crypto algorithm returns -EBUSY lizf
2015-09-15  9:02 ` [PATCH 3.4 046/146] IB/core: disallow registering 0-sized memory region lizf
2015-09-15  9:02 ` [PATCH 3.4 047/146] IB/mlx4: Fix WQE LSO segment calculation lizf
2015-09-15  9:02 ` [PATCH 3.4 048/146] megaraid_sas: use raw_smp_processor_id() lizf
2015-09-15  9:02 ` [PATCH 3.4 049/146] firmware/ihex2fw.c: restore missing default in switch statement lizf
2015-09-15  9:02 ` [PATCH 3.4 050/146] ptrace: fix race between ptrace_resume() and wait_task_stopped() lizf
2015-09-15  9:02 ` [PATCH 3.4 051/146] memstick: mspro_block: add missing curly braces lizf
2015-09-15  9:02 ` [PATCH 3.4 052/146] nfsd: fix nsfd startup race triggering BUG_ON lizf
2015-09-15  9:02 ` [PATCH 3.4 053/146] nfs: don't call blocking operations while !TASK_RUNNING lizf
2015-09-15  9:02 ` [PATCH 3.4 054/146] nfs: fix high load average due to callback thread sleeping lizf
2015-09-15  9:02 ` [PATCH 3.4 055/146] RCU pathwalk breakage when running into a symlink overmounting something lizf
2015-09-15  9:02 ` [PATCH 3.4 056/146] ALSA: hda - Fix mute-LED fixed mode lizf
2015-09-15  9:02 ` [PATCH 3.4 057/146] ALSA: emu10k1: Fix card shortname string buffer overflow lizf
2015-09-15  9:02 ` [PATCH 3.4 058/146] ALSA: emux: Fix mutex deadlock at unloading lizf
2015-09-15  9:02 ` [PATCH 3.4 059/146] drm/radeon: Use drm_calloc_ab for CS relocs lizf
2015-09-15  9:02 ` [PATCH 3.4 060/146] SCSI: add 1024 max sectors black list flag lizf
2015-09-15  9:02 ` [PATCH 3.4 061/146] 3w-sas: fix command completion race lizf
2015-09-15  9:02 ` [PATCH 3.4 062/146] 3w-xxxx: " lizf
2015-09-15  9:02 ` [PATCH 3.4 063/146] 3w-9xxx: " lizf
2015-09-15  9:02 ` [PATCH 3.4 064/146] serial: xilinx: Use platform_get_irq to get irq description structure lizf
2015-09-15  9:03 ` [PATCH 3.4 065/146] serial: of-serial: Remove device_type = "serial" registration lizf
2015-09-15  9:03 ` [PATCH 3.4 066/146] ALSA: emux: Fix mutex deadlock in OSS emulation lizf
2015-09-15  9:03 ` [PATCH 3.4 067/146] ALSA: emu10k1: Emu10k2 32 bit DMA mode lizf
2015-09-15  9:03 ` [PATCH 3.4 068/146] powerpc/pseries: Correct cpu affinity for dlpar added cpus lizf
2015-09-15  9:03 ` [PATCH 3.4 069/146] ext4: move check under lock scope to close a race lizf
2015-09-15  9:03 ` lizf [this message]
2015-09-15  9:03 ` [PATCH 3.4 071/146] ARM: pxa: mainstone: use new pxa_cplds driver lizf
2015-09-15  9:03 ` [PATCH 3.4 072/146] ARM: pxa: lubbock: " lizf
2015-09-15  9:03 ` [PATCH 3.4 073/146] mmc: core: add missing pm event in mmc_pm_notify to fix hib restore lizf
2015-09-15  9:03 ` [PATCH 3.4 074/146] RDMA/CMA: Canonize IPv4 on IPV6 sockets properly lizf
2015-09-15  9:03 ` [PATCH 3.4 075/146] xen/console: Update console event channel on resume lizf
2015-09-15  9:03 ` [PATCH 3.4 076/146] xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() lizf
2015-09-15  9:03 ` [PATCH 3.4 077/146] mm/memory-failure: call shake_page() when error hits thp tail page lizf
2015-09-15  9:03 ` [PATCH 3.4 078/146] nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() lizf
2015-09-15  9:03 ` [PATCH 3.4 079/146] ocfs2: dlm: fix race between purge and get lock resource lizf
2015-09-15  9:03 ` [PATCH 3.4 080/146] libata: Add helper to determine when PHY events should be ignored lizf
2015-09-15  9:03 ` [PATCH 3.4 081/146] libata: Ignore spurious PHY event on LPM policy change lizf
2015-09-15  9:03 ` [PATCH 3.4 082/146] rtlwifi: rtl8192cu: Fix kernel deadlock lizf
2015-09-15  9:03 ` [PATCH 3.4 083/146] USB: cp210x: add ID for KCF Technologies PRN device lizf
2015-09-15  9:03 ` [PATCH 3.4 084/146] USB: pl2303: Remove support for Samsung I330 lizf
2015-09-15  9:03 ` [PATCH 3.4 085/146] USB: visor: Match I330 phone more precisely lizf
2015-09-15  9:03 ` [PATCH 3.4 086/146] nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op lizf
2015-09-15  9:03 ` [PATCH 3.4 087/146] md/raid5: don't record new size if resize_stripes fails lizf
2015-09-15  9:03 ` [PATCH 3.4 088/146] xhci: fix isoc endpoint dequeue from advancing too far on transaction error lizf
2015-09-15  9:03 ` [PATCH 3.4 089/146] xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256 lizf
2015-09-15  9:03 ` [PATCH 3.4 090/146] xhci: gracefully handle xhci_irq dead device lizf
2015-09-15  9:03 ` [PATCH 3.4 091/146] usb-storage: Add NO_WP_DETECT quirk for Lacie 059f:0651 devices lizf
2015-09-15  9:03 ` [PATCH 3.4 092/146] ahci: un-staticize ahci_dev_classify lizf
2015-09-15  9:03 ` [PATCH 3.4 093/146] ahci: avoton port-disable reset-quirk lizf
2015-09-15  9:03 ` [PATCH 3.4 094/146] ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits lizf
2015-09-15  9:03 ` [PATCH 3.4 095/146] drm/radeon: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling lizf
2015-09-15  9:03 ` [PATCH 3.4 096/146] ext4: check for zero length extent explicitly lizf
2015-09-15  9:03 ` [PATCH 3.4 097/146] ipvs: fix memory leak in ip_vs_ctl.c lizf
2015-09-15  9:03 ` [PATCH 3.4 098/146] mac80211: move WEP tailroom size check lizf
2015-09-15  9:03 ` [PATCH 3.4 099/146] KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages lizf
2015-09-15  9:03 ` [PATCH 3.4 100/146] ASoC: wm8960: fix "RINPUT3" audio route error lizf
2015-09-15  9:03 ` [PATCH 3.4 101/146] ASoC: wm8994: correct BCLK DIV 348 to 384 lizf
2015-09-15  9:03 ` [PATCH 3.4 102/146] Input: elantech - fix semi-mt protocol for v3 HW lizf
2015-09-15  9:03 ` [PATCH 3.4 103/146] powerpc: Align TOC to 256 bytes lizf
2015-09-15  9:03 ` [PATCH 3.4 104/146] ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724 lizf
2015-09-15  9:03 ` [PATCH 3.4 105/146] mmc: atmel-mci: fix bad variable type for clkdiv lizf
2015-09-15  9:03 ` [PATCH 3.4 106/146] sd: Disable support for 256 byte/sector disks lizf
2015-09-15  9:03 ` [PATCH 3.4 107/146] xen/events: don't bind non-percpu VIRQs with percpu chip lizf
2015-09-15  9:03 ` [PATCH 3.4 108/146] crypto: s390/ghash - Fix incorrect ghash icv buffer handling lizf
2015-09-15  9:03 ` [PATCH 3.4 109/146] bridge: fix parsing of MLDv2 reports lizf
2015-09-15  9:03 ` [PATCH 3.4 110/146] ARM: dts: imx27: only map 4 Kbyte for fec registers lizf
2015-09-15  9:03 ` [PATCH 3.4 111/146] x86/mce: Fix MCE severity messages lizf
2015-09-15  9:03 ` [PATCH 3.4 112/146] x86: bpf_jit: fix compilation of large bpf programs lizf
2015-09-15  9:03 ` [PATCH 3.4 113/146] lguest: fix out-by-one error in address checking lizf
2015-09-15  9:03 ` [PATCH 3.4 114/146] fs, omfs: add NULL terminator in the end up the token list lizf
2015-09-15  9:03 ` [PATCH 3.4 115/146] d_walk() might skip too much lizf
2015-09-15  9:03 ` [PATCH 3.4 116/146] target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST lizf
2015-09-15  9:03 ` [PATCH 3.4 117/146] USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board lizf
2015-09-15  9:03 ` [PATCH 3.4 118/146] ozwpan: Use proper check to prevent heap overflow lizf
2015-09-15  9:03 ` [PATCH 3.4 119/146] ozwpan: divide-by-zero leading to panic lizf
2015-09-15  9:03 ` [PATCH 3.4 120/146] ozwpan: unchecked signed subtraction leads to DoS lizf
2015-09-15  9:03 ` [PATCH 3.4 121/146] drm/i915: Don't skip request retirement if the active list is empty lizf
2015-09-15  9:03 ` [PATCH 3.4 122/146] vfs: read file_handle only once in handle_to_path lizf
2015-09-15  9:03 ` [PATCH 3.4 123/146] Input: elantech - fix detection of touchpads where the revision matches a known rate lizf
2015-09-15  9:03 ` [PATCH 3.4 124/146] ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420 lizf
2015-09-15  9:04 ` [PATCH 3.4 125/146] ALSA: usb-audio: add MAYA44 USB+ mixer control names lizf
2015-09-15  9:04 ` [PATCH 3.4 126/146] USB: cp210x: add ID for HubZ dual ZigBee and Z-Wave dongle lizf
2015-09-15  9:04 ` [PATCH 3.4 127/146] MIPS: Fix enabling of DEBUG_STACKOVERFLOW lizf
2015-09-15  9:04 ` [PATCH 3.4 128/146] bridge: use _bh spinlock variant for br_fdb_update to avoid lockup lizf
2015-09-15  9:04 ` [PATCH 3.4 129/146] bridge: disable softirqs around " lizf
2015-09-15  9:04 ` [PATCH 3.4 130/146] bridge: fix multicast router rlist endless loop lizf
2015-09-15  9:04 ` [PATCH 3.4 131/146] ring-buffer-benchmark: Fix the wrong sched_priority of producer lizf
2015-09-15  9:04 ` [PATCH 3.4 132/146] tracing: Have filter check for balanced ops lizf
2015-09-15  9:04 ` [PATCH 3.4 133/146] udf: Check length of extended attributes and allocation descriptors lizf
2015-09-15  9:04 ` [PATCH 3.4 134/146] md: use kzalloc() when bitmap is disabled lizf
2015-09-15  9:04 ` [PATCH 3.4 135/146] ipv4: Missing sk_nulls_node_init() in ping_unhash() lizf
2015-09-15  9:04 ` [PATCH 3.4 136/146] x86, kvm: use kernel_fpu_begin/end() in kvm_load/put_guest_fpu() lizf
2015-09-15  9:04 ` [PATCH 3.4 137/146] x86, kvm: fix kvm's usage of kernel_fpu_begin/end() lizf
2015-09-15  9:04 ` [PATCH 3.4 138/146] ipmi: fix timeout calculation when bmc is disconnected lizf
2015-09-15  9:04 ` [PATCH 3.4 139/146] net: socket: Fix the wrong returns for recvmsg and sendmsg lizf
2015-09-15  9:04 ` [PATCH 3.4 140/146] bridge: superfluous skb->nfct check in br_nf_dev_queue_xmit lizf
2015-09-15  9:04 ` [PATCH 3.4 141/146] block: fix ext_dev_lock lockdep report lizf
2015-09-15  9:04 ` [PATCH 3.4 142/146] NET: ROSE: Don't dereference NULL neighbour pointer lizf
2015-09-15  9:04 ` [PATCH 3.4 143/146] pipe: iovec: Fix memory corruption when retrying atomic copy as non-atomic lizf
2015-09-15  9:04 ` [PATCH 3.4 144/146] sched: Queue RT tasks to head when prio drops lizf
2015-09-15  9:04 ` [PATCH 3.4 145/146] udp: fix behavior of wrong checksums lizf
2015-09-15  9:04 ` [PATCH 3.4 146/146] ipv6: add check for blackhole or prohibited entry in rt6_redire lizf
2015-09-15  9:18 ` [PATCH 3.4 000/146] 3.4.109-rc1 review lizf
2015-09-15 14:22 ` Guenter Roeck
2015-09-18  1:45   ` Zefan Li
2015-09-18  2:48     ` Zefan Li
2015-09-18  4:05     ` Guenter Roeck

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=1442307861-32031-70-git-send-email-lizf@kernel.org \
    --to=lizf@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=robert.jarzmik@free.fr \
    --cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox