summaryrefslogtreecommitdiff
path: root/drivers/devfreq/devfreq-event.c
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2016-04-14 08:37:12 +0300
committerMyungJoo Ham <myungjoo.ham@samsung.com>2016-05-03 05:21:51 +0300
commit19cf91d0f9ddc494217a0abaed91dfbddea7c958 (patch)
tree9ec34e787a65122cd9c3cf82aa6d41d687dc5274 /drivers/devfreq/devfreq-event.c
parent0179a913875a8b39eaf5b848c876439a3a4650af (diff)
downloadlinux-19cf91d0f9ddc494217a0abaed91dfbddea7c958.tar.xz
PM / devfreq: event: Find the instance of devfreq-event device by using phandle
This patch use the phandle to find the instance of devfreq-event device in Device Tree when calling the devfreq_event_get_edev_by_phandle() because there is two type devfreq-event devices as following: First case, exynos-ppmu.c driver provides the maximum four event of each PPMU. So, when getting the instance of devfreq-event device, using the unique name of struct devfreq_event_desc. Second case, exynos-nocp.c driver provide the only one event of each NoC Probe device. So, when getting the instance of devfreq-event device, using the phandle of each NoC probe device. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Diffstat (limited to 'drivers/devfreq/devfreq-event.c')
-rw-r--r--drivers/devfreq/devfreq-event.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/devfreq/devfreq-event.c b/drivers/devfreq/devfreq-event.c
index 38bf144ca147..39b048eda2ce 100644
--- a/drivers/devfreq/devfreq-event.c
+++ b/drivers/devfreq/devfreq-event.c
@@ -235,6 +235,11 @@ struct devfreq_event_dev *devfreq_event_get_edev_by_phandle(struct device *dev,
mutex_lock(&devfreq_event_list_lock);
list_for_each_entry(edev, &devfreq_event_list, node) {
+ if (edev->dev.parent && edev->dev.parent->of_node == node)
+ goto out;
+ }
+
+ list_for_each_entry(edev, &devfreq_event_list, node) {
if (!strcmp(edev->desc->name, node->name))
goto out;
}