From: "Artur Świgoń" <a.swigon@partner.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: krzk@kernel.org, cw00.choi@samsung.com, myungjoo.ham@samsung.com, inki.dae@samsung.com, sw0312.kim@samsung.com, georgi.djakov@linaro.org, m.szyprowski@samsung.com Subject: [RFC PATCH 04/11] devfreq: exynos-bus: Clean up code Date: Tue, 23 Jul 2019 14:20:09 +0200 [thread overview] Message-ID: <20190723122016.30279-5-a.swigon@partner.samsung.com> (raw) In-Reply-To: <20190723122016.30279-1-a.swigon@partner.samsung.com> This patch adds minor improvements to the exynos-bus driver. Signed-off-by: Artur Świgoń <a.swigon@partner.samsung.com> --- drivers/devfreq/exynos-bus.c | 49 ++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index 4bb83b945bf7..412511ca7703 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -15,11 +15,10 @@ #include <linux/device.h> #include <linux/export.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/of.h> #include <linux/pm_opp.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> -#include <linux/slab.h> #define DEFAULT_SATURATION_RATIO 40 #define DEFAULT_VOLTAGE_TOLERANCE 2 @@ -256,7 +255,7 @@ static int exynos_bus_parent_parse_of(struct device_node *np, struct exynos_bus *bus) { struct device *dev = bus->dev; - int i, ret, count, size; + int i, ret, count; /* Get the regulator to provide each bus with the power */ bus->regulator = devm_regulator_get(dev, "vdd"); @@ -283,8 +282,7 @@ static int exynos_bus_parent_parse_of(struct device_node *np, } bus->edev_count = count; - size = sizeof(*bus->edev) * count; - bus->edev = devm_kzalloc(dev, size, GFP_KERNEL); + bus->edev = devm_kcalloc(dev, count, sizeof(*bus->edev), GFP_KERNEL); if (!bus->edev) { ret = -ENOMEM; goto err_regulator; @@ -388,7 +386,7 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); if (!ondemand_data) { ret = -ENOMEM; - goto err; + goto out; } ondemand_data->upthreshold = 40; ondemand_data->downdifferential = 5; @@ -400,14 +398,14 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, if (IS_ERR(bus->devfreq)) { dev_err(dev, "failed to add devfreq device\n"); ret = PTR_ERR(bus->devfreq); - goto err; + goto out; } /* Register opp_notifier to catch the change of OPP */ ret = devm_devfreq_register_opp_notifier(dev, bus->devfreq); if (ret < 0) { dev_err(dev, "failed to register opp notifier\n"); - goto err; + goto out; } /* @@ -417,16 +415,16 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, ret = exynos_bus_enable_edev(bus); if (ret < 0) { dev_err(dev, "failed to enable devfreq-event devices\n"); - goto err; + goto out; } 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; } -err: +out: return ret; } @@ -446,27 +444,28 @@ static int exynos_bus_profile_init_passive(struct exynos_bus *bus, parent_devfreq = devfreq_get_devfreq_by_phandle(dev, 0); if (IS_ERR(parent_devfreq)) { ret = -EPROBE_DEFER; - goto err; + goto out; } passive_data = devm_kzalloc(dev, sizeof(*passive_data), GFP_KERNEL); if (!passive_data) { ret = -ENOMEM; - goto err; + goto out; } passive_data->parent = parent_devfreq; /* Add devfreq device for exynos bus with passive governor */ - bus->devfreq = devm_devfreq_add_device(dev, profile, DEVFREQ_GOV_PASSIVE, + bus->devfreq = devm_devfreq_add_device(dev, profile, + DEVFREQ_GOV_PASSIVE, passive_data); if (IS_ERR(bus->devfreq)) { dev_err(dev, "failed to add devfreq dev with passive governor\n"); ret = PTR_ERR(bus->devfreq); - goto err; + goto out; } -err: +out: return ret; } @@ -484,11 +483,11 @@ static int exynos_bus_probe(struct platform_device *pdev) return -EINVAL; } - bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL); + bus = devm_kzalloc(dev, sizeof(*bus), GFP_KERNEL); if (!bus) return -ENOMEM; mutex_init(&bus->lock); - bus->dev = &pdev->dev; + bus->dev = dev; platform_set_drvdata(pdev, bus); /* Parse the device-tree to get the resource information */ @@ -502,7 +501,7 @@ static int exynos_bus_probe(struct platform_device *pdev) goto err; } - node = of_parse_phandle(dev->of_node, "devfreq", 0); + node = of_parse_phandle(np, "devfreq", 0); if (node) { of_node_put(node); ret = exynos_bus_profile_init_passive(bus, profile); @@ -547,12 +546,10 @@ static int exynos_bus_resume(struct device *dev) int ret; ret = exynos_bus_enable_edev(bus); - if (ret < 0) { + if (ret < 0) dev_err(dev, "failed to enable the devfreq-event devices\n"); - return ret; - } - return 0; + return ret; } static int exynos_bus_suspend(struct device *dev) @@ -561,12 +558,10 @@ static int exynos_bus_suspend(struct device *dev) int ret; ret = exynos_bus_disable_edev(bus); - if (ret < 0) { + if (ret < 0) dev_err(dev, "failed to disable the devfreq-event devices\n"); - return ret; - } - return 0; + return ret; } #endif -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: "Artur Świgoń" <a.swigon@partner.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: sw0312.kim@samsung.com, krzk@kernel.org, inki.dae@samsung.com, cw00.choi@samsung.com, myungjoo.ham@samsung.com, georgi.djakov@linaro.org, m.szyprowski@samsung.com Subject: [RFC PATCH 04/11] devfreq: exynos-bus: Clean up code Date: Tue, 23 Jul 2019 14:20:09 +0200 [thread overview] Message-ID: <20190723122016.30279-5-a.swigon@partner.samsung.com> (raw) In-Reply-To: <20190723122016.30279-1-a.swigon@partner.samsung.com> This patch adds minor improvements to the exynos-bus driver. Signed-off-by: Artur Świgoń <a.swigon@partner.samsung.com> --- drivers/devfreq/exynos-bus.c | 49 ++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index 4bb83b945bf7..412511ca7703 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -15,11 +15,10 @@ #include <linux/device.h> #include <linux/export.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/of.h> #include <linux/pm_opp.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> -#include <linux/slab.h> #define DEFAULT_SATURATION_RATIO 40 #define DEFAULT_VOLTAGE_TOLERANCE 2 @@ -256,7 +255,7 @@ static int exynos_bus_parent_parse_of(struct device_node *np, struct exynos_bus *bus) { struct device *dev = bus->dev; - int i, ret, count, size; + int i, ret, count; /* Get the regulator to provide each bus with the power */ bus->regulator = devm_regulator_get(dev, "vdd"); @@ -283,8 +282,7 @@ static int exynos_bus_parent_parse_of(struct device_node *np, } bus->edev_count = count; - size = sizeof(*bus->edev) * count; - bus->edev = devm_kzalloc(dev, size, GFP_KERNEL); + bus->edev = devm_kcalloc(dev, count, sizeof(*bus->edev), GFP_KERNEL); if (!bus->edev) { ret = -ENOMEM; goto err_regulator; @@ -388,7 +386,7 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, ondemand_data = devm_kzalloc(dev, sizeof(*ondemand_data), GFP_KERNEL); if (!ondemand_data) { ret = -ENOMEM; - goto err; + goto out; } ondemand_data->upthreshold = 40; ondemand_data->downdifferential = 5; @@ -400,14 +398,14 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, if (IS_ERR(bus->devfreq)) { dev_err(dev, "failed to add devfreq device\n"); ret = PTR_ERR(bus->devfreq); - goto err; + goto out; } /* Register opp_notifier to catch the change of OPP */ ret = devm_devfreq_register_opp_notifier(dev, bus->devfreq); if (ret < 0) { dev_err(dev, "failed to register opp notifier\n"); - goto err; + goto out; } /* @@ -417,16 +415,16 @@ static int exynos_bus_profile_init(struct exynos_bus *bus, ret = exynos_bus_enable_edev(bus); if (ret < 0) { dev_err(dev, "failed to enable devfreq-event devices\n"); - goto err; + goto out; } 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; } -err: +out: return ret; } @@ -446,27 +444,28 @@ static int exynos_bus_profile_init_passive(struct exynos_bus *bus, parent_devfreq = devfreq_get_devfreq_by_phandle(dev, 0); if (IS_ERR(parent_devfreq)) { ret = -EPROBE_DEFER; - goto err; + goto out; } passive_data = devm_kzalloc(dev, sizeof(*passive_data), GFP_KERNEL); if (!passive_data) { ret = -ENOMEM; - goto err; + goto out; } passive_data->parent = parent_devfreq; /* Add devfreq device for exynos bus with passive governor */ - bus->devfreq = devm_devfreq_add_device(dev, profile, DEVFREQ_GOV_PASSIVE, + bus->devfreq = devm_devfreq_add_device(dev, profile, + DEVFREQ_GOV_PASSIVE, passive_data); if (IS_ERR(bus->devfreq)) { dev_err(dev, "failed to add devfreq dev with passive governor\n"); ret = PTR_ERR(bus->devfreq); - goto err; + goto out; } -err: +out: return ret; } @@ -484,11 +483,11 @@ static int exynos_bus_probe(struct platform_device *pdev) return -EINVAL; } - bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL); + bus = devm_kzalloc(dev, sizeof(*bus), GFP_KERNEL); if (!bus) return -ENOMEM; mutex_init(&bus->lock); - bus->dev = &pdev->dev; + bus->dev = dev; platform_set_drvdata(pdev, bus); /* Parse the device-tree to get the resource information */ @@ -502,7 +501,7 @@ static int exynos_bus_probe(struct platform_device *pdev) goto err; } - node = of_parse_phandle(dev->of_node, "devfreq", 0); + node = of_parse_phandle(np, "devfreq", 0); if (node) { of_node_put(node); ret = exynos_bus_profile_init_passive(bus, profile); @@ -547,12 +546,10 @@ static int exynos_bus_resume(struct device *dev) int ret; ret = exynos_bus_enable_edev(bus); - if (ret < 0) { + if (ret < 0) dev_err(dev, "failed to enable the devfreq-event devices\n"); - return ret; - } - return 0; + return ret; } static int exynos_bus_suspend(struct device *dev) @@ -561,12 +558,10 @@ static int exynos_bus_suspend(struct device *dev) int ret; ret = exynos_bus_disable_edev(bus); - if (ret < 0) { + if (ret < 0) dev_err(dev, "failed to disable the devfreq-event devices\n"); - return ret; - } - return 0; + return ret; } #endif -- 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-07-23 12:20 UTC|newest] Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20190723122022eucas1p2f568f74f981f9de9012eb693c3b446d5@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 00/11] Simple QoS for exynos-bus driver using interconnect Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń [not found] ` <CGME20190723122022eucas1p1266d90873d564894bd852c20140f8474@eucas1p1.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 01/11] devfreq: exynos-bus: Extract exynos_bus_profile_init() Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:07 ` Krzysztof Kozlowski 2019-07-24 19:07 ` Krzysztof Kozlowski 2019-07-31 13:00 ` Artur Świgoń 2019-07-31 13:00 ` Artur Świgoń 2019-08-05 9:56 ` Krzysztof Kozlowski 2019-08-05 9:56 ` Krzysztof Kozlowski 2019-07-25 12:43 ` Chanwoo Choi 2019-07-25 12:43 ` Chanwoo Choi 2019-07-26 10:42 ` Krzysztof Kozlowski 2019-07-26 10:42 ` Krzysztof Kozlowski 2019-07-26 10:42 ` Krzysztof Kozlowski 2019-07-26 10:52 ` Chanwoo Choi 2019-07-26 10:52 ` Chanwoo Choi [not found] ` <CGME20190723122023eucas1p2ff56c00b60a676ed85d9fe159a1839f2@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 02/11] devfreq: exynos-bus: Extract exynos_bus_profile_init_passive() Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:08 ` Krzysztof Kozlowski 2019-07-24 19:08 ` Krzysztof Kozlowski 2019-07-24 19:08 ` Krzysztof Kozlowski 2019-07-25 12:45 ` Chanwoo Choi 2019-07-25 12:45 ` Chanwoo Choi [not found] ` <CGME20190723122024eucas1p1ff060d072132bfbc8a8a1d10fa1f90f8@eucas1p1.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 03/11] devfreq: exynos-bus: Change goto-based logic to if-else logic Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:10 ` Krzysztof Kozlowski 2019-07-24 19:10 ` Krzysztof Kozlowski 2019-07-25 12:56 ` Chanwoo Choi 2019-07-25 12:56 ` Chanwoo Choi 2019-07-25 13:02 ` Chanwoo Choi 2019-07-25 13:02 ` Chanwoo Choi [not found] ` <CGME20190723122024eucas1p25a480ccddaa69ee1d0f1a07960ca3f22@eucas1p2.samsung.com> 2019-07-23 12:20 ` Artur Świgoń [this message] 2019-07-23 12:20 ` [RFC PATCH 04/11] devfreq: exynos-bus: Clean up code Artur Świgoń 2019-07-24 19:14 ` Krzysztof Kozlowski 2019-07-24 19:14 ` Krzysztof Kozlowski 2019-07-25 12:50 ` Chanwoo Choi 2019-07-25 12:50 ` Chanwoo Choi 2019-07-26 10:45 ` Krzysztof Kozlowski 2019-07-26 10:45 ` Krzysztof Kozlowski 2019-07-26 11:04 ` Chanwoo Choi 2019-07-26 11:04 ` Chanwoo Choi [not found] ` <CGME20190723122025eucas1p251df372451e0b27ad7f2e3c89df60b64@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 05/11] icc: Export of_icc_get_from_provider() Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:15 ` Krzysztof Kozlowski 2019-07-24 19:15 ` Krzysztof Kozlowski 2019-07-24 19:15 ` Krzysztof Kozlowski [not found] ` <CGME20190723122026eucas1p2acf705de2a47ba54f383d916f5383144@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 06/11] icc: Relax requirement in of_icc_get_from_provider() Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:16 ` Krzysztof Kozlowski 2019-07-24 19:16 ` Krzysztof Kozlowski [not found] ` <CGME20190723122027eucas1p124f44370a63b16dcb765585761d661a3@eucas1p1.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 07/11] icc: Relax condition in apply_constraints() Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń [not found] ` <CGME20190723122027eucas1p24b1d76e3139f7cc52614d7613ff9ba98@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 08/11] arm: dts: exynos: Add parents and #interconnect-cells to Exynos4412 Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 19:24 ` Krzysztof Kozlowski 2019-07-24 19:24 ` Krzysztof Kozlowski 2019-07-24 19:24 ` Krzysztof Kozlowski 2019-07-31 13:00 ` Artur Świgoń 2019-07-31 13:00 ` Artur Świgoń 2019-07-25 13:13 ` Chanwoo Choi 2019-07-25 13:13 ` Chanwoo Choi 2019-07-26 12:02 ` Marek Szyprowski 2019-07-26 12:02 ` Marek Szyprowski 2019-07-29 1:20 ` Chanwoo Choi 2019-07-29 1:20 ` Chanwoo Choi [not found] ` <CGME20190723122028eucas1p2eb75f35b810e71d6c590370aaff0997b@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 09/11] devfreq: exynos-bus: Add interconnect functionality to exynos-bus Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 18:36 ` Krzysztof Kozlowski 2019-07-24 18:36 ` Krzysztof Kozlowski 2019-07-31 13:01 ` Artur Świgoń 2019-07-31 13:01 ` Artur Świgoń 2019-07-26 8:05 ` Georgi Djakov 2019-07-26 8:05 ` Georgi Djakov 2019-08-01 7:59 ` Artur Świgoń 2019-08-01 7:59 ` Artur Świgoń 2019-08-07 14:21 ` Georgi Djakov 2019-08-07 14:21 ` Georgi Djakov 2019-08-08 13:28 ` Artur Świgoń 2019-08-08 13:28 ` Artur Świgoń 2019-07-29 1:52 ` Chanwoo Choi 2019-07-29 1:52 ` Chanwoo Choi 2019-08-08 13:18 ` Artur Świgoń 2019-08-08 13:18 ` Artur Świgoń 2019-08-09 2:17 ` Chanwoo Choi 2019-08-09 2:17 ` Chanwoo Choi 2019-08-08 15:00 ` Leonard Crestez 2019-08-08 15:00 ` Leonard Crestez 2019-08-08 15:00 ` Leonard Crestez 2019-08-19 23:44 ` Chanwoo Choi 2019-08-19 23:44 ` Chanwoo Choi 2019-08-19 23:44 ` Chanwoo Choi 2019-08-06 13:41 ` Leonard Crestez 2019-08-06 13:41 ` Leonard Crestez 2019-08-06 13:41 ` Leonard Crestez 2019-08-08 13:19 ` Artur Świgoń 2019-08-08 13:19 ` Artur Świgoń 2019-08-08 13:19 ` Artur Świgoń [not found] ` <CGME20190723122029eucas1p21e1a51e759f9b605d2c89daf659af7bb@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 10/11] arm: dts: exynos: Add interconnects to Exynos4412 mixer Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń [not found] ` <CGME20190723122029eucas1p2915f536d9ef43a7bd043a878a553439f@eucas1p2.samsung.com> 2019-07-23 12:20 ` [RFC PATCH 11/11] drm: exynos: mixer: Add interconnect support Artur Świgoń 2019-07-23 12:20 ` Artur Świgoń 2019-07-24 18:52 ` Krzysztof Kozlowski 2019-07-24 18:52 ` Krzysztof Kozlowski 2019-07-24 18:53 ` [RFC PATCH 00/11] Simple QoS for exynos-bus driver using interconnect Krzysztof Kozlowski 2019-07-24 18:53 ` Krzysztof Kozlowski 2019-07-24 18:53 ` Krzysztof Kozlowski 2019-08-13 6:17 ` Chanwoo Choi 2019-08-13 6:17 ` Chanwoo Choi 2019-08-13 6:19 ` Chanwoo Choi 2019-08-13 6:19 ` 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=20190723122016.30279-5-a.swigon@partner.samsung.com \ --to=a.swigon@partner.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=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.