Messages in this thread | | | Subject | Re: [PATCH v2 02/11] PM / devfreq: Remove devfreq_get_devfreq_by_phandle function | From | Lukasz Luba <> | Date | Thu, 9 Jan 2020 10:57:03 +0000 |
| |
On 1/9/20 10:54 AM, Chanwoo Choi wrote: > On 1/9/20 7:37 PM, Lukasz Luba wrote: >> Hi Chanwoo, >> >> On 12/20/19 12:24 AM, Chanwoo Choi wrote: >>> Previously, devfreq core support 'devfreq' property in order to get >>> the devfreq device by phandle. But, 'devfreq' property name is not proper >>> on devicetree binding because this name doesn't mean the any h/w attribute. >>> >>> The devfreq core hand over the right to decide the property name >>> for getting the devfreq device on devicetree. Each devfreq driver >>> will decide the property name on devicetree binding and then get >>> the devfreq device by using devfreq_get_devfreq_by_node(). >>> >>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >>> --- >>> drivers/devfreq/devfreq.c | 35 ----------------------------------- >>> drivers/devfreq/exynos-bus.c | 12 +++++++++++- >>> include/linux/devfreq.h | 8 -------- >>> 3 files changed, 11 insertions(+), 44 deletions(-) >>> >>> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c >>> index cb8ca81c8973..c3d3c7c802a0 100644 >>> --- a/drivers/devfreq/devfreq.c >>> +++ b/drivers/devfreq/devfreq.c >>> @@ -991,48 +991,13 @@ struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node) >>> return ERR_PTR(-ENODEV); >>> } >>> - >>> -/* >>> - * devfreq_get_devfreq_by_phandle - Get the devfreq device from devicetree >>> - * @dev - instance to the given device >>> - * @index - index into list of devfreq >>> - * >>> - * return the instance of devfreq device >>> - */ >>> -struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, int index) >>> -{ >>> - struct device_node *node; >>> - struct devfreq *devfreq; >>> - >>> - if (!dev) >>> - return ERR_PTR(-EINVAL); >>> - >>> - if (!dev->of_node) >>> - return ERR_PTR(-EINVAL); >>> - >>> - node = of_parse_phandle(dev->of_node, "devfreq", index); >>> - if (!node) >>> - return ERR_PTR(-ENODEV); >>> - >>> - devfreq = devfreq_get_devfreq_by_node(node); >>> - of_node_put(node); >>> - >>> - return devfreq; >>> -} >>> - >>> #else >>> struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node) >>> { >>> return ERR_PTR(-ENODEV); >>> } >>> - >>> -struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, int index) >>> -{ >>> - return ERR_PTR(-ENODEV); >>> -} >>> #endif /* CONFIG_OF */ >>> EXPORT_SYMBOL_GPL(devfreq_get_devfreq_by_node); >>> -EXPORT_SYMBOL_GPL(devfreq_get_devfreq_by_phandle); >>> /** >>> * devm_devfreq_remove_device() - Resource-managed devfreq_remove_device() >>> diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c >>> index 7f5917d59072..1bc4e3c81115 100644 >>> --- a/drivers/devfreq/exynos-bus.c >>> +++ b/drivers/devfreq/exynos-bus.c >>> @@ -86,6 +86,16 @@ static int exynos_bus_get_event(struct exynos_bus *bus, >>> return ret; >>> } >>> +static struct devfreq *exynos_bus_get_parent_devfreq(struct device_node *np) >>> +{ >>> + struct device_node *node = of_parse_phandle(np, "devfreq", 0); >>> + >>> + if (!node) >>> + return ERR_PTR(-ENODEV); >>> + >>> + return devfreq_get_devfreq_by_node(node); >>> +} >>> + >>> /* >>> * devfreq function for both simple-ondemand and passive governor >>> */ >>> @@ -353,7 +363,7 @@ static int exynos_bus_profile_init_passive(struct exynos_bus *bus, >>> profile->exit = exynos_bus_passive_exit; >>> /* Get the instance of parent devfreq device */ >>> - parent_devfreq = devfreq_get_devfreq_by_phandle(dev, 0); >>> + parent_devfreq = exynos_bus_get_parent_devfreq(dev->of_node); >>> if (IS_ERR(parent_devfreq)) >>> return -EPROBE_DEFER; >>> >> >> These changes won't apply, probably I need some base for it. > > I developed it on devfreq-next branch[1] > [1] https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git/log/?h=devfreq-next > > And I try to apply these patchset to linux-next[2] with tags/next-20200109. > But, patch10/11 of deviceetree has some merge conflict > because patch[3] related to exynos-bus was merged. > [2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/ > [3] https://patchwork.kernel.org/cover/11303235/ > - [v2,0/2] Exynos5422: fix bus related OPPs for Odroid XU3/XU4/HC1 > > On next version, I'll rebase it on latest patches.
Thank you for the information. I will update the base and continue the review.
Lukasz
| |