Skip to content

Commit

Permalink
powerpc/qe: Implement QE driver for handling resume on MPC85xx
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Anton Vorontsov authored and Kumar Gala committed Nov 12, 2009
1 parent 4c1fba4 commit fdfde24
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions arch/powerpc/sysdev/qe_lib/qe.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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 of_register_platform_driver(&qe_driver);
}
device_initcall(qe_drv_init);
#endif /* defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) */

0 comments on commit fdfde24

Please sign in to comment.