diff options
author | Zhang Rui <rui.zhang@intel.com> | 2008-04-21 04:07:13 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 02:44:00 -0400 |
commit | 63c4ec905d63834a97ec7dbbf0a2ec89ef5872be (patch) | |
tree | 3ad4db7e154ee2fff4020f7ca76beb0d8016b04e | |
parent | a01e035ebb552223c03f2d9138ffc73f2d4d3965 (diff) |
thermal: add the support for building the generic thermal as a module
Build the generic thermal driver as module "thermal_sys".
Make ACPI thermal, video, processor and fan SELECT the generic
thermal driver, as these drivers rely on it to build the sysfs I/F.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/Kconfig | 3 | ||||
-rw-r--r-- | drivers/misc/Kconfig | 1 | ||||
-rw-r--r-- | drivers/thermal/Kconfig | 4 | ||||
-rw-r--r-- | drivers/thermal/Makefile | 3 | ||||
-rw-r--r-- | drivers/thermal/thermal.c | 2 | ||||
-rw-r--r-- | include/linux/thermal.h | 14 |
6 files changed, 9 insertions, 18 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index b4f5e8542829..c52fca833268 100644 --- a/drivers/acpi/Kconfig +++ b/drivers/acpi/Kconfig | |||
@@ -140,6 +140,7 @@ config ACPI_VIDEO | |||
140 | tristate "Video" | 140 | tristate "Video" |
141 | depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL | 141 | depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL |
142 | depends on INPUT | 142 | depends on INPUT |
143 | select THERMAL | ||
143 | help | 144 | help |
144 | This driver implement the ACPI Extensions For Display Adapters | 145 | This driver implement the ACPI Extensions For Display Adapters |
145 | for integrated graphics devices on motherboard, as specified in | 146 | for integrated graphics devices on motherboard, as specified in |
@@ -151,6 +152,7 @@ config ACPI_VIDEO | |||
151 | 152 | ||
152 | config ACPI_FAN | 153 | config ACPI_FAN |
153 | tristate "Fan" | 154 | tristate "Fan" |
155 | select THERMAL | ||
154 | default y | 156 | default y |
155 | help | 157 | help |
156 | This driver adds support for ACPI fan devices, allowing user-mode | 158 | This driver adds support for ACPI fan devices, allowing user-mode |
@@ -172,6 +174,7 @@ config ACPI_BAY | |||
172 | 174 | ||
173 | config ACPI_PROCESSOR | 175 | config ACPI_PROCESSOR |
174 | tristate "Processor" | 176 | tristate "Processor" |
177 | select THERMAL | ||
175 | default y | 178 | default y |
176 | help | 179 | help |
177 | This driver installs ACPI as the idle handler for Linux, and uses | 180 | This driver installs ACPI as the idle handler for Linux, and uses |
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 297a48f85446..08f35d76dcd9 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig | |||
@@ -344,6 +344,7 @@ config ATMEL_SSC | |||
344 | config INTEL_MENLOW | 344 | config INTEL_MENLOW |
345 | tristate "Thermal Management driver for Intel menlow platform" | 345 | tristate "Thermal Management driver for Intel menlow platform" |
346 | depends on ACPI_THERMAL | 346 | depends on ACPI_THERMAL |
347 | select THERMAL | ||
347 | depends on X86 | 348 | depends on X86 |
348 | ---help--- | 349 | ---help--- |
349 | ACPI thermal management enhancement driver on | 350 | ACPI thermal management enhancement driver on |
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig index 17e71d56f31e..4b628526df09 100644 --- a/drivers/thermal/Kconfig +++ b/drivers/thermal/Kconfig | |||
@@ -3,7 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | menuconfig THERMAL | 5 | menuconfig THERMAL |
6 | bool "Generic Thermal sysfs driver" | 6 | tristate "Generic Thermal sysfs driver" |
7 | help | 7 | help |
8 | Generic Thermal Sysfs driver offers a generic mechanism for | 8 | Generic Thermal Sysfs driver offers a generic mechanism for |
9 | thermal management. Usually it's made up of one or more thermal | 9 | thermal management. Usually it's made up of one or more thermal |
@@ -11,4 +11,4 @@ menuconfig THERMAL | |||
11 | Each thermal zone contains its own temperature, trip points, | 11 | Each thermal zone contains its own temperature, trip points, |
12 | cooling devices. | 12 | cooling devices. |
13 | All platforms with ACPI thermal support can use this driver. | 13 | All platforms with ACPI thermal support can use this driver. |
14 | If you want this support, you should say Y here. | 14 | If you want this support, you should say Y or M here. |
diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile index 8ef1232de376..02b64517be8f 100644 --- a/drivers/thermal/Makefile +++ b/drivers/thermal/Makefile | |||
@@ -2,4 +2,5 @@ | |||
2 | # Makefile for sensor chip drivers. | 2 | # Makefile for sensor chip drivers. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_THERMAL) += thermal.o | 5 | thermal_sys-objs += thermal.o |
6 | obj-$(CONFIG_THERMAL) += thermal_sys.o | ||
diff --git a/drivers/thermal/thermal.c b/drivers/thermal/thermal.c index 7f79bbf652d7..cf56af4b7e02 100644 --- a/drivers/thermal/thermal.c +++ b/drivers/thermal/thermal.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/thermal.h> | 31 | #include <linux/thermal.h> |
32 | #include <linux/spinlock.h> | 32 | #include <linux/spinlock.h> |
33 | 33 | ||
34 | MODULE_AUTHOR("Zhang Rui") | 34 | MODULE_AUTHOR("Zhang Rui"); |
35 | MODULE_DESCRIPTION("Generic thermal management sysfs support"); | 35 | MODULE_DESCRIPTION("Generic thermal management sysfs support"); |
36 | MODULE_LICENSE("GPL"); | 36 | MODULE_LICENSE("GPL"); |
37 | 37 | ||
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 90c1c191ea69..3ff680b44e81 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h | |||
@@ -88,24 +88,10 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int, | |||
88 | struct thermal_cooling_device *); | 88 | struct thermal_cooling_device *); |
89 | int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, | 89 | int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, |
90 | struct thermal_cooling_device *); | 90 | struct thermal_cooling_device *); |
91 | |||
92 | #ifdef CONFIG_THERMAL | ||
93 | struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, | 91 | struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, |
94 | struct | 92 | struct |
95 | thermal_cooling_device_ops | 93 | thermal_cooling_device_ops |
96 | *); | 94 | *); |
97 | void thermal_cooling_device_unregister(struct thermal_cooling_device *); | 95 | void thermal_cooling_device_unregister(struct thermal_cooling_device *); |
98 | #else | ||
99 | static inline struct thermal_cooling_device | ||
100 | *thermal_cooling_device_register(char *c, void *v, | ||
101 | struct thermal_cooling_device_ops *t) | ||
102 | { | ||
103 | return NULL; | ||
104 | } | ||
105 | static inline | ||
106 | void thermal_cooling_device_unregister(struct thermal_cooling_device *t) | ||
107 | { | ||
108 | }; | ||
109 | #endif | ||
110 | 96 | ||
111 | #endif /* __THERMAL_H__ */ | 97 | #endif /* __THERMAL_H__ */ |