powerpc/qe: Implement QE driver for handling resume on MPC85xx

Previous thread: powerpc/macio: Add dma_parms support to macio by Linux Kernel Mailing List on Saturday, December 12, 2009 - 4:59 pm. (1 message)

Next thread: powerpc/pseries: Use irq_has_action() in eeh_disable_irq() by Linux Kernel Mailing List on Saturday, December 12, 2009 - 4:59 pm. (1 message)
From: Linux Kernel Mailing List
Date: Saturday, December 12, 2009 - 4:59 pm

Gitweb:     http://git.kernel.org/linus/fdfde24e108b49373f8702d5b9981217f35315d8
Commit:     fdfde24e108b49373f8702d5b9981217f35315d8
Parent:     4c1fba442960cfa2fd6333b9fec7d5b85c5fa29f
Author:     Anton Vorontsov <avorontsov@ru.mvista.com>
AuthorDate: Wed Sep 16 01:43:55 2009 +0400
Committer:  Kumar Gala <galak@kernel.crashing.org>
CommitDate: Wed Nov 11 21:43:27 2009 -0600

    powerpc/qe: Implement QE driver for handling resume on MPC85xx
    
    So far the driver is used to reset QE upon resume, which is needed on
    85xx. Later we can move some QE initialization steps into probe().
    
    Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/sysdev/qe_lib/qe.c |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
index 4eaf2a9..149393c 100644
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
@@ -27,6 +27,8 @@
 #include <linux/delay.h>
 #include <linux/ioport.h>
 #include <linux/crc32.h>
+#include <linux/mod_devicetable.h>
+#include <linux/of_platform.h>
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/pgtable.h>
@@ -647,3 +649,35 @@ unsigned int qe_get_num_of_snums(void)
 	return num_of_snums;
 }
 EXPORT_SYMBOL(qe_get_num_of_snums);
+
+#if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx)
+static int qe_resume(struct of_device *ofdev)
+{
+	if (!qe_alive_during_sleep())
+		qe_reset();
+	return 0;
+}
+
+static int qe_probe(struct of_device *ofdev, const struct of_device_id *id)
+{
+	return 0;
+}
+
+static const struct of_device_id qe_ids[] = {
+	{ .compatible = "fsl,qe", },
+	{ },
+};
+
+static struct of_platform_driver qe_driver = {
+	.driver.name = "fsl-qe",
+	.match_table = qe_ids,
+	.probe = qe_probe,
+	.resume = qe_resume,
+};
+
+static int __init qe_drv_init(void)
+{
+	return ...
Previous thread: powerpc/macio: Add dma_parms support to macio by Linux Kernel Mailing List on Saturday, December 12, 2009 - 4:59 pm. (1 message)

Next thread: powerpc/pseries: Use irq_has_action() in eeh_disable_irq() by Linux Kernel Mailing List on Saturday, December 12, 2009 - 4:59 pm. (1 message)