aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch')
-rwxr-xr-xtarget/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch121
1 files changed, 0 insertions, 121 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch b/target/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch
deleted file mode 100755
index c37e6fc0b5..0000000000
--- a/target/linux/s3c24xx/patches-2.6.26/1130-From-cc08b5986dfd8d971ee46ce7045fb7863f99a92a-Mon-Se.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 348e7db53a04b7d98e0f63f372b86882a995d3c8 Mon Sep 17 00:00:00 2001
-From: Matt Hsu <matt_hsu@openmoko.org>
-Date: Fri, 25 Jul 2008 23:06:07 +0100
-Subject: [PATCH] From cc08b5986dfd8d971ee46ce7045fb7863f99a92a Mon Sep 17 00:00:00 2001
- Subject: [PATCH] - add suspend/resume function of s3c24xx_hcd driver
-
-Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>
----
- drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c | 65 ++++++++++++++++++++++++++++++++
- drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.h | 14 +++++++
- 2 files changed, 79 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
-index af0066d..fdc69a0 100644
---- a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
-+++ b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
-@@ -1365,11 +1365,76 @@ static int s3c24xx_hcd_remove(struct platform_device * pdev) {
- return 0;
- }
-
-+#ifdef CONFIG_PM
-+
-+static int s3c24xx_hcd_suspend(struct platform_device * pdev)
-+{
-+ struct s3c24xx_hcd_context * context = &hcd_context;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&context->lock, flags);
-+
-+ context->suspend_regs.con = readl(context->base + S3C2410_SDICON);
-+ context->suspend_regs.pre = readl(context->base + S3C2410_SDIPRE);
-+ context->suspend_regs.cmdarg = readl(context->base + S3C2410_SDICMDARG);
-+ context->suspend_regs.cmdcon = readl(context->base + S3C2410_SDICMDCON);
-+ context->suspend_regs.cmdsta = readl(context->base + S3C2410_SDICMDSTAT);
-+ context->suspend_regs.r0 = readl(context->base + S3C2410_SDIRSP0);
-+ context->suspend_regs.r1 = readl(context->base + S3C2410_SDIRSP1);
-+ context->suspend_regs.r2 = readl(context->base + S3C2410_SDIRSP2);
-+ context->suspend_regs.r3 = readl(context->base + S3C2410_SDIRSP3);
-+ context->suspend_regs.timer = readl(context->base + S3C2410_SDITIMER);
-+ context->suspend_regs.bsize = readl(context->base + S3C2410_SDIBSIZE);
-+ context->suspend_regs.datcon = readl(context->base + S3C2410_SDIDCON);
-+ context->suspend_regs.datcnt = readl(context->base + S3C2410_SDIDCNT);
-+ context->suspend_regs.datsta = readl(context->base + S3C2410_SDIDSTA);
-+ context->suspend_regs.fsta = readl(context->base + S3C2410_SDIFSTA);
-+ context->suspend_regs.imask = readl(context->base + S3C2440_SDIIMSK);
-+
-+ spin_unlock_irqrestore(&context->lock, flags);
-+ return 0;
-+}
-+
-+static int s3c24xx_hcd_resume(struct platform_device * pdev)
-+{
-+ struct s3c24xx_hcd_context * context = &hcd_context;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&context->lock, flags);
-+
-+ writel(context->suspend_regs.con, context->base + S3C2410_SDICON);
-+ writel(context->suspend_regs.pre, context->base + S3C2410_SDIPRE);
-+ writel(context->suspend_regs.cmdarg, context->base + S3C2410_SDICMDARG);
-+ writel(context->suspend_regs.cmdcon, context->base + S3C2410_SDICMDCON);
-+ writel(context->suspend_regs.cmdsta, context->base + S3C2410_SDICMDSTAT);
-+ writel(context->suspend_regs.r0, context->base + S3C2410_SDIRSP0);
-+ writel(context->suspend_regs.r1, context->base + S3C2410_SDIRSP1);
-+ writel(context->suspend_regs.r2, context->base + S3C2410_SDIRSP2);
-+ writel(context->suspend_regs.r3, context->base + S3C2410_SDIRSP3);
-+ writel(context->suspend_regs.timer, context->base + S3C2410_SDITIMER);
-+ writel(context->suspend_regs.bsize, context->base + S3C2410_SDIBSIZE);
-+ writel(context->suspend_regs.datcon, context->base + S3C2410_SDIDCON);
-+ writel(context->suspend_regs.datcnt, context->base + S3C2410_SDIDCNT);
-+ writel(context->suspend_regs.datsta, context->base + S3C2410_SDIDSTA);
-+ writel(context->suspend_regs.fsta, context->base + S3C2410_SDIFSTA);
-+ writel(context->suspend_regs.imask, context->base + S3C2440_SDIIMSK);
-+
-+ spin_unlock_irqrestore(&context->lock, flags);
-+ return 0;
-+}
-+
-+#else
-+#define s3c24xx_hcd_suspend = NULL
-+#define s3c24xx_hcd_resume = NULL
-+#endif
-+
- static struct platform_driver s3c24xx_hcd_sdio =
- {
- .driver.name = "s3c24xx-sdio",
- .probe = s3c24xx_hcd_probe,
- .remove = s3c24xx_hcd_remove,
-+ .suspend = s3c24xx_hcd_suspend,
-+ .resume = s3c24xx_hcd_resume,
- };
-
- #ifdef CONFIG_DEBUG_FS
-diff --git a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.h b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.h
-index eb262fc..47fdd33 100644
---- a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.h
-+++ b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.h
-@@ -57,6 +57,20 @@ struct s3c24xx_hcd_context {
-
- struct work_struct io_work;
- struct work_struct irq_work;
-+
-+#ifdef CONFIG_PM
-+ struct {
-+ UINT32 con;
-+ UINT32 pre;
-+ UINT32 cmdarg, cmdcon, cmdsta;
-+ UINT32 r0, r1, r2, r3;
-+ UINT32 timer;
-+ UINT32 bsize;
-+ UINT32 datcon, datcnt, datsta;
-+ UINT32 fsta;
-+ UINT32 imask;
-+ } suspend_regs;
-+#endif
- };
-
- SDIO_STATUS s3c24xx_hcd_config(PSDHCD hcd, PSDCONFIG config);
---
-1.5.6.3
-