git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
macintosh
/
windfarm_core.c
diff --git
a/drivers/macintosh/windfarm_core.c
b/drivers/macintosh/windfarm_core.c
index
6c0ba04
..
e947af9
100644
(file)
--- a/
drivers/macintosh/windfarm_core.c
+++ b/
drivers/macintosh/windfarm_core.c
@@
-34,6
+34,7
@@
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
+#include <linux/freezer.h>
#include <asm/prom.h>
#include <asm/prom.h>
@@
-52,7
+53,7
@@
static LIST_HEAD(wf_controls);
static LIST_HEAD(wf_sensors);
static DEFINE_MUTEX(wf_lock);
static LIST_HEAD(wf_controls);
static LIST_HEAD(wf_sensors);
static DEFINE_MUTEX(wf_lock);
-static
struct notifier_block *wf_client_list
;
+static
BLOCKING_NOTIFIER_HEAD(wf_client_list)
;
static int wf_client_count;
static unsigned int wf_overtemp;
static unsigned int wf_overtemp_counter;
static int wf_client_count;
static unsigned int wf_overtemp;
static unsigned int wf_overtemp_counter;
@@
-68,7
+69,7
@@
static struct platform_device wf_platform_device = {
static inline void wf_notify(int event, void *param)
{
static inline void wf_notify(int event, void *param)
{
- notifier_call_chain(&wf_client_list, event, param);
+
blocking_
notifier_call_chain(&wf_client_list, event, param);
}
int wf_critical_overtemp(void)
}
int wf_critical_overtemp(void)
@@
-398,7
+399,7
@@
int wf_register_client(struct notifier_block *nb)
struct wf_sensor *sr;
mutex_lock(&wf_lock);
struct wf_sensor *sr;
mutex_lock(&wf_lock);
- rc = notifier_chain_register(&wf_client_list, nb);
+ rc =
blocking_
notifier_chain_register(&wf_client_list, nb);
if (rc != 0)
goto bail;
wf_client_count++;
if (rc != 0)
goto bail;
wf_client_count++;
@@
-417,7
+418,7
@@
EXPORT_SYMBOL_GPL(wf_register_client);
int wf_unregister_client(struct notifier_block *nb)
{
mutex_lock(&wf_lock);
int wf_unregister_client(struct notifier_block *nb)
{
mutex_lock(&wf_lock);
- notifier_chain_unregister(&wf_client_list, nb);
+
blocking_
notifier_chain_unregister(&wf_client_list, nb);
wf_client_count++;
if (wf_client_count == 0)
wf_stop_thread();
wf_client_count++;
if (wf_client_count == 0)
wf_stop_thread();