提交 112258b1 编写于 作者: T Tony Lindgren

Merge branch 'for_2.6.38/pm-fixes' of...

Merge branch 'for_2.6.38/pm-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-fixes
...@@ -168,9 +168,10 @@ static void omap3_core_restore_context(void) ...@@ -168,9 +168,10 @@ static void omap3_core_restore_context(void)
* once during boot sequence, but this works as we are not using secure * once during boot sequence, but this works as we are not using secure
* services. * services.
*/ */
static void omap3_save_secure_ram_context(u32 target_mpu_state) static void omap3_save_secure_ram_context(void)
{ {
u32 ret; u32 ret;
int mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
if (omap_type() != OMAP2_DEVICE_TYPE_GP) { if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
/* /*
...@@ -181,7 +182,7 @@ static void omap3_save_secure_ram_context(u32 target_mpu_state) ...@@ -181,7 +182,7 @@ static void omap3_save_secure_ram_context(u32 target_mpu_state)
pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON);
ret = _omap_save_secure_sram((u32 *) ret = _omap_save_secure_sram((u32 *)
__pa(omap3_secure_ram_storage)); __pa(omap3_secure_ram_storage));
pwrdm_set_next_pwrst(mpu_pwrdm, target_mpu_state); pwrdm_set_next_pwrst(mpu_pwrdm, mpu_next_state);
/* Following is for error tracking, it should not happen */ /* Following is for error tracking, it should not happen */
if (ret) { if (ret) {
printk(KERN_ERR "save_secure_sram() returns %08x\n", printk(KERN_ERR "save_secure_sram() returns %08x\n",
...@@ -1094,7 +1095,7 @@ static int __init omap3_pm_init(void) ...@@ -1094,7 +1095,7 @@ static int __init omap3_pm_init(void)
local_fiq_disable(); local_fiq_disable();
omap_dma_global_context_save(); omap_dma_global_context_save();
omap3_save_secure_ram_context(PWRDM_POWER_ON); omap3_save_secure_ram_context();
omap_dma_global_context_restore(); omap_dma_global_context_restore();
local_irq_enable(); local_irq_enable();
......
...@@ -780,8 +780,7 @@ static int omap_sr_autocomp_show(void *data, u64 *val) ...@@ -780,8 +780,7 @@ static int omap_sr_autocomp_show(void *data, u64 *val)
struct omap_sr *sr_info = (struct omap_sr *) data; struct omap_sr *sr_info = (struct omap_sr *) data;
if (!sr_info) { if (!sr_info) {
pr_warning("%s: omap_sr struct for sr_%s not found\n", pr_warning("%s: omap_sr struct not found\n", __func__);
__func__, sr_info->voltdm->name);
return -EINVAL; return -EINVAL;
} }
...@@ -795,8 +794,7 @@ static int omap_sr_autocomp_store(void *data, u64 val) ...@@ -795,8 +794,7 @@ static int omap_sr_autocomp_store(void *data, u64 val)
struct omap_sr *sr_info = (struct omap_sr *) data; struct omap_sr *sr_info = (struct omap_sr *) data;
if (!sr_info) { if (!sr_info) {
pr_warning("%s: omap_sr struct for sr_%s not found\n", pr_warning("%s: omap_sr struct not found\n", __func__);
__func__, sr_info->voltdm->name);
return -EINVAL; return -EINVAL;
} }
...@@ -834,7 +832,8 @@ static int __init omap_sr_probe(struct platform_device *pdev) ...@@ -834,7 +832,8 @@ static int __init omap_sr_probe(struct platform_device *pdev)
if (!pdata) { if (!pdata) {
dev_err(&pdev->dev, "%s: platform data missing\n", __func__); dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
return -EINVAL; ret = -EINVAL;
goto err_free_devinfo;
} }
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
...@@ -966,7 +965,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev) ...@@ -966,7 +965,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev)
} }
sr_info = _sr_lookup(pdata->voltdm); sr_info = _sr_lookup(pdata->voltdm);
if (!sr_info) { if (IS_ERR(sr_info)) {
dev_warn(&pdev->dev, "%s: omap_sr struct not found\n", dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
__func__); __func__);
return -EINVAL; return -EINVAL;
......
...@@ -471,6 +471,7 @@ static void __init vdd_debugfs_init(struct omap_vdd_info *vdd) ...@@ -471,6 +471,7 @@ static void __init vdd_debugfs_init(struct omap_vdd_info *vdd)
strcat(name, vdd->voltdm.name); strcat(name, vdd->voltdm.name);
vdd->debug_dir = debugfs_create_dir(name, voltage_dir); vdd->debug_dir = debugfs_create_dir(name, voltage_dir);
kfree(name);
if (IS_ERR(vdd->debug_dir)) { if (IS_ERR(vdd->debug_dir)) {
pr_warning("%s: Unable to create debugfs directory for" pr_warning("%s: Unable to create debugfs directory for"
" vdd_%s\n", __func__, vdd->voltdm.name); " vdd_%s\n", __func__, vdd->voltdm.name);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册