From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757034AbdJKDKs (ORCPT ); Tue, 10 Oct 2017 23:10:48 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:64251 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756405AbdJKDJt (ORCPT ); Tue, 10 Oct 2017 23:09:49 -0400 X-AuditID: b6c32a37-c8dff70000001076-92-59dd8b7b6036 From: Chanwoo Choi To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, cw00.choi@samsung.com Cc: rafael.j.wysocki@intel.com, chanwoo@kernel.org, inki.dae@samsung.com, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Kukjin Kim , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 8/8] PM / devfreq: exynos-bus: Register cooling device Date: Wed, 11 Oct 2017 12:09:24 +0900 Message-id: <1507691364-3899-9-git-send-email-cw00.choi@samsung.com> X-Mailer: git-send-email 1.8.0 In-reply-to: <1507691364-3899-1-git-send-email-cw00.choi@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrEKsWRmVeSWpSXmKPExsWy7bCmnm51991Igw9TtCwm3rjCYnH9y3NW i0n3J7BY9D9+zWxx/vwGdouzTW/YLTY9vsZqcXnXHDaLz71HGC1mnN/HZHG7cQWbxeMVb9kd eDwW73nJ5LFpVSebx+Yl9R59W1YxenzeJBfAGpVqk5GamJJapJCal5yfkpmXbqvkHRzvHG9q ZmCoa2hpYa6kkJeYm2qr5OIToOuWmQN0npJCWWJOKVAoILG4WEnfzqYov7QkVSEjv7jEVina 0NBIz9DAXM/IyEjPxDjWysgUqCQhNaP/0ybmgsMCFR/PHWFuYLzN28XIySEhYCLR0z6ZuYuR i0NIYAejxNeT01ghnO+MEvsfPGKGqVp+sYUFIrGbUaL7+kKoqh+MEj0tc9lBqtgEtCT2v7jB BmKLCARIdK5dxQRSxCwwlUli29SZjCAJYQFPiZ4jZ1lBbBYBVYmHD9Yxgdi8Ai4Sl2avYYJY JyfxYc8jsKGcAq4Sk2edYgcZJCGwgU1iz4v1jBBFLhIfTx+Huk9Y4tXxLUBFHEC2tMSlo7YQ 9e2MEpvn3GOBcDoYJe6vbGSFaDCWONXVCLaNWYBP4t3XHlaIZl6JjjYhiBIPiZ0dc1ggbEeJ nf82ge0SEpjBKHG+QXwCo9QCRoZVjGKpBcW56anFhgXGesWJucWleel6yfm5mxjB6UfLfAfj hnM+hxgFOBiVeHh3XLkTKcSaWFZcmXuIUYKDWUmE16LwbqQQb0piZVVqUX58UWlOavEhRlNg 2ExklhJNzgemxrySeEMTSwMTMyNgarA0NFQS5xVbfy1CSCA9sSQ1OzW1ILUIpo+Jg1OqgdF8 0xy2P2/Tpk57sKI6yWgn94/9HVINp1+tli0pfqfmk8nyo2GKmFMWTx2z5k+fpl9xcbvcTs/5 62/DzWGkf+eE1jM5sWv/p2wNf3ni5TLTNtvT/Eef/L/SeO9swMP3vcdMdzzye196nl1GNMjc b5nelx8H0+oT7G9fK73+sDj+m8Ts69c/d+5XYinOSDTUYi4qTgQAOYrbEFUDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKLMWRmVeSWpSXmKPExsVy+t9jAd3q7ruRBhf+iFhMvHGFxeL6l+es FpPuT2Cx6H/8mtni/PkN7BZnm96wW2x6fI3V4vKuOWwWn3uPMFrMOL+PyeJ24wo2i8cr3rI7 8Hgs3vOSyWPTqk42j81L6j36tqxi9Pi8SS6ANYrLJiU1J7MstUjfLoEro//TJuaCwwIVH88d YW5gvM3bxcjJISFgIrH8YgtLFyMXh5DATkaJE7d7mSGcH4wSWx5PZwKpYhPQktj/4gYbiC0i 4Cexff56RpAiZoGpTBJfG0+AFQkLeEr0HDnLCmKzCKhKPHywDizOK+AicWn2GiaIdXISH/Y8 YgexOQVcJSbPOgVmCwHV/Fj9knECI88CRoZVjJKpBcW56bnFRgWGeanlesWJucWleel6yfm5 mxiBgbftsFbfDsb7S+IPMQpwMCrx8ApcvxMpxJpYVlyZe4hRgoNZSYTXovBupBBvSmJlVWpR fnxRaU5q8SFGaQ4WJXHe23nHIoUE0hNLUrNTUwtSi2CyTBycUg2MPOUyWmeX1Gp2eWY3T562 ffHTA7s/xR74cnqryYOMG+nRs0sZRRUn2POkv+17oPqpov+l3IcUfoN8+zWuS27sST5g1btI YN+ra3PPbxNZILE+e6Xvxksldy6l3CjmcRXpP7XKRGe7UtfdwAe+Hkd7GzPsfZv8etz/fBJ4 Mf1d1ITjL+318/euUmIpzkg01GIuKk4EAC+2mOY4AgAA X-CMS-MailID: 20171011030947epcas1p475944e5d83cf28deaa3cdef731315d63 X-Msg-Generator: CA X-Sender-IP: 182.195.42.142 X-Local-Sender: =?UTF-8?B?7LWc7LCs7JqwG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?Q2hhbndvbyBDaG9pG1RpemVuIFBsYXRmb3JtIExhYi4bU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtTZW5pb3IgRW5naW5lZXI=?= X-Sender-Code: =?UTF-8?B?QzEwG1RFTEUbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20171011030947epcas1p475944e5d83cf28deaa3cdef731315d63 X-RootMTR: 20171011030947epcas1p475944e5d83cf28deaa3cdef731315d63 References: <1507691364-3899-1-git-send-email-cw00.choi@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch registers the Exynos Bus-Frequency scaling device as a cooling device of thermal management. Signed-off-by: Chanwoo Choi Cc: Kukjin Kim Cc: Krzysztof Kozlowski Cc: linux-samsung-soc@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/devfreq/exynos-bus.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index c25658b26598..fe9ef6a3238b 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -41,6 +42,8 @@ struct exynos_bus { struct clk *clk; unsigned int voltage_tolerance; unsigned int ratio; + + struct thermal_cooling_device *cdev; }; /* @@ -468,6 +471,13 @@ static int exynos_bus_probe(struct platform_device *pdev) goto err; } + /* Register devfreq cooling device */ + bus->cdev = of_devfreq_cooling_register(np, bus->devfreq); + if (IS_ERR(bus->cdev)) { + dev_err(dev, "running exynos-bus without cooling device\n"); + bus->cdev = NULL; + } + goto out; passive: /* Initialize the struct profile and governor data for passive device */ @@ -514,6 +524,15 @@ static int exynos_bus_probe(struct platform_device *pdev) return ret; } +static int exynos_bus_remove(struct platform_device *pdev) +{ + struct exynos_bus *bus = platform_get_drvdata(pdev); + + devfreq_cooling_unregister(bus->cdev); + + return 0; +} + #ifdef CONFIG_PM_SLEEP static int exynos_bus_resume(struct device *dev) { @@ -556,6 +575,7 @@ static int exynos_bus_suspend(struct device *dev) static struct platform_driver exynos_bus_platdrv = { .probe = exynos_bus_probe, + .remove = exynos_bus_remove, .driver = { .name = "exynos-bus", .pm = &exynos_bus_pm, -- 1.9.1