- 12 12月, 2012 2 次提交
-
-
由 Zhang Rui 提交于
Fix DEFAULT_THERMAL_GOVERNOR to be consistant with the default governor selected in kernel config file. Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
[ 12.761956] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 [ 12.762016] IP: [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.762060] PGD 1fec74067 PUD 1fee5b067 PMD 0 [ 12.762127] Oops: 0000 [#1] SMP [ 12.762177] Modules linked in: hid_generic crc32c_intel usbhid hid firewire_ohci(+) e1000e(+) firewire_core crc_itu_t xhci_hcd(+) thermal(+) fan thermal_sys hwmon [ 12.762423] CPU 1 [ 12.762443] Pid: 187, comm: modprobe Tainted: G A 3.7.0-thermal-module+ #25 /DH77DF [ 12.762496] RIP: 0010:[<ffffffffa0005277>] [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.762682] RSP: 0018:ffff8801fe7ddc18 EFLAGS: 00010282 [ 12.762704] RAX: 0000000000000000 RBX: ffff8801ff3e9c00 RCX: ffff8801fdc39800 [ 12.762728] RDX: ffff8801fe7ddc24 RSI: 0000000000000001 RDI: ffff8801ff3e9c00 [ 12.762764] RBP: ffff8801fe7ddc48 R08: 0000000004000000 R09: ffffffffa001f568 [ 12.762797] R10: ffffffff81363083 R11: 0000000000000001 R12: 0000000000000001 [ 12.762832] R13: 0000000000000000 R14: 0000000000000001 R15: ffff8801fde73e68 [ 12.762866] FS: 00007f5548516700(0000) GS:ffff88021f240000(0000) knlGS:0000000000000000 [ 12.762912] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 12.762946] CR2: 0000000000000018 CR3: 00000001fefe2000 CR4: 00000000001407e0 [ 12.762979] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 12.763014] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 12.763048] Process modprobe (pid: 187, threadinfo ffff8801fe7dc000, task ffff8801fe5bdb40) [ 12.763095] Stack: [ 12.763122] 0000000000019640 00000000fdc39800 ffff8801fe7ddc48 ffff8801ff3e9c00 [ 12.763225] 0000000000000002 0000000000000000 ffff8801fe7ddc78 ffffffffa00053e7 [ 12.763338] ffff8801ff3e9c00 0000000000006c98 ffffffffa0007480 ffff8801ff3e9c00 [ 12.763440] Call Trace: [ 12.763470] [<ffffffffa00053e7>] thermal_zone_device_update+0x77/0xa0 [thermal_sys] [ 12.763515] [<ffffffffa0006d38>] thermal_zone_device_register+0x788/0xa88 [thermal_sys] [ 12.763562] [<ffffffffa001f394>] acpi_thermal_add+0x360/0x4c8 [thermal] [ 12.763598] [<ffffffff8133902a>] acpi_device_probe+0x50/0x190 [ 12.763632] [<ffffffff811bd793>] ? sysfs_create_link+0x13/0x20 [ 12.763666] [<ffffffff813cc41b>] driver_probe_device+0x7b/0x240 [ 12.763699] [<ffffffff813cc68b>] __driver_attach+0xab/0xb0 [ 12.763732] [<ffffffff813cc5e0>] ? driver_probe_device+0x240/0x240 [ 12.763766] [<ffffffff813ca836>] bus_for_each_dev+0x56/0x90 [ 12.763799] [<ffffffff813cbf4e>] driver_attach+0x1e/0x20 [ 12.763831] [<ffffffff813cbac0>] bus_add_driver+0x190/0x290 [ 12.763864] [<ffffffffa0022000>] ? 0xffffffffa0021fff [ 12.763896] [<ffffffff813ccbea>] driver_register+0x7a/0x160 [ 12.763928] [<ffffffffa0022000>] ? 0xffffffffa0021fff [ 12.763960] [<ffffffff813399fb>] acpi_bus_register_driver+0x43/0x45 [ 12.763995] [<ffffffffa002203a>] acpi_thermal_init+0x3a/0x42 [thermal] [ 12.764029] [<ffffffff8100207f>] do_one_initcall+0x3f/0x170 [ 12.764063] [<ffffffff810b1a5f>] sys_init_module+0x8f/0x200 [ 12.764097] [<ffffffff815ff259>] system_call_fastpath+0x16/0x1b [ 12.764129] Code: 48 8b 87 c8 02 00 00 41 89 f4 48 8d 55 dc ff 50 28 44 8b 6d dc 41 8d 45 fe 83 f8 01 76 5e 48 8b 83 d8 02 00 00 44 89 e6 48 89 df <ff> 50 18 4c 8d a3 10 03 00 00 4c 89 e7 e8 87 f1 5e e1 8b 83 bc [ 12.765164] RIP [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.765223] RSP <ffff8801fe7ddc18> [ 12.765252] CR2: 0000000000000018 [ 12.765284] ---[ end trace 7723294cdfb00d2a ]--- This is because thermal_zone_device_update() is invoked before any thermal governors being registered. Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 26 11月, 2012 2 次提交
-
-
由 Kuninori Morimoto 提交于
This patch adds rcar_zone_to_priv() which is a helper macro for gettign private data. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Kuninori Morimoto 提交于
The unit of temperature is Milli-Celsius. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 22 11月, 2012 2 次提交
-
-
由 Eduardo Valentin 提交于
As thermal drivers can be built as modules and also the thermal framework itself, building cpu cooling only as built-in can cause linking errors. For instance: * Generic Thermal sysfs driver * Generic Thermal sysfs driver (THERMAL) [M/n/y/?] m generic cpu cooling support (CPU_THERMAL) [N/y/?] (NEW) y with the following drive: CONFIG_OMAP_BANDGAP=m generates: ERROR: "cpufreq_cooling_unregister" [drivers/staging/omap-thermal/omap-thermal.ko] undefined! ERROR: "cpufreq_cooling_register" [drivers/staging/omap-thermal/omap-thermal.ko] undefined! This patch changes cpu cooling driver to allow it to be built as module. Reported-by: NEnric Balletbo i Serra <eballetbo@gmail.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Eduardo Valentin 提交于
There are predefined cpu_masks that are const data structures. This patch changes the cpu cooling register function so that those const cpu_masks can be used, without compilation warnings. include/linux/cpumask.h * The following particular system cpumasks and operations manage * possible, present, active and online cpus. * * cpu_possible_mask- has bit 'cpu' set iff cpu is populatable * cpu_present_mask - has bit 'cpu' set iff cpu is populated * cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler * cpu_active_mask - has bit 'cpu' set iff cpu available to migration * Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 15 11月, 2012 5 次提交
-
-
由 hongbo.zhang 提交于
This driver is based on the thermal management framework in thermal_sys.c. A thermal zone device is created with the trip points to which cooling devices can be bound, the current cooling device is cpufreq, e.g. CPU frequency is clipped down to cool the CPU, and other cooling devices can be added and bound to the trip points dynamically. The platform specific PRCMU interrupts are used to active thermal update when trip points are reached. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NFrancesco Lavra <francescolavra.fl@gmail.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
CPU_FREQ_TABLE depends on CPU_FREQ. Selecting CPU_FREQ_TABLE without checking for dependencies gives the following compilation warnings: warning: (ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC && UX500_SOC_DB8500 && CPU_THERMAL && EXYNOS_THERMAL) selects CPU_FREQ_TABLE which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ) Based-on-patch-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Silences the following sparse warning: drivers/thermal/cpu_cooling.c:67:31: warning: symbol 'notify_device' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 07 11月, 2012 4 次提交
-
-
由 hongbo.zhang 提交于
Problem of using this list is that the cpufreq_get_max_state callback will be called when register cooling device by thermal_cooling_device_register, but this list isn't ready at this moment. What's more, there is no need to maintain such a list, we can get cpufreq_cooling_device instance by the private thermal_cooling_device.devdata. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NFrancesco Lavra <francescolavra.fl@gmail.com> Reviewed-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 hongbo.zhang 提交于
In the while loop for counting cpu frequencies, if table[i].frequency equals CPUFREQ_ENTRY_INVALID, index i won't be increased, so this leads to an endless loop, what's more the index i cannot be referred as cpu frequencies number if there is CPUFREQ_ENTRY_INVALID case. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 hongbo.zhang 提交于
The curly bracket should be aligned with corresponding if else statements. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Kuninori Morimoto 提交于
devm_kfree and devm_iounmap should not have to be explicitly used Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 05 11月, 2012 17 次提交
-
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/user_space.c:38:5: warning: symbol 'notify_user_space' was not declared. Should it be static? drivers/thermal/user_space.c:46:25: warning: symbol 'thermal_gov_user_space' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/fair_share.c:80:5: warning: symbol 'fair_share_throttle' was not declared. Should it be static? drivers/thermal/fair_share.c:111:25: warning: symbol 'thermal_gov_fair_share' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/step_wise.c:153:5: warning: symbol 'step_wise_throttle' was not declared. Should it be static? drivers/thermal/step_wise.c:172:25: warning: symbol 'thermal_gov_step_wise' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Hugh Dickins 提交于
This patch fixes the following mutex and NULL pointer problems in thermal_sys.c: * mutex_unlock fix in update_temperature function * mutex_unlock fix in bind_cdev function * Correct early return to continue in bind_cdev function * NULL check fix in bind_cdev function * NULL check fix in bind_tz function Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reported-by: NSedat Dilek <sedat.dilek@gmail.com> Reported-by: NHugh Dickins <hughd@google.com> Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com> Signed-off-by: NHugh Dickins <hughd@google.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch provides option to choose the default thermal governor. If no option is provided, the step_wise governor is selected by default. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds a notification API which the sensor drivers' can use to notify the framework. The framework then takes care of the throttling according to the configured policy. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch removes the throttling logic out of thermal_sys.c; also refactors the code into smaller functions so that are easy to read/maintain. * Seperates the handling of critical and non-critical trips * Re-arranges the set_polling and device_check methods, so that all related functions are arranged in one place. * Removes the 'do_update' and 'trip_update' method, as part of moving the throttling logic out of thermal_sys.c Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch registers a governor which will let the user land manage the platform thermals. Whenever a trip happens, this governor just notifies the user space using kobj_uevent(). Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds a simple step_wise governor to the generic thermal layer. This algorithm throttles the cooling devices in a linear fashion. If the 'trend' is heating, it throttles by one step. And if the thermal trend is cooling it de-throttles by one step. This actually moves the throttling logic from thermal_sys.c and puts inside step_wise.c, without any change. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch introduces a simple 'weight' based governor named fair_share governor. Whenever the thermal framework gets notified of the trip point violation, this governor (if configured), throttles the cooling devices associated with a thermal zone. This mapping between a thermal zone and a cooling device and the effectiveness of cooling are provided in the platform layer. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch makes the thermal_cdev_update function as a global one, so that other files can use it. This function serves as a single arbitrator to set the state of a cooling device. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch updates the binding logic in thermal_sys.c It uses the platform layer data to bind a thermal zone to a cdev for a particular trip point. * If we do not have platform data and do not have .bind defined, do not bind. * If we do not have platform data but .bind is defined, then use tz->ops->bind. * If we have platform data, use it to create binding. The same logic sequence is followed for unbind also. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds a policy sysfs attribute to a thermal zone. This attribute denotes the throttling governor used for the zone. This is a RW attribute. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch creates a structure to hold platform thermal governor information, and provides APIs for individual thermal governors to register/unregister with the Thermal framework. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds the thermal zone parameter as an argument to the tzd_register() function call; and updates other drivers using this function. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds the following API's to thermal_sys.c, that can be used by other Thermal drivers. * get_tz_trend: obtain the trend of the given thermal zone * get_thermal_instance: obtain the instance corresponding to the given tz, cdev and the trip point. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch creates a thermal_core.h file which can contain all defines used by the core thermal framework files. For now, move the thermal_instance structure to thermal_core.h This structure is used by files under drivers/thermal/. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 03 11月, 2012 2 次提交
-
-
由 Jonghwan Choi 提交于
Signed-off-by: NJonghwan Choi <jhbird.choi@samsung.com> Reviewed-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Devendra Naga 提交于
following were the errors reported drivers/thermal/rcar_thermal.c: In function ‘rcar_thermal_probe’: drivers/thermal/rcar_thermal.c:214:10: warning: passing argument 3 of ‘thermal_zone_device_register’ makes integer from pointer without a cast [enabled by default] include/linux/thermal.h:166:29: note: expected ‘int’ but argument is of type ‘struct rcar_thermal_priv *’ drivers/thermal/rcar_thermal.c:214:10: error: too few arguments to function ‘thermal_zone_device_register’ include/linux/thermal.h:166:29: note: declared here make[1]: *** [drivers/thermal/rcar_thermal.o] Error 1 make: *** [drivers/thermal/rcar_thermal.o] Error 2 with gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) Signed-off-by: NDevendra Naga <develkernel412222@gmail.com> Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 16 10月, 2012 1 次提交
-
-
由 David Rientjes 提交于
Commit 02361418 ("thermal: add generic cpufreq cooling implementation") requires cpufreq_frequency_get_table(), but that function is only defined for CONFIG_CPU_FREQ_TABLE resulting in the following build error: drivers/built-in.o: In function `cpufreq_get_max_state': drivers/thermal/cpu_cooling.c:259: undefined reference to `cpufreq_frequency_get_table' drivers/built-in.o: In function `get_cpu_frequency': drivers/thermal/cpu_cooling.c:129: undefined reference to `cpufreq_frequency_get_table' Fix it by selecting CONFIG_CPU_FREQ_TABLE for such a configuration. It turns out CONFIG_EXYNOS_THERMAL also needs CONFIG_CPU_FREQ_TABLE, so select it there as well. Signed-off-by: NDavid Rientjes <rientjes@google.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 06 10月, 2012 1 次提交
-
-
由 Fengguang Wu 提交于
To avoid name conflicts: drivers/video/riva/fbdev.c:281:9: sparse: preprocessor token MAX_LEVEL redefined While at it, also make the other names more consistent and add parentheses. [akpm@linux-foundation.org: repair fallout] [sfr@canb.auug.org.au: IB/mlx4: fix for MAX_ID_MASK to MAX_IDR_MASK name change] Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at> Cc: walter harms <wharms@bfs.de> Cc: Glauber Costa <glommer@parallels.com> Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> Cc: Roland Dreier <roland@purestorage.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 28 9月, 2012 1 次提交
-
-
由 Sachin Kamat 提交于
exynos_unregister_thermal() is functional only when 'th_zone' is not NULL (ensured by the NULL checks). However, in the event it is NULL, it gets dereferenced in the for loop. This patch fixes this issue. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
-
- 27 9月, 2012 1 次提交
-
-
由 Jonghwa Lee 提交于
This patch fixes small bug on cpu_cooling. CPU cooling device has own id generated with idr mathod. However in the previous version, it swapped to all same id at last stage of probing as 0. This makes id's collision and also occures error when it releases that id. Signed-off-by: NJonghwa Lee <jonghwa3.lee@samsung.com>
-
- 24 9月, 2012 2 次提交
-
-
由 Amit Daniel Kachhap 提交于
devm_* functions are used to replace kzalloc, request_mem_region, ioremap and request_irq functions in probe call. With the usage of devm_* functions explicit freeing and unmapping is not required. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Signed-off-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Amit Daniel Kachhap 提交于
Add necessary default platform data support needed for TMU driver. The supplied dt/non-dt values are tested for origen exynos4210 and smdk exynos5250 platforms and only compile tested for exynos4412. Signed-off-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Acked-by: NGuenter Roeck <guenter.roeck@ericsson.com> Cc: SangWook Ju <sw.ju@samsung.com> Cc: Durgadoss <durgadoss.r@intel.com> Cc: Len Brown <lenb@kernel.org> Cc: Jean Delvare <khali@linux-fr.org> Cc: jonghwa lee <jonghwa3.lee@samsung.com> Cc: Kyungmin Park <kmpark@infradead.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-