Commit 63c4ec90 authored by Zhang Rui's avatar Zhang Rui Committed by Len Brown

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: default avatarZhang Rui <rui.zhang@intel.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent a01e035e
...@@ -140,6 +140,7 @@ config ACPI_VIDEO ...@@ -140,6 +140,7 @@ config ACPI_VIDEO
tristate "Video" tristate "Video"
depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
depends on INPUT depends on INPUT
select THERMAL
help help
This driver implement the ACPI Extensions For Display Adapters This driver implement the ACPI Extensions For Display Adapters
for integrated graphics devices on motherboard, as specified in for integrated graphics devices on motherboard, as specified in
...@@ -151,6 +152,7 @@ config ACPI_VIDEO ...@@ -151,6 +152,7 @@ config ACPI_VIDEO
config ACPI_FAN config ACPI_FAN
tristate "Fan" tristate "Fan"
select THERMAL
default y default y
help help
This driver adds support for ACPI fan devices, allowing user-mode This driver adds support for ACPI fan devices, allowing user-mode
...@@ -172,6 +174,7 @@ config ACPI_BAY ...@@ -172,6 +174,7 @@ config ACPI_BAY
config ACPI_PROCESSOR config ACPI_PROCESSOR
tristate "Processor" tristate "Processor"
select THERMAL
default y default y
help help
This driver installs ACPI as the idle handler for Linux, and uses This driver installs ACPI as the idle handler for Linux, and uses
......
...@@ -344,6 +344,7 @@ config ATMEL_SSC ...@@ -344,6 +344,7 @@ config ATMEL_SSC
config INTEL_MENLOW config INTEL_MENLOW
tristate "Thermal Management driver for Intel menlow platform" tristate "Thermal Management driver for Intel menlow platform"
depends on ACPI_THERMAL depends on ACPI_THERMAL
select THERMAL
depends on X86 depends on X86
---help--- ---help---
ACPI thermal management enhancement driver on ACPI thermal management enhancement driver on
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
menuconfig THERMAL menuconfig THERMAL
bool "Generic Thermal sysfs driver" tristate "Generic Thermal sysfs driver"
help help
Generic Thermal Sysfs driver offers a generic mechanism for Generic Thermal Sysfs driver offers a generic mechanism for
thermal management. Usually it's made up of one or more thermal thermal management. Usually it's made up of one or more thermal
...@@ -11,4 +11,4 @@ menuconfig THERMAL ...@@ -11,4 +11,4 @@ menuconfig THERMAL
Each thermal zone contains its own temperature, trip points, Each thermal zone contains its own temperature, trip points,
cooling devices. cooling devices.
All platforms with ACPI thermal support can use this driver. All platforms with ACPI thermal support can use this driver.
If you want this support, you should say Y here. If you want this support, you should say Y or M here.
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
# Makefile for sensor chip drivers. # Makefile for sensor chip drivers.
# #
obj-$(CONFIG_THERMAL) += thermal.o thermal_sys-objs += thermal.o
obj-$(CONFIG_THERMAL) += thermal_sys.o
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <linux/thermal.h> #include <linux/thermal.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
MODULE_AUTHOR("Zhang Rui") MODULE_AUTHOR("Zhang Rui");
MODULE_DESCRIPTION("Generic thermal management sysfs support"); MODULE_DESCRIPTION("Generic thermal management sysfs support");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -88,24 +88,10 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int, ...@@ -88,24 +88,10 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int,
struct thermal_cooling_device *); struct thermal_cooling_device *);
int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int,
struct thermal_cooling_device *); struct thermal_cooling_device *);
#ifdef CONFIG_THERMAL
struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, struct thermal_cooling_device *thermal_cooling_device_register(char *, void *,
struct struct
thermal_cooling_device_ops thermal_cooling_device_ops
*); *);
void thermal_cooling_device_unregister(struct thermal_cooling_device *); void thermal_cooling_device_unregister(struct thermal_cooling_device *);
#else
static inline struct thermal_cooling_device
*thermal_cooling_device_register(char *c, void *v,
struct thermal_cooling_device_ops *t)
{
return NULL;
}
static inline
void thermal_cooling_device_unregister(struct thermal_cooling_device *t)
{
};
#endif
#endif /* __THERMAL_H__ */ #endif /* __THERMAL_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment