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>
This commit is contained in:
parent
0179a91387
commit
19cf91d0f9
|
@ -234,6 +234,11 @@ struct devfreq_event_dev *devfreq_event_get_edev_by_phandle(struct device *dev,
|
||||||
return ERR_PTR(-ENODEV);
|
return ERR_PTR(-ENODEV);
|
||||||
|
|
||||||
mutex_lock(&devfreq_event_list_lock);
|
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) {
|
list_for_each_entry(edev, &devfreq_event_list, node) {
|
||||||
if (!strcmp(edev->desc->name, node->name))
|
if (!strcmp(edev->desc->name, node->name))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue