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
/
adb.c
diff --git
a/drivers/macintosh/adb.c
b/drivers/macintosh/adb.c
index
d2ead17
..
7cec6de
100644
(file)
--- a/
drivers/macintosh/adb.c
+++ b/
drivers/macintosh/adb.c
@@
-16,7
+16,6
@@
* - move bus probe to a kernel thread
*/
* - move bus probe to a kernel thread
*/
-#include <linux/config.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/kernel.h>
@@
-36,12
+35,12
@@
#include <linux/spinlock.h>
#include <linux/completion.h>
#include <linux/device.h>
#include <linux/spinlock.h>
#include <linux/completion.h>
#include <linux/device.h>
-#include <linux/devfs_fs_kernel.h>
#include <asm/uaccess.h>
#include <asm/semaphore.h>
#ifdef CONFIG_PPC
#include <asm/prom.h>
#include <asm/uaccess.h>
#include <asm/semaphore.h>
#ifdef CONFIG_PPC
#include <asm/prom.h>
+#include <asm/machdep.h>
#endif
#endif
@@
-80,7
+79,7
@@
static struct adb_driver *adb_driver_list[] = {
static struct class *adb_dev_class;
struct adb_driver *adb_controller;
static struct class *adb_dev_class;
struct adb_driver *adb_controller;
-
struct notifier_block *adb_client_list = NULL
;
+
BLOCKING_NOTIFIER_HEAD(adb_client_list)
;
static int adb_got_sleep;
static int adb_inited;
static pid_t adb_probe_task_pid;
static int adb_got_sleep;
static int adb_inited;
static pid_t adb_probe_task_pid;
@@
-104,7
+103,7
@@
static void adbdev_init(void);
static int try_handler_change(int, int);
static struct adb_handler {
static int try_handler_change(int, int);
static struct adb_handler {
- void (*handler)(unsigned char *, int,
struct pt_regs *,
int);
+ void (*handler)(unsigned char *, int, int);
int original_address;
int handler_id;
int busy;
int original_address;
int handler_id;
int busy;
@@
-268,12
+267,12
@@
adb_probe_task(void *x)
}
static void
}
static void
-__adb_probe_task(
void *data
)
+__adb_probe_task(
struct work_struct *bullshit
)
{
adb_probe_task_pid = kernel_thread(adb_probe_task, NULL, SIGCHLD | CLONE_KERNEL);
}
{
adb_probe_task_pid = kernel_thread(adb_probe_task, NULL, SIGCHLD | CLONE_KERNEL);
}
-static DECLARE_WORK(adb_reset_work, __adb_probe_task
, NULL
);
+static DECLARE_WORK(adb_reset_work, __adb_probe_task);
int
adb_reset_bus(void)
int
adb_reset_bus(void)
@@
-294,7
+293,7
@@
int __init adb_init(void)
int i;
#ifdef CONFIG_PPC32
int i;
#ifdef CONFIG_PPC32
- if (
(_machine != _MACH_chrp) && (_machine != _MACH_Pmac)
)
+ if (
!machine_is(chrp) && !machine_is(powermac)
)
return 0;
#endif
#ifdef CONFIG_MAC
return 0;
#endif
#ifdef CONFIG_MAC
@@
-354,7
+353,8
@@
adb_notify_sleep(struct pmu_sleep_notifier *self, int when)
/* Stop autopoll */
if (adb_controller->autopoll)
adb_controller->autopoll(0);
/* Stop autopoll */
if (adb_controller->autopoll)
adb_controller->autopoll(0);
- ret = notifier_call_chain(&adb_client_list, ADB_MSG_POWERDOWN, NULL);
+ ret = blocking_notifier_call_chain(&adb_client_list,
+ ADB_MSG_POWERDOWN, NULL);
if (ret & NOTIFY_STOP_MASK) {
up(&adb_probe_mutex);
return PBOOK_SLEEP_REFUSE;
if (ret & NOTIFY_STOP_MASK) {
up(&adb_probe_mutex);
return PBOOK_SLEEP_REFUSE;
@@
-391,7
+391,8
@@
do_adb_reset_bus(void)
if (adb_controller->autopoll)
adb_controller->autopoll(0);
if (adb_controller->autopoll)
adb_controller->autopoll(0);
- nret = notifier_call_chain(&adb_client_list, ADB_MSG_PRE_RESET, NULL);
+ nret = blocking_notifier_call_chain(&adb_client_list,
+ ADB_MSG_PRE_RESET, NULL);
if (nret & NOTIFY_STOP_MASK) {
if (adb_controller->autopoll)
adb_controller->autopoll(autopoll_devs);
if (nret & NOTIFY_STOP_MASK) {
if (adb_controller->autopoll)
adb_controller->autopoll(autopoll_devs);
@@
-426,7
+427,8
@@
do_adb_reset_bus(void)
}
up(&adb_handler_sem);
}
up(&adb_handler_sem);
- nret = notifier_call_chain(&adb_client_list, ADB_MSG_POST_RESET, NULL);
+ nret = blocking_notifier_call_chain(&adb_client_list,
+ ADB_MSG_POST_RESET, NULL);
if (nret & NOTIFY_STOP_MASK)
return -EBUSY;
if (nret & NOTIFY_STOP_MASK)
return -EBUSY;
@@
-520,7
+522,7
@@
bail:
the handler_id id it doesn't match. */
int
adb_register(int default_id, int handler_id, struct adb_ids *ids,
the handler_id id it doesn't match. */
int
adb_register(int default_id, int handler_id, struct adb_ids *ids,
- void (*handler)(unsigned char *, int,
struct pt_regs *,
int))
+ void (*handler)(unsigned char *, int, int))
{
int i;
{
int i;
@@
-568,13
+570,13
@@
adb_unregister(int index)
}
void
}
void
-adb_input(unsigned char *buf, int nb,
struct pt_regs *regs,
int autopoll)
+adb_input(unsigned char *buf, int nb, int autopoll)
{
int i, id;
static int dump_adb_input = 0;
unsigned long flags;
{
int i, id;
static int dump_adb_input = 0;
unsigned long flags;
- void (*handler)(unsigned char *, int,
struct pt_regs *,
int);
+ void (*handler)(unsigned char *, int, int);
/* We skip keystrokes and mouse moves when the sleep process
* has been started. We stop autopoll, but this is another security
/* We skip keystrokes and mouse moves when the sleep process
* has been started. We stop autopoll, but this is another security
@@
-595,7
+597,7
@@
adb_input(unsigned char *buf, int nb, struct pt_regs *regs, int autopoll)
adb_handler[id].busy = 1;
write_unlock_irqrestore(&adb_handler_lock, flags);
if (handler != NULL) {
adb_handler[id].busy = 1;
write_unlock_irqrestore(&adb_handler_lock, flags);
if (handler != NULL) {
- (*handler)(buf, nb,
regs,
autopoll);
+ (*handler)(buf, nb, autopoll);
wmb();
adb_handler[id].busy = 0;
}
wmb();
adb_handler[id].busy = 0;
}
@@
-826,7
+828,7
@@
static ssize_t adb_write(struct file *file, const char __user *buf,
if (!access_ok(VERIFY_READ, buf, count))
return -EFAULT;
if (!access_ok(VERIFY_READ, buf, count))
return -EFAULT;
- req =
(struct adb_request *)
kmalloc(sizeof(struct adb_request),
+ req = kmalloc(sizeof(struct adb_request),
GFP_KERNEL);
if (req == NULL)
return -ENOMEM;
GFP_KERNEL);
if (req == NULL)
return -ENOMEM;
@@
-900,8
+902,6
@@
adbdev_init(void)
return;
}
return;
}
- devfs_mk_cdev(MKDEV(ADB_MAJOR, 0), S_IFCHR | S_IRUSR | S_IWUSR, "adb");
-
adb_dev_class = class_create(THIS_MODULE, "adb");
if (IS_ERR(adb_dev_class))
return;
adb_dev_class = class_create(THIS_MODULE, "adb");
if (IS_ERR(adb_dev_class))
return;