From 8156421b7794612d4871a8c405981bc6d438df5d Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Fri, 26 Nov 2010 17:19:34 +0000 Subject: [PATCH] --- yaml --- r: 230989 b: refs/heads/master c: 4c90aa94f6b3e33f57faaf19ef9819195dff61d3 h: refs/heads/master i: 230987: 05386627018929bc745e17d3d2d7b492d57aa5d7 v: v3 --- [refs] | 2 +- trunk/drivers/mfd/mfd-core.c | 4 ++++ trunk/include/linux/mfd/core.h | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7c2033e28564..ae075f8b7d06 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d7b9f3220fd97522559316cdd72778f42ac4de04 +refs/heads/master: 4c90aa94f6b3e33f57faaf19ef9819195dff61d3 diff --git a/trunk/drivers/mfd/mfd-core.c b/trunk/drivers/mfd/mfd-core.c index ec99f681e773..d83ad0f141af 100644 --- a/trunk/drivers/mfd/mfd-core.c +++ b/trunk/drivers/mfd/mfd-core.c @@ -15,6 +15,7 @@ #include #include #include +#include #include static int mfd_add_device(struct device *parent, int id, @@ -82,6 +83,9 @@ static int mfd_add_device(struct device *parent, int id, if (ret) goto fail_res; + if (cell->pm_runtime_no_callbacks) + pm_runtime_no_callbacks(&pdev->dev); + kfree(res); return 0; diff --git a/trunk/include/linux/mfd/core.h b/trunk/include/linux/mfd/core.h index 5582ab3d3e48..835996e167e1 100644 --- a/trunk/include/linux/mfd/core.h +++ b/trunk/include/linux/mfd/core.h @@ -47,6 +47,12 @@ struct mfd_cell { /* don't check for resource conflicts */ bool ignore_resource_conflicts; + + /* + * Disable runtime PM callbacks for this subdevice - see + * pm_runtime_no_callbacks(). + */ + bool pm_runtime_no_callbacks; }; extern int mfd_add_devices(struct device *parent, int id,