From: "Artur Świgoń" <a.swigon@samsung.com> To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: "Artur Świgoń" <a.swigon@partner.samsung.com>, cw00.choi@samsung.com, myungjoo.ham@samsung.com, inki.dae@samsung.com, sw0312.kim@samsung.com, georgi.djakov@linaro.org, leonard.crestez@nxp.com, m.szyprowski@samsung.com, b.zolnierkie@samsung.com, krzk@kernel.org Subject: [RFC PATCH v2 01/11] devfreq: exynos-bus: Extract exynos_bus_profile_init() Date: Thu, 19 Sep 2019 16:22:26 +0200 [thread overview] Message-ID: <20190919142236.4071-2-a.swigon@samsung.com> (raw) In-Reply-To: <20190919142236.4071-1-a.swigon@samsung.com> From: Artur Świgoń <a.swigon@partner.samsung.com> This patch adds a new static function, exynos_bus_profile_init(), extracted from exynos_bus_probe(). Signed-off-by: Artur Świgoń <a.swigon@partner.samsung.com> --- drivers/devfreq/exynos-bus.c | 92 +++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 39 deletions(-) diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index 29f422469960..78f38b7fb596 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -287,12 +287,62 @@ static int exynos_bus_parse_of(struct device_node *np, return ret; } +static int exynos_bus_profile_init(struct exynos_bus *bus, + struct devfreq_dev_profile *profile) +{ + struct device *dev = bus->dev; + struct devfreq_simple_ondemand_data *ondemand_data; + int ret; + + /* Initialize the struct profile and governor data for parent device */ + profile->polling_ms = 50; + profile->target = exynos_bus_target; + profile->get_dev_status = exynos_bus_get_dev_status; + profile->exit = exynos_bus_exit; + + ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); + if (!ondemand_data) { + ret = -ENOMEM; + goto err; + } + ondemand_data->upthreshold = 40; + ondemand_data->downdifferential = 5; + + /* Add devfreq device to monitor and handle the exynos bus */ + bus->devfreq = devm_devfreq_add_device(dev, profile, + DEVFREQ_GOV_SIMPLE_ONDEMAND, + ondemand_data); + if (IS_ERR(bus->devfreq)) { + dev_err(dev, "failed to add devfreq device\n"); + ret = PTR_ERR(bus->devfreq); + goto err; + } + + /* + * Enable devfreq-event to get raw data which is used to determine + * current bus load. + */ + ret = exynos_bus_enable_edev(bus); + if (ret < 0) { + dev_err(dev, "failed to enable devfreq-event devices\n"); + goto err; + } + + ret = exynos_bus_set_event(bus); + if (ret < 0) { + dev_err(dev, "failed to set event to devfreq-event devices\n"); + goto err; + } + +err: + return ret; +} + static int exynos_bus_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct device_node *np = dev->of_node, *node; struct devfreq_dev_profile *profile; - struct devfreq_simple_ondemand_data *ondemand_data; struct devfreq_passive_data *passive_data; struct devfreq *parent_devfreq; struct exynos_bus *bus; @@ -334,45 +384,9 @@ static int exynos_bus_probe(struct platform_device *pdev) if (passive) goto passive; - /* Initialize the struct profile and governor data for parent device */ - profile->polling_ms = 50; - profile->target = exynos_bus_target; - profile->get_dev_status = exynos_bus_get_dev_status; - profile->exit = exynos_bus_exit; - - ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); - if (!ondemand_data) { - ret = -ENOMEM; + ret = exynos_bus_profile_init(bus, profile); + if (ret < 0) goto err; - } - ondemand_data->upthreshold = 40; - ondemand_data->downdifferential = 5; - - /* Add devfreq device to monitor and handle the exynos bus */ - bus->devfreq = devm_devfreq_add_device(dev, profile, - DEVFREQ_GOV_SIMPLE_ONDEMAND, - ondemand_data); - if (IS_ERR(bus->devfreq)) { - dev_err(dev, "failed to add devfreq device\n"); - ret = PTR_ERR(bus->devfreq); - goto err; - } - - /* - * Enable devfreq-event to get raw data which is used to determine - * current bus load. - */ - ret = exynos_bus_enable_edev(bus); - if (ret < 0) { - dev_err(dev, "failed to enable devfreq-event devices\n"); - goto err; - } - - ret = exynos_bus_set_event(bus); - if (ret < 0) { - dev_err(dev, "failed to set event to devfreq-event devices\n"); - goto err; - } goto out; passive: -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: "Artur Świgoń" <a.swigon@samsung.com> To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: "Artur Świgoń" <a.swigon@partner.samsung.com>, b.zolnierkie@samsung.com, sw0312.kim@samsung.com, krzk@kernel.org, inki.dae@samsung.com, cw00.choi@samsung.com, myungjoo.ham@samsung.com, leonard.crestez@nxp.com, georgi.djakov@linaro.org, m.szyprowski@samsung.com Subject: [RFC PATCH v2 01/11] devfreq: exynos-bus: Extract exynos_bus_profile_init() Date: Thu, 19 Sep 2019 16:22:26 +0200 [thread overview] Message-ID: <20190919142236.4071-2-a.swigon@samsung.com> (raw) In-Reply-To: <20190919142236.4071-1-a.swigon@samsung.com> From: Artur Świgoń <a.swigon@partner.samsung.com> This patch adds a new static function, exynos_bus_profile_init(), extracted from exynos_bus_probe(). Signed-off-by: Artur Świgoń <a.swigon@partner.samsung.com> --- drivers/devfreq/exynos-bus.c | 92 +++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 39 deletions(-) diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index 29f422469960..78f38b7fb596 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -287,12 +287,62 @@ static int exynos_bus_parse_of(struct device_node *np, return ret; } +static int exynos_bus_profile_init(struct exynos_bus *bus, + struct devfreq_dev_profile *profile) +{ + struct device *dev = bus->dev; + struct devfreq_simple_ondemand_data *ondemand_data; + int ret; + + /* Initialize the struct profile and governor data for parent device */ + profile->polling_ms = 50; + profile->target = exynos_bus_target; + profile->get_dev_status = exynos_bus_get_dev_status; + profile->exit = exynos_bus_exit; + + ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); + if (!ondemand_data) { + ret = -ENOMEM; + goto err; + } + ondemand_data->upthreshold = 40; + ondemand_data->downdifferential = 5; + + /* Add devfreq device to monitor and handle the exynos bus */ + bus->devfreq = devm_devfreq_add_device(dev, profile, + DEVFREQ_GOV_SIMPLE_ONDEMAND, + ondemand_data); + if (IS_ERR(bus->devfreq)) { + dev_err(dev, "failed to add devfreq device\n"); + ret = PTR_ERR(bus->devfreq); + goto err; + } + + /* + * Enable devfreq-event to get raw data which is used to determine + * current bus load. + */ + ret = exynos_bus_enable_edev(bus); + if (ret < 0) { + dev_err(dev, "failed to enable devfreq-event devices\n"); + goto err; + } + + ret = exynos_bus_set_event(bus); + if (ret < 0) { + dev_err(dev, "failed to set event to devfreq-event devices\n"); + goto err; + } + +err: + return ret; +} + static int exynos_bus_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct device_node *np = dev->of_node, *node; struct devfreq_dev_profile *profile; - struct devfreq_simple_ondemand_data *ondemand_data; struct devfreq_passive_data *passive_data; struct devfreq *parent_devfreq; struct exynos_bus *bus; @@ -334,45 +384,9 @@ static int exynos_bus_probe(struct platform_device *pdev) if (passive) goto passive; - /* Initialize the struct profile and governor data for parent device */ - profile->polling_ms = 50; - profile->target = exynos_bus_target; - profile->get_dev_status = exynos_bus_get_dev_status; - profile->exit = exynos_bus_exit; - - ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); - if (!ondemand_data) { - ret = -ENOMEM; + ret = exynos_bus_profile_init(bus, profile); + if (ret < 0) goto err; - } - ondemand_data->upthreshold = 40; - ondemand_data->downdifferential = 5; - - /* Add devfreq device to monitor and handle the exynos bus */ - bus->devfreq = devm_devfreq_add_device(dev, profile, - DEVFREQ_GOV_SIMPLE_ONDEMAND, - ondemand_data); - if (IS_ERR(bus->devfreq)) { - dev_err(dev, "failed to add devfreq device\n"); - ret = PTR_ERR(bus->devfreq); - goto err; - } - - /* - * Enable devfreq-event to get raw data which is used to determine - * current bus load. - */ - ret = exynos_bus_enable_edev(bus); - if (ret < 0) { - dev_err(dev, "failed to enable devfreq-event devices\n"); - goto err; - } - - ret = exynos_bus_set_event(bus); - if (ret < 0) { - dev_err(dev, "failed to set event to devfreq-event devices\n"); - goto err; - } goto out; passive: -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-09-19 14:24 UTC|newest] Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20190919142321eucas1p164c2591ad402427cb71fd00c348a29ec@eucas1p1.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 00/11] Simple QoS for exynos-bus driver using interconnect Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142322eucas1p24bc477ee6e1bcd65546c305d55af097d@eucas1p2.samsung.com> 2019-09-19 14:22 ` Artur Świgoń [this message] 2019-09-19 14:22 ` [RFC PATCH v2 01/11] devfreq: exynos-bus: Extract exynos_bus_profile_init() Artur Świgoń 2019-09-20 2:15 ` Chanwoo Choi 2019-09-20 2:15 ` Chanwoo Choi 2019-09-25 5:44 ` Artur Świgoń 2019-09-25 5:44 ` Artur Świgoń 2019-09-25 6:37 ` Chanwoo Choi 2019-09-25 6:37 ` Chanwoo Choi 2019-09-25 6:41 ` Artur Świgoń 2019-09-25 6:41 ` Artur Świgoń [not found] ` <CGME20190919142322eucas1p1949ad95468af26698c4c5addc060ce00@eucas1p1.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 02/11] devfreq: exynos-bus: Extract exynos_bus_profile_init_passive() Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142323eucas1p2fc73a765389432f880fa28945fd28975@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 03/11] devfreq: exynos-bus: Change goto-based logic to if-else logic Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142324eucas1p1638cec2aafbfcaf03cfdfa7d0189143a@eucas1p1.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 04/11] devfreq: exynos-bus: Clean up code Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń 2019-09-20 2:22 ` Chanwoo Choi 2019-09-20 2:22 ` Chanwoo Choi 2019-10-03 8:10 ` Artur Świgoń 2019-10-03 8:10 ` Artur Świgoń 2019-10-03 8:10 ` Artur Świgoń [not found] ` <CGME20190919142325eucas1p28102446c22b1e1c61aae0bad46d079b0@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 05/11] interconnect: Export of_icc_get_from_provider() Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń 2019-12-16 0:57 ` Chanwoo Choi 2019-12-16 0:57 ` Chanwoo Choi 2019-12-16 0:57 ` Chanwoo Choi [not found] ` <CGME20190919142326eucas1p204819014fe85716b47e2de4af9102cd5@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 06/11] interconnect: Relax requirement in of_icc_get_from_provider() Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142327eucas1p183470eede07b50c1e3acda58f2af1eba@eucas1p1.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 07/11] interconnect: Relax condition in apply_constraints() Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142329eucas1p299762f99dd55a5d625633ceec84219f9@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 08/11] arm: dts: exynos: Add parents and #interconnect-cells to Exynos4412 Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń 2019-12-16 0:51 ` Chanwoo Choi 2019-12-16 0:51 ` Chanwoo Choi 2019-12-16 0:51 ` Chanwoo Choi 2019-12-16 2:59 ` Chanwoo Choi 2019-12-16 2:59 ` Chanwoo Choi 2019-12-16 2:59 ` Chanwoo Choi 2019-12-18 10:17 ` Artur Świgoń 2019-12-18 10:17 ` Artur Świgoń 2019-12-18 10:17 ` Artur Świgoń 2019-12-18 10:29 ` Chanwoo Choi 2019-12-18 10:29 ` Chanwoo Choi 2019-12-18 10:29 ` Chanwoo Choi 2019-12-18 10:41 ` Artur Świgoń 2019-12-18 10:41 ` Artur Świgoń 2019-12-18 10:41 ` Artur Świgoń 2019-12-16 0:55 ` Chanwoo Choi 2019-12-16 0:55 ` Chanwoo Choi 2019-12-16 0:55 ` Chanwoo Choi 2019-12-16 0:57 ` Chanwoo Choi 2019-12-16 0:57 ` Chanwoo Choi 2019-12-16 0:57 ` Chanwoo Choi [not found] ` <CGME20190919142329eucas1p2e53992eab9ec6b404f716f955b3c228e@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 09/11] devfreq: exynos-bus: Add interconnect functionality to exynos-bus Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń 2019-09-25 7:03 ` Chanwoo Choi 2019-09-25 7:03 ` Chanwoo Choi 2019-09-25 7:03 ` Chanwoo Choi 2019-09-25 7:12 ` Artur Świgoń 2019-09-25 7:12 ` Artur Świgoń 2019-12-02 17:05 ` Artur Świgoń 2019-12-02 17:05 ` Artur Świgoń 2019-12-02 17:05 ` Artur Świgoń 2019-12-05 2:36 ` Chanwoo Choi 2019-12-05 2:36 ` Chanwoo Choi 2019-12-05 2:36 ` Chanwoo Choi 2019-12-16 0:44 ` Chanwoo Choi 2019-12-16 0:44 ` Chanwoo Choi 2019-12-16 0:44 ` Chanwoo Choi 2019-12-18 10:18 ` Artur Świgoń 2019-12-18 10:18 ` Artur Świgoń 2019-12-18 10:18 ` Artur Świgoń 2019-12-18 10:39 ` Chanwoo Choi 2019-12-18 10:39 ` Chanwoo Choi 2019-12-18 10:39 ` Chanwoo Choi 2019-12-18 10:48 ` Artur Świgoń 2019-12-18 10:48 ` Artur Świgoń 2019-12-18 10:48 ` Artur Świgoń 2019-12-18 11:08 ` Chanwoo Choi 2019-12-18 11:08 ` Chanwoo Choi 2019-12-18 11:08 ` Chanwoo Choi [not found] ` <CGME20190919142330eucas1p1eceae78b148a03f2af71657b7cdd6694@eucas1p1.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 10/11] arm: dts: exynos: Add interconnects to Exynos4412 mixer Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń [not found] ` <CGME20190919142331eucas1p2107a7cb9ce8b3817ed171c21a8ad5b00@eucas1p2.samsung.com> 2019-09-19 14:22 ` [RFC PATCH v2 11/11] drm: exynos: mixer: Add interconnect support Artur Świgoń 2019-09-19 14:22 ` Artur Świgoń 2019-09-20 1:07 ` [RFC PATCH v2 00/11] Simple QoS for exynos-bus driver using interconnect Chanwoo Choi 2019-09-20 1:07 ` Chanwoo Choi 2019-09-20 2:14 ` Chanwoo Choi 2019-09-20 2:14 ` Chanwoo Choi 2019-09-25 5:47 ` Artur Świgoń 2019-09-25 5:47 ` Artur Świgoń 2019-09-25 6:12 ` Chanwoo Choi 2019-09-25 6:12 ` Chanwoo Choi 2019-09-25 6:37 ` Artur Świgoń 2019-09-25 6:37 ` Artur Świgoń 2019-09-25 6:48 ` Chanwoo Choi 2019-09-25 6:48 ` Chanwoo Choi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190919142236.4071-2-a.swigon@samsung.com \ --to=a.swigon@samsung.com \ --cc=a.swigon@partner.samsung.com \ --cc=b.zolnierkie@samsung.com \ --cc=cw00.choi@samsung.com \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=georgi.djakov@linaro.org \ --cc=inki.dae@samsung.com \ --cc=krzk@kernel.org \ --cc=leonard.crestez@nxp.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=myungjoo.ham@samsung.com \ --cc=sw0312.kim@samsung.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.