From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: Re: [PATCH RESEND] thermal: add generic cpufreq cooling implementation Date: Mon, 10 Sep 2012 22:23:52 +0200 Message-ID: <201209102223.53094.rjw@sisk.pl> References: <1347258341.1682.1062.camel@rui.sh.intel.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1347258341.1682.1062.camel@rui.sh.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: linux-pm@lists.linux-foundation.org Cc: linux-samsung-soc@vger.kernel.org, Kyungmin Park , SangWook Ju , linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org, linux-acpi@vger.kernel.org, Jean Delvare , Andrew Morton , Guenter Roeck List-Id: linux-pm@vger.kernel.org On Monday, September 10, 2012, Zhang Rui wrote: > Refreshed to remove the notifier mechanism as we do not have a real user of it. > if there is no problem, I'll apply the whole patch set to thermal next tree. > > From: Amit Daniel Kachhap > Date: Thu, 16 Aug 2012 17:11:40 +0530 > > This patchset introduces a new generic cooling device based on cpufreq > that can be used on non-ACPI platforms. As a proof of concept, we have > drivers for the following platforms using this mechanism now: > > * Samsung Exynos (Exynos4 and Exynos5) in the current patchset. > * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git imx6q_thermal) > > There is a small change in cpufreq cooling registration APIs, so a minor > change is needed for Freescale platforms. > > Brief Description: > > 1) The generic cooling devices code is placed inside driver/thermal/* > as placing inside acpi folder will need un-necessary enabling of acpi > code. This code is architecture independent. > > 2) This patchset adds generic cpu cooling low level implementation > through frequency clipping. In future, other cpu related cooling > devices may be added here. An ACPI version of this already exists > (drivers/acpi/processor_thermal.c) .But this will be useful for > platforms like ARM using the generic thermal interface along with the > generic cpu cooling devices. The cooling device registration API's > return cooling device pointers which can be easily binded with the > thermal zone trip points. The important APIs exposed are, > > a) struct thermal_cooling_device *cpufreq_cooling_register( > struct cpumask *clip_cpus) > b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) > > 3) Samsung exynos platform thermal implementation is done using the > generic cpu cooling APIs and the new trip type. The temperature sensor > driver present in the hwmon folder(registered as hwmon driver) is moved > to thermal folder and registered as a thermal driver. > > A simple data/control flow diagrams is shown below, > > Core Linux thermal <-----> Exynos thermal interface <----- Temperature Sensor > | | > \|/ | > Cpufreq cooling device <--------------- > > TODO: > *Will send the DT enablement patches later after the driver is merged. > > This patch: > > Add support for generic cpu thermal cooling low level implementations > using frequency scaling up/down based on the registration parameters. > Different cpu related cooling devices can be registered by the user and > the binding of these cooling devices to the corresponding trip points can > be easily done as the registration APIs return the cooling device pointer. > The user of these APIs are responsible for passing clipping frequency . > The drivers can also register to recieve notification about any cooling > action called. > > Cc: Guenter Roeck > Cc: SangWook Ju > Cc: Durgadoss > Cc: Len Brown > Cc: Jean Delvare > Cc: Kyungmin Park > Cc: Kukjin Kim > Signed-off-by: Zhang Rui > Signed-off-by: Andrew Morton > Signed-off-by: Amit Daniel Kachhap Can you please resend the patch inline (i.e. not as an attachment)? Rafael