diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1184-fix-glamo-mci-resume-dependency-on-pcf50633.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1184-fix-glamo-mci-resume-dependency-on-pcf50633.patch.patch | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1184-fix-glamo-mci-resume-dependency-on-pcf50633.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1184-fix-glamo-mci-resume-dependency-on-pcf50633.patch.patch deleted file mode 100644 index d532467897..0000000000 --- a/target/linux/s3c24xx/patches-2.6.24/1184-fix-glamo-mci-resume-dependency-on-pcf50633.patch.patch +++ /dev/null @@ -1,162 +0,0 @@ -From b73e3db4efa3409bd3c559d848e71e1519960d07 Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Wed, 2 Jul 2008 22:39:48 +0100 -Subject: [PATCH] fix-glamo-mci-resume-dependency-on-pcf50633.patch - -Glamo MCI has a resume order dependncy on pcf50633, it has to be able to -power the SD slot via it. -Signed-off-by: Andy Green <andy@openmoko.com> ---- - arch/arm/mach-s3c2440/mach-gta02.c | 25 +++++++++++++++++++++++++ - drivers/mfd/glamo/glamo-core.c | 8 ++++++++ - drivers/mfd/glamo/glamo-core.h | 3 +++ - drivers/mfd/glamo/glamo-mci.c | 11 ++++++++++- - include/linux/glamofb.h | 2 ++ - 5 files changed, 48 insertions(+), 1 deletions(-) - -diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c -index 69a952a..64d275d 100644 ---- a/arch/arm/mach-s3c2440/mach-gta02.c -+++ b/arch/arm/mach-s3c2440/mach-gta02.c -@@ -92,6 +92,8 @@ static spinlock_t motion_irq_lock; - struct resume_dependency resume_dep_jbt_pcf; - /* the dependency of jbt / LCM on glamo resume */ - struct resume_dependency resume_dep_jbt_glamo; -+/* the dependency of Glamo MCI on pcf50633 resume (has to power SD slot) */ -+struct resume_dependency resume_dep_glamo_mci_pcf; - - - /* define FIQ IPC struct */ -@@ -1317,6 +1319,26 @@ gta02_glamo_mmc_set_power(unsigned char power_mode, unsigned short vdd) - } - } - -+ -+static int gta02_glamo_mci_all_dependencies_resumed(struct platform_device *dev) -+{ -+ return resume_dep_glamo_mci_pcf.called_flag; -+} -+ -+/* register jbt resume action to be dependent on pcf50633 and glamo resume */ -+ -+static void gta02_glamo_mci_suspending(struct platform_device *dev) -+{ -+ void glamo_mci_resume(void *dev); /* little white lies about types */ -+ -+ resume_dep_glamo_mci_pcf.callback = glamo_mci_resume; -+ resume_dep_glamo_mci_pcf.context = (void *)dev; -+ pcf50633_register_resume_dependency(pcf50633_global, -+ &resume_dep_glamo_mci_pcf); -+} -+ -+ -+ - /* Smedia Glamo 3362 */ - - static struct glamofb_platform_data gta02_glamo_pdata = { -@@ -1352,6 +1374,9 @@ static struct glamofb_platform_data gta02_glamo_pdata = { - /* glamo MMC function platform data */ - .glamo_set_mci_power = gta02_glamo_mmc_set_power, - .glamo_irq_is_wired = glamo_irq_is_wired, -+ .mci_suspending = gta02_glamo_mci_suspending, -+ .mci_all_dependencies_resumed = -+ gta02_glamo_mci_all_dependencies_resumed, - }; - - static struct resource gta02_glamo_resources[] = { -diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c -index 4925e62..608721e 100644 ---- a/drivers/mfd/glamo/glamo-core.c -+++ b/drivers/mfd/glamo/glamo-core.c -@@ -270,6 +270,8 @@ struct glamo_mci_pdata glamo_mci_def_pdata = { - .glamo_set_mci_power = NULL, /* filled in from MFD platform data */ - .ocr_avail = MMC_VDD_32_33, - .glamo_irq_is_wired = NULL, /* filled in from MFD platform data */ -+ .mci_suspending = NULL, /* filled in from MFD platform data */ -+ .mci_all_dependencies_resumed = NULL, /* filled in from MFD platform data */ - }; - EXPORT_SYMBOL_GPL(glamo_mci_def_pdata); - -@@ -1111,6 +1113,10 @@ static int __init glamo_probe(struct platform_device *pdev) - glamo->pdata->glamo_set_mci_power; - glamo_mci_def_pdata.glamo_irq_is_wired = - glamo->pdata->glamo_irq_is_wired; -+ glamo_mci_def_pdata.mci_suspending = -+ glamo->pdata->mci_suspending; -+ glamo_mci_def_pdata.mci_all_dependencies_resumed = -+ glamo->pdata->mci_all_dependencies_resumed; - - glamo_2d_dev.dev.parent = &pdev->dev; - mangle_mem_resources(glamo_2d_dev.resource, -@@ -1180,6 +1186,8 @@ static int __init glamo_probe(struct platform_device *pdev) - glamo_pll_rate(glamo, GLAMO_PLL1), - glamo_pll_rate(glamo, GLAMO_PLL2)); - -+ glamo_lcm_reset(1); -+ - for (irq = IRQ_GLAMO(0); irq <= IRQ_GLAMO(8); irq++) { - set_irq_chip(irq, &glamo_irq_chip); - set_irq_handler(irq, handle_level_irq); -diff --git a/drivers/mfd/glamo/glamo-core.h b/drivers/mfd/glamo/glamo-core.h -index 1fee059..b1531b3 100644 ---- a/drivers/mfd/glamo/glamo-core.h -+++ b/drivers/mfd/glamo/glamo-core.h -@@ -71,6 +71,9 @@ struct glamo_mci_pdata { - void (*glamo_set_mci_power)(unsigned char power_mode, - unsigned short vdd); - int (*glamo_irq_is_wired)(void); -+ void (*mci_suspending)(struct platform_device *dev); -+ int (*mci_all_dependencies_resumed)(struct platform_device *dev); -+ - }; - - -diff --git a/drivers/mfd/glamo/glamo-mci.c b/drivers/mfd/glamo/glamo-mci.c -index 7869325..f264a6c 100644 ---- a/drivers/mfd/glamo/glamo-mci.c -+++ b/drivers/mfd/glamo/glamo-mci.c -@@ -817,18 +817,27 @@ static int glamo_mci_suspend(struct platform_device *dev, pm_message_t state) - struct glamo_mci_host *host = mmc_priv(mmc); - - host->suspending++; -+ if (host->pdata->mci_all_dependencies_resumed) -+ (host->pdata->mci_suspending)(dev); -+ - return mmc_suspend_host(mmc, state); - } - --static int glamo_mci_resume(struct platform_device *dev) -+int glamo_mci_resume(struct platform_device *dev) - { - struct mmc_host *mmc = platform_get_drvdata(dev); - struct glamo_mci_host *host = mmc_priv(mmc); - -+ if (host->pdata->mci_all_dependencies_resumed) -+ if (!(host->pdata->mci_all_dependencies_resumed)(dev)) -+ return 0; -+ - host->suspending--; - - return mmc_resume_host(mmc); - } -+EXPORT_SYMBOL_GPL(glamo_mci_resume); -+ - - #else /* CONFIG_PM */ - #define glamo_mci_suspend NULL -diff --git a/include/linux/glamofb.h b/include/linux/glamofb.h -index bb4ed0a..bb1a398 100644 ---- a/include/linux/glamofb.h -+++ b/include/linux/glamofb.h -@@ -32,6 +32,8 @@ struct glamofb_platform_data { - void (*glamo_set_mci_power)(unsigned char power_mode, - unsigned short vdd); - int (*glamo_irq_is_wired)(void); -+ void (*mci_suspending)(struct platform_device *dev); -+ int (*mci_all_dependencies_resumed)(struct platform_device *dev); - }; - - int glamofb_cmd_mode(struct glamofb_handle *gfb, int on); --- -1.5.6.5 - |