diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-11-12 21:10:31 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-11-12 21:10:31 -0800 |
commit | 91c239499985a4587917e90fd961fe0ad4b7356d (patch) | |
tree | 5250dc92b909897e6c620f63efd498a781f39e2b /driver | |
parent | 03b9a83684d6424fa71d1692d575369b5c9ab14c (diff) | |
download | patches-91c239499985a4587917e90fd961fe0ad4b7356d.tar.gz |
add usb Changelog.old patch, and 5 uevent cleanup patches from Kay.
Diffstat (limited to 'driver')
-rw-r--r-- | driver/add-uevent_helper.patch | 71 | ||||
-rw-r--r-- | driver/merge-hotplug-and-uevent.patch | 425 | ||||
-rw-r--r-- | driver/move-pnpbios-usermod_helper.patch | 51 | ||||
-rw-r--r-- | driver/remove-KOBJECT_UEVENT.patch | 289 | ||||
-rw-r--r-- | driver/remove-mount-events.patch | 88 | ||||
-rw-r--r-- | driver/speakup-core.patch | 114 |
6 files changed, 981 insertions, 57 deletions
diff --git a/driver/add-uevent_helper.patch b/driver/add-uevent_helper.patch new file mode 100644 index 0000000000000..2d6e59f72c843 --- /dev/null +++ b/driver/add-uevent_helper.patch @@ -0,0 +1,71 @@ +diff-tree bf9558fd631a02723c6b154400645a7a17ccaa54 (from 48bd66a731b03e50de1cd4390597e889a48d7d57) +Author: Kay Sievers <kay.sievers@suse.de> +Date: Fri Nov 11 04:58:04 2005 +0100 + +add uevent_helper control in /sys/kernel/ + +This deprecates the /proc/sys/kernel/hotplug file, as all +this stuff should be in /sys some day, right? :) +In /sys/kernel/ we have now uevent_seqnum and uevent_helper. +The seqnum is no longer used by udev, as the version for this +kernel depends on netlink which events will never get +out-of-order. + +Recent udev versions disable the /sbin/hotplug helper with +an init script, cause it leads to OOM on big boxes by running +hundreds of shells in parallel. It should be done now by: + echo "" > /sys/kernel/uevent_helper + +(Note that "-n" does not work, cause neighter proc nor sysfs +support truncate().) + +Signed-off-by: Kay Sievers <kay.sievers@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + kernel/ksysfs.c | 25 ++++++++++++++++++++++--- + 1 file changed, 22 insertions(+), 3 deletions(-) + +--- gregkh-2.6.orig/kernel/ksysfs.c 2005-08-28 16:41:01.000000000 -0700 ++++ gregkh-2.6/kernel/ksysfs.c 2005-11-12 20:58:39.000000000 -0800 +@@ -23,11 +23,29 @@ + __ATTR(_name, 0644, _name##_show, _name##_store) + + #ifdef CONFIG_HOTPLUG +-static ssize_t hotplug_seqnum_show(struct subsystem *subsys, char *page) ++/* current uevent sequence number */ ++static ssize_t uevent_seqnum_show(struct subsystem *subsys, char *page) + { + return sprintf(page, "%llu\n", (unsigned long long)hotplug_seqnum); + } +-KERNEL_ATTR_RO(hotplug_seqnum); ++KERNEL_ATTR_RO(uevent_seqnum); ++ ++/* uevent helper program, used during early boo */ ++static ssize_t uevent_helper_show(struct subsystem *subsys, char *page) ++{ ++ return sprintf(page, "%s\n", hotplug_path); ++} ++static ssize_t uevent_helper_store(struct subsystem *subsys, const char *page, size_t count) ++{ ++ if (count+1 > HOTPLUG_PATH_LEN) ++ return -ENOENT; ++ memcpy(hotplug_path, page, count); ++ hotplug_path[count] = '\0'; ++ if (count && hotplug_path[count-1] == '\n') ++ hotplug_path[count-1] = '\0'; ++ return count; ++} ++KERNEL_ATTR_RW(uevent_helper); + #endif + + #ifdef CONFIG_KEXEC +@@ -45,7 +63,8 @@ + + static struct attribute * kernel_attrs[] = { + #ifdef CONFIG_HOTPLUG +- &hotplug_seqnum_attr.attr, ++ &uevent_seqnum_attr.attr, ++ &uevent_helper_attr.attr, + #endif + #ifdef CONFIG_KEXEC + &crash_notes_attr.attr, diff --git a/driver/merge-hotplug-and-uevent.patch b/driver/merge-hotplug-and-uevent.patch new file mode 100644 index 0000000000000..e00f80d3d0b5e --- /dev/null +++ b/driver/merge-hotplug-and-uevent.patch @@ -0,0 +1,425 @@ +diff-tree 20b725254d8afa5e167e17df73a653fb8b8211e6 (from 6ff0b7d6d7ef2da3a03c24d936aa3812f33f148a) +Author: Kay Sievers <kay.sievers@suse.de> +Date: Fri Nov 11 14:43:07 2005 +0100 + +merge kobject_uevent and kobject_hotplug + +The distinction between hotplug and uevent does not make sense these +days, netlink events are the default. + +udev depends entirely on netlink uevents these days. Only during +early boot and in initramfs /sbin/hotplug is needed. So merge the +two functions and provide only one interface. + +The netlink layer got a nice generic interface with named slots +recently, which are a better facility to plug events for individual +subsystems. + +Signed-off-by: Kay Sievers <kay.sievers@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + drivers/scsi/ipr.c | 2 + include/linux/kobject.h | 27 +--- + lib/kobject_uevent.c | 264 +++++++++++++++--------------------------------- + 3 files changed, 92 insertions(+), 201 deletions(-) + +--- gregkh-2.6.orig/drivers/scsi/ipr.c 2005-11-11 22:48:24.000000000 -0800 ++++ gregkh-2.6/drivers/scsi/ipr.c 2005-11-12 20:58:44.000000000 -0800 +@@ -2132,7 +2132,7 @@ + } + + spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); +- kobject_uevent(&ioa_cfg->host->shost_classdev.kobj, KOBJ_CHANGE, NULL); ++ kobject_hotplug(&ioa_cfg->host->shost_classdev.kobj, KOBJ_CHANGE); + LEAVE; + } + +--- gregkh-2.6.orig/include/linux/kobject.h 2005-11-12 20:58:43.000000000 -0800 ++++ gregkh-2.6/include/linux/kobject.h 2005-11-12 20:58:44.000000000 -0800 +@@ -39,11 +39,11 @@ + /* the actions here must match the proper string in lib/kobject_uevent.c */ + typedef int __bitwise kobject_action_t; + enum kobject_action { +- KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */ +- KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */ +- KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */ +- KOBJ_OFFLINE = (__force kobject_action_t) 0x04, /* offline event for hotplug devices */ +- KOBJ_ONLINE = (__force kobject_action_t) 0x05, /* online event for hotplug devices */ ++ KOBJ_ADD = (__force kobject_action_t) 0x01, /* exclusive to core */ ++ KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* exclusive to core */ ++ KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* device state change */ ++ KOBJ_OFFLINE = (__force kobject_action_t) 0x04, /* device offline */ ++ KOBJ_ONLINE = (__force kobject_action_t) 0x05, /* device online */ + }; + + struct kobject { +@@ -262,28 +262,13 @@ + char *buffer, int buffer_size, int *cur_len, + const char *format, ...) + __attribute__((format (printf, 7, 8))); +- +-int kobject_uevent(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr); +-int kobject_uevent_atomic(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr); +- + #else + static inline void kobject_hotplug(struct kobject *kobj, enum kobject_action action) { } ++ + static inline int add_hotplug_env_var(char **envp, int num_envp, int *cur_index, + char *buffer, int buffer_size, int *cur_len, + const char *format, ...) + { return 0; } +-int kobject_uevent(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr) +-{ return 0; } +-int kobject_uevent_atomic(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr) +-{ return 0; } + #endif + + #endif /* __KERNEL__ */ +--- gregkh-2.6.orig/lib/kobject_uevent.c 2005-11-12 20:58:43.000000000 -0800 ++++ gregkh-2.6/lib/kobject_uevent.c 2005-11-12 20:58:44.000000000 -0800 +@@ -29,6 +29,7 @@ + char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug"; + u64 hotplug_seqnum; + static DEFINE_SPINLOCK(sequence_lock); ++static struct sock *uevent_sock; + + static char *action_to_string(enum kobject_action action) + { +@@ -48,123 +49,6 @@ + } + } + +-static struct sock *uevent_sock; +- +-/** +- * send_uevent - notify userspace by sending event through netlink socket +- * +- * @signal: signal name +- * @obj: object path (kobject) +- * @envp: possible hotplug environment to pass with the message +- * @gfp_mask: +- */ +-static int send_uevent(const char *signal, const char *obj, +- char **envp, gfp_t gfp_mask) +-{ +- struct sk_buff *skb; +- char *pos; +- int len; +- +- if (!uevent_sock) +- return -EIO; +- +- len = strlen(signal) + 1; +- len += strlen(obj) + 1; +- +- /* allocate buffer with the maximum possible message size */ +- skb = alloc_skb(len + BUFFER_SIZE, gfp_mask); +- if (!skb) +- return -ENOMEM; +- +- pos = skb_put(skb, len); +- sprintf(pos, "%s@%s", signal, obj); +- +- /* copy the environment key by key to our continuous buffer */ +- if (envp) { +- int i; +- +- for (i = 2; envp[i]; i++) { +- len = strlen(envp[i]) + 1; +- pos = skb_put(skb, len); +- strcpy(pos, envp[i]); +- } +- } +- +- NETLINK_CB(skb).dst_group = 1; +- return netlink_broadcast(uevent_sock, skb, 0, 1, gfp_mask); +-} +- +-static int do_kobject_uevent(struct kobject *kobj, enum kobject_action action, +- struct attribute *attr, gfp_t gfp_mask) +-{ +- char *path; +- char *attrpath; +- char *signal; +- int len; +- int rc = -ENOMEM; +- +- path = kobject_get_path(kobj, gfp_mask); +- if (!path) +- return -ENOMEM; +- +- signal = action_to_string(action); +- if (!signal) +- return -EINVAL; +- +- if (attr) { +- len = strlen(path); +- len += strlen(attr->name) + 2; +- attrpath = kmalloc(len, gfp_mask); +- if (!attrpath) +- goto exit; +- sprintf(attrpath, "%s/%s", path, attr->name); +- rc = send_uevent(signal, attrpath, NULL, gfp_mask); +- kfree(attrpath); +- } else +- rc = send_uevent(signal, path, NULL, gfp_mask); +- +-exit: +- kfree(path); +- return rc; +-} +- +-/** +- * kobject_uevent - notify userspace by sending event through netlink socket +- * +- * @signal: signal name +- * @kobj: struct kobject that the event is happening to +- * @attr: optional struct attribute the event belongs to +- */ +-int kobject_uevent(struct kobject *kobj, enum kobject_action action, +- struct attribute *attr) +-{ +- return do_kobject_uevent(kobj, action, attr, GFP_KERNEL); +-} +-EXPORT_SYMBOL_GPL(kobject_uevent); +- +-int kobject_uevent_atomic(struct kobject *kobj, enum kobject_action action, +- struct attribute *attr) +-{ +- return do_kobject_uevent(kobj, action, attr, GFP_ATOMIC); +-} +-EXPORT_SYMBOL_GPL(kobject_uevent_atomic); +- +-static int __init kobject_uevent_init(void) +-{ +- uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL, +- THIS_MODULE); +- +- if (!uevent_sock) { +- printk(KERN_ERR +- "kobject_uevent: unable to create netlink socket!\n"); +- return -ENODEV; +- } +- +- return 0; +-} +- +-postcore_initcall(kobject_uevent_init); +- + /** + * kobject_hotplug - notify userspace by executing /sbin/hotplug + * +@@ -180,88 +64,80 @@ + char *scratch; + int i = 0; + int retval; +- char *kobj_path = NULL; +- const char *name = NULL; ++ size_t len; ++ char *devpath = NULL; ++ const char *subsystem = NULL; + char *action_string; + u64 seq; +- struct kobject *top_kobj = kobj; +- struct kset *kset; +- static struct kset_hotplug_ops null_hotplug_ops; +- struct kset_hotplug_ops *hotplug_ops = &null_hotplug_ops; ++ struct kobject *top_kobj; ++ struct kset *kset = NULL; ++ struct kset_hotplug_ops *hotplug_ops = NULL; ++ struct sk_buff *skb; ++ ++ pr_debug("%s\n", __FUNCTION__); + +- /* If this kobj does not belong to a kset, +- try to find a parent that does. */ ++ action_string = action_to_string(action); ++ if (!action_string) ++ return; ++ ++ /* search the kset we belong to */ ++ top_kobj = kobj; + if (!top_kobj->kset && top_kobj->parent) { + do { + top_kobj = top_kobj->parent; + } while (!top_kobj->kset && top_kobj->parent); + } +- +- if (top_kobj->kset) ++ if (top_kobj->kset) { + kset = top_kobj->kset; +- else +- return; +- +- if (kset->hotplug_ops) + hotplug_ops = kset->hotplug_ops; ++ } else ++ return; + +- /* If the kset has a filter operation, call it. +- Skip the event, if the filter returns zero. */ +- if (hotplug_ops->filter) { ++ /* skip the event, if the filter returns zero. */ ++ if (hotplug_ops && hotplug_ops->filter) + if (!hotplug_ops->filter(kset, kobj)) + return; +- } + +- pr_debug ("%s\n", __FUNCTION__); +- +- action_string = action_to_string(action); +- if (!action_string) +- return; +- +- envp = kmalloc(NUM_ENVP * sizeof (char *), GFP_KERNEL); ++ /* environment index */ ++ envp = kzalloc(NUM_ENVP * sizeof (char *), GFP_KERNEL); + if (!envp) + return; +- memset (envp, 0x00, NUM_ENVP * sizeof (char *)); + ++ /* environment values */ + buffer = kmalloc(BUFFER_SIZE, GFP_KERNEL); + if (!buffer) + goto exit; + +- if (hotplug_ops->name) +- name = hotplug_ops->name(kset, kobj); +- if (name == NULL) +- name = kobject_name(&kset->kobj); +- +- argv [0] = hotplug_path; +- argv [1] = (char *)name; /* won't be changed but 'const' has to go */ +- argv [2] = NULL; +- +- /* minimal command environment */ +- envp [i++] = "HOME=/"; +- envp [i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin"; ++ /* complete object path */ ++ devpath = kobject_get_path(kobj, GFP_KERNEL); ++ if (!devpath) ++ goto exit; ++ ++ /* originating subsystem */ ++ if (hotplug_ops && hotplug_ops->name) ++ subsystem = hotplug_ops->name(kset, kobj); ++ if (!subsystem) ++ subsystem = kobject_name(&kset->kobj); ++ ++ /* event environemnt for helper process only */ ++ envp[i++] = "HOME=/"; ++ envp[i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin"; + ++ /* default keys */ + scratch = buffer; +- + envp [i++] = scratch; + scratch += sprintf(scratch, "ACTION=%s", action_string) + 1; +- +- kobj_path = kobject_get_path(kobj, GFP_KERNEL); +- if (!kobj_path) +- goto exit; +- + envp [i++] = scratch; +- scratch += sprintf (scratch, "DEVPATH=%s", kobj_path) + 1; +- ++ scratch += sprintf (scratch, "DEVPATH=%s", devpath) + 1; + envp [i++] = scratch; +- scratch += sprintf(scratch, "SUBSYSTEM=%s", name) + 1; ++ scratch += sprintf(scratch, "SUBSYSTEM=%s", subsystem) + 1; + +- /* reserve space for the sequence, +- * put the real one in after the hotplug call */ ++ /* just reserve the space, overwrite it after kset call has returned */ + envp[i++] = seq_buff = scratch; + scratch += strlen("SEQNUM=18446744073709551616") + 1; + +- if (hotplug_ops->hotplug) { +- /* have the kset specific function add its stuff */ ++ /* let the kset specific function add its stuff */ ++ if (hotplug_ops && hotplug_ops->hotplug) { + retval = hotplug_ops->hotplug (kset, kobj, + &envp[i], NUM_ENVP - i, scratch, + BUFFER_SIZE - (scratch - buffer)); +@@ -272,27 +148,41 @@ + } + } + ++ /* we will send an event, request a new sequence number */ + spin_lock(&sequence_lock); + seq = ++hotplug_seqnum; + spin_unlock(&sequence_lock); + sprintf(seq_buff, "SEQNUM=%llu", (unsigned long long)seq); + +- pr_debug ("%s: %s %s seq=%llu %s %s %s %s %s\n", +- __FUNCTION__, argv[0], argv[1], (unsigned long long)seq, +- envp[0], envp[1], envp[2], envp[3], envp[4]); ++ /* allocate netlink message with the maximum possible size */ ++ len = strlen(action_string) + strlen(devpath) + 2; ++ skb = alloc_skb(len + BUFFER_SIZE, GFP_KERNEL); ++ if (skb) { ++ /* add header */ ++ scratch = skb_put(skb, len); ++ sprintf(scratch, "%s@%s", action_string, devpath); + +- send_uevent(action_string, kobj_path, envp, GFP_KERNEL); ++ /* copy all keys to our continuous event payload buffer */ ++ for (i = 2; envp[i]; i++) { ++ len = strlen(envp[i]) + 1; ++ scratch = skb_put(skb, len); ++ strcpy(scratch, envp[i]); ++ } + +- if (!hotplug_path[0]) +- goto exit; ++ NETLINK_CB(skb).dst_group = 1; ++ netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL); ++ } + +- retval = call_usermodehelper (argv[0], argv, envp, 0); +- if (retval) +- pr_debug ("%s - call_usermodehelper returned %d\n", +- __FUNCTION__, retval); ++ /* call uevent_helper, usually only enabled during early boot */ ++ if (hotplug_path[0]) { ++ argv [0] = hotplug_path; ++ argv [1] = (char *)subsystem; ++ argv [2] = NULL; ++ call_usermodehelper (argv[0], argv, envp, 0); ++ } + + exit: +- kfree(kobj_path); ++ kfree(devpath); + kfree(buffer); + kfree(envp); + return; +@@ -350,4 +240,20 @@ + } + EXPORT_SYMBOL(add_hotplug_env_var); + ++static int __init kobject_uevent_init(void) ++{ ++ uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL, ++ THIS_MODULE); ++ ++ if (!uevent_sock) { ++ printk(KERN_ERR ++ "kobject_uevent: unable to create netlink socket!\n"); ++ return -ENODEV; ++ } ++ ++ return 0; ++} ++ ++postcore_initcall(kobject_uevent_init); ++ + #endif /* CONFIG_HOTPLUG */ diff --git a/driver/move-pnpbios-usermod_helper.patch b/driver/move-pnpbios-usermod_helper.patch new file mode 100644 index 0000000000000..55fe4329dca3a --- /dev/null +++ b/driver/move-pnpbios-usermod_helper.patch @@ -0,0 +1,51 @@ +diff-tree 1939c18b67e60ded9e4151bca6bfe89a5b5d2d60 (from 6e6ece5dc6022e8086c565498d23511bbceda811) +Author: Kay Sievers <kay.sievers@suse.de> +Date: Fri Nov 11 04:25:06 2005 +0100 + +keep pnpbios usermod_helper away from hotplug_path[] + +These days we use udev to manage all kernel events. /proc/sys/kernel/hotplug +will usually be disabled by an init-script. pnpnbios is not integrated with +the driver core and should stay away from the now disabled /sbin/hotplug. + +Set the helper to /sbin/phpbios, even when there is probably no current +user of this faciliy. If it's needed, it should definitely get proper driver +core integration instead of forking binaries from the kernel. + +Signed-off-by: Kay Sievers <kay.sievers@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + drivers/pnp/pnpbios/core.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +--- gregkh-2.6.orig/drivers/pnp/pnpbios/core.c 2005-11-03 23:40:47.000000000 -0800 ++++ gregkh-2.6/drivers/pnp/pnpbios/core.c 2005-11-12 20:58:31.000000000 -0800 +@@ -56,7 +56,6 @@ + #include <linux/mm.h> + #include <linux/smp.h> + #include <linux/slab.h> +-#include <linux/kobject_uevent.h> + #include <linux/completion.h> + #include <linux/spinlock.h> + #include <linux/dmi.h> +@@ -106,8 +105,6 @@ + char *argv [3], **envp, *buf, *scratch; + int i = 0, value; + +- if (!hotplug_path [0]) +- return -ENOENT; + if (!current->fs->root) { + return -EAGAIN; + } +@@ -119,8 +116,9 @@ + return -ENOMEM; + } + +- /* only one standardized param to hotplug command: type */ +- argv [0] = hotplug_path; ++ /* FIXME: if there are actual users of this, it should be integrated into ++ * the driver core and use the usual infrastructure like sysfs and uevents */ ++ argv [0] = "/sbin/pnpbios"; + argv [1] = "dock"; + argv [2] = NULL; + diff --git a/driver/remove-KOBJECT_UEVENT.patch b/driver/remove-KOBJECT_UEVENT.patch new file mode 100644 index 0000000000000..a7aa031481664 --- /dev/null +++ b/driver/remove-KOBJECT_UEVENT.patch @@ -0,0 +1,289 @@ +diff-tree cf1b7672a58bb17ea9b1fcdcf5df554099b3a31d (from bf9558fd631a02723c6b154400645a7a17ccaa54) +Author: Kay Sievers <kay.sievers@suse.de> +Date: Fri Nov 11 05:33:52 2005 +0100 + +remove CONFIG_KOBJECT_UEVENT option + +It makes zero sense to have hotplug, but not the netlink +events enabled today. Remove this option and merge the +kobject_uevent.h header into the kobject.h header file. + +Signed-off-by: Kay Sievers <kay.sievers@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + MAINTAINERS | 6 ---- + drivers/input/input.c | 1 + drivers/s390/crypto/z90main.c | 1 + include/linux/kobject.h | 35 ++++++++++++++++++++++++- + include/linux/kobject_uevent.h | 57 ----------------------------------------- + init/Kconfig | 19 ------------- + kernel/sysctl.c | 4 -- + lib/kobject_uevent.c | 24 +++-------------- + 8 files changed, 40 insertions(+), 107 deletions(-) + +--- gregkh-2.6.orig/MAINTAINERS 2005-11-12 20:19:31.000000000 -0800 ++++ gregkh-2.6/MAINTAINERS 2005-11-12 20:58:35.000000000 -0800 +@@ -1454,12 +1454,6 @@ + W: http://www.cse.unsw.edu.au/~neilb/patches/linux-devel/ + S: Maintained + +-KERNEL EVENT LAYER (KOBJECT_UEVENT) +-P: Robert Love +-M: rml@novell.com +-L: linux-kernel@vger.kernel.org +-S: Maintained +- + KEXEC + P: Eric Biederman + P: Randy Dunlap +--- gregkh-2.6.orig/drivers/input/input.c 2005-11-11 22:48:17.000000000 -0800 ++++ gregkh-2.6/drivers/input/input.c 2005-11-12 20:58:35.000000000 -0800 +@@ -18,7 +18,6 @@ + #include <linux/random.h> + #include <linux/major.h> + #include <linux/proc_fs.h> +-#include <linux/kobject_uevent.h> + #include <linux/interrupt.h> + #include <linux/poll.h> + #include <linux/device.h> +--- gregkh-2.6.orig/drivers/s390/crypto/z90main.c 2005-11-12 20:19:48.000000000 -0800 ++++ gregkh-2.6/drivers/s390/crypto/z90main.c 2005-11-12 20:58:35.000000000 -0800 +@@ -34,7 +34,6 @@ + #include <linux/miscdevice.h> + #include <linux/module.h> + #include <linux/moduleparam.h> +-#include <linux/kobject_uevent.h> + #include <linux/proc_fs.h> + #include <linux/syscalls.h> + #include "z90crypt.h" +--- gregkh-2.6.orig/include/linux/kobject.h 2005-11-11 22:48:35.000000000 -0800 ++++ gregkh-2.6/include/linux/kobject.h 2005-11-12 20:58:35.000000000 -0800 +@@ -23,15 +23,31 @@ + #include <linux/spinlock.h> + #include <linux/rwsem.h> + #include <linux/kref.h> +-#include <linux/kobject_uevent.h> + #include <linux/kernel.h> + #include <asm/atomic.h> + + #define KOBJ_NAME_LEN 20 + ++#define HOTPLUG_PATH_LEN 256 ++ ++/* path to the userspace helper executed on an event */ ++extern char hotplug_path[]; ++ + /* counter to tag the hotplug event, read only except for the kobject core */ + extern u64 hotplug_seqnum; + ++/* the actions here must match the proper string in lib/kobject_uevent.c */ ++typedef int __bitwise kobject_action_t; ++enum kobject_action { ++ KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */ ++ KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */ ++ KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */ ++ KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */ ++ KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */ ++ KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */ ++ KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */ ++}; ++ + struct kobject { + const char * k_name; + char name[KOBJ_NAME_LEN]; +@@ -243,16 +259,33 @@ + + #ifdef CONFIG_HOTPLUG + void kobject_hotplug(struct kobject *kobj, enum kobject_action action); ++ + int add_hotplug_env_var(char **envp, int num_envp, int *cur_index, + char *buffer, int buffer_size, int *cur_len, + const char *format, ...) + __attribute__((format (printf, 7, 8))); ++ ++int kobject_uevent(struct kobject *kobj, ++ enum kobject_action action, ++ struct attribute *attr); ++int kobject_uevent_atomic(struct kobject *kobj, ++ enum kobject_action action, ++ struct attribute *attr); ++ + #else + static inline void kobject_hotplug(struct kobject *kobj, enum kobject_action action) { } + static inline int add_hotplug_env_var(char **envp, int num_envp, int *cur_index, + char *buffer, int buffer_size, int *cur_len, + const char *format, ...) + { return 0; } ++int kobject_uevent(struct kobject *kobj, ++ enum kobject_action action, ++ struct attribute *attr) ++{ return 0; } ++int kobject_uevent_atomic(struct kobject *kobj, ++ enum kobject_action action, ++ struct attribute *attr) ++{ return 0; } + #endif + + #endif /* __KERNEL__ */ +--- gregkh-2.6.orig/include/linux/kobject_uevent.h 2005-08-28 16:41:01.000000000 -0700 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,57 +0,0 @@ +-/* +- * kobject_uevent.h - list of kobject user events that can be generated +- * +- * Copyright (C) 2004 IBM Corp. +- * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com> +- * +- * This file is released under the GPLv2. +- * +- */ +- +-#ifndef _KOBJECT_EVENT_H_ +-#define _KOBJECT_EVENT_H_ +- +-#define HOTPLUG_PATH_LEN 256 +- +-/* path to the hotplug userspace helper executed on an event */ +-extern char hotplug_path[]; +- +-/* +- * If you add an action here, you must also add the proper string to the +- * lib/kobject_uevent.c file. +- */ +-typedef int __bitwise kobject_action_t; +-enum kobject_action { +- KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */ +- KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */ +- KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */ +- KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */ +- KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */ +- KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */ +- KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */ +-}; +- +- +-#ifdef CONFIG_KOBJECT_UEVENT +-int kobject_uevent(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr); +-int kobject_uevent_atomic(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr); +-#else +-static inline int kobject_uevent(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr) +-{ +- return 0; +-} +-static inline int kobject_uevent_atomic(struct kobject *kobj, +- enum kobject_action action, +- struct attribute *attr) +-{ +- return 0; +-} +-#endif +- +-#endif +--- gregkh-2.6.orig/init/Kconfig 2005-11-11 22:48:36.000000000 -0800 ++++ gregkh-2.6/init/Kconfig 2005-11-12 20:58:35.000000000 -0800 +@@ -205,25 +205,6 @@ + modules require HOTPLUG functionality, but a module built + outside the kernel tree does. Such modules require Y here. + +-config KOBJECT_UEVENT +- bool "Kernel Userspace Events" +- depends on NET +- default y +- help +- This option enables the kernel userspace event layer, which is a +- simple mechanism for kernel-to-user communication over a netlink +- socket. +- The goal of the kernel userspace events layer is to provide a simple +- and efficient events system, that notifies userspace about kobject +- state changes. This will enable applications to just listen for +- events instead of polling system devices and files. +- Hotplug events (kobject addition and removal) are also available on +- the netlink socket in addition to the execution of /sbin/hotplug if +- CONFIG_HOTPLUG is enabled. +- +- Say Y, unless you are building a system requiring minimal memory +- consumption. +- + config IKCONFIG + bool "Kernel .config support" + ---help--- +--- gregkh-2.6.orig/kernel/sysctl.c 2005-11-12 20:19:02.000000000 -0800 ++++ gregkh-2.6/kernel/sysctl.c 2005-11-12 20:58:35.000000000 -0800 +@@ -31,6 +31,7 @@ + #include <linux/smp_lock.h> + #include <linux/init.h> + #include <linux/kernel.h> ++#include <linux/kobject.h> + #include <linux/net.h> + #include <linux/sysrq.h> + #include <linux/highuid.h> +@@ -83,9 +84,6 @@ + #ifdef CONFIG_KMOD + extern char modprobe_path[]; + #endif +-#ifdef CONFIG_HOTPLUG +-extern char hotplug_path[]; +-#endif + #ifdef CONFIG_CHR_DEV_SG + extern int sg_big_buff; + #endif +--- gregkh-2.6.orig/lib/kobject_uevent.c 2005-11-11 22:48:36.000000000 -0800 ++++ gregkh-2.6/lib/kobject_uevent.c 2005-11-12 20:58:35.000000000 -0800 +@@ -19,14 +19,17 @@ + #include <linux/skbuff.h> + #include <linux/netlink.h> + #include <linux/string.h> +-#include <linux/kobject_uevent.h> + #include <linux/kobject.h> + #include <net/sock.h> + + #define BUFFER_SIZE 1024 /* buffer for the hotplug env */ + #define NUM_ENVP 32 /* number of env pointers */ + +-#if defined(CONFIG_KOBJECT_UEVENT) || defined(CONFIG_HOTPLUG) ++#if defined(CONFIG_HOTPLUG) ++char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug"; ++u64 hotplug_seqnum; ++static DEFINE_SPINLOCK(sequence_lock); ++ + static char *action_to_string(enum kobject_action action) + { + switch (action) { +@@ -48,9 +51,7 @@ + return NULL; + } + } +-#endif + +-#ifdef CONFIG_KOBJECT_UEVENT + static struct sock *uevent_sock; + + /** +@@ -168,21 +169,6 @@ + + postcore_initcall(kobject_uevent_init); + +-#else +-static inline int send_uevent(const char *signal, const char *obj, +- char **envp, int gfp_mask) +-{ +- return 0; +-} +- +-#endif /* CONFIG_KOBJECT_UEVENT */ +- +- +-#ifdef CONFIG_HOTPLUG +-char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug"; +-u64 hotplug_seqnum; +-static DEFINE_SPINLOCK(sequence_lock); +- + /** + * kobject_hotplug - notify userspace by executing /sbin/hotplug + * diff --git a/driver/remove-mount-events.patch b/driver/remove-mount-events.patch new file mode 100644 index 0000000000000..b3c2283053b08 --- /dev/null +++ b/driver/remove-mount-events.patch @@ -0,0 +1,88 @@ +diff-tree 8fd2fada90130036d411467e047a42f4cdf0fb08 (from cf1b7672a58bb17ea9b1fcdcf5df554099b3a31d) +Author: Kay Sievers <kay.sievers@suse.de> +Date: Fri Nov 11 06:09:55 2005 +0100 + +remove mount/umount uevents from superblock handling + +The names of these events have been confusing from the beginning +on, as they have been more like claim/release events. We needed these +events for noticing HAL if storage devices have been mounted. + +Thanks to Al, we have the proper solution now and can poll() +/proc/mounts instead to get notfied about mount tree changes. + +Signed-off-by: Kay Sievers <kay.sievers@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + fs/super.c | 15 +-------------- + include/linux/kobject.h | 6 ++---- + lib/kobject_uevent.c | 4 ---- + 3 files changed, 3 insertions(+), 22 deletions(-) + +--- gregkh-2.6.orig/fs/super.c 2005-11-11 22:48:30.000000000 -0800 ++++ gregkh-2.6/fs/super.c 2005-11-12 20:58:41.000000000 -0800 +@@ -665,16 +665,6 @@ + return (void *)s->s_bdev == data; + } + +-static void bdev_uevent(struct block_device *bdev, enum kobject_action action) +-{ +- if (bdev->bd_disk) { +- if (bdev->bd_part) +- kobject_uevent(&bdev->bd_part->kobj, action, NULL); +- else +- kobject_uevent(&bdev->bd_disk->kobj, action, NULL); +- } +-} +- + struct super_block *get_sb_bdev(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data, + int (*fill_super)(struct super_block *, void *, int)) +@@ -717,10 +707,8 @@ + up_write(&s->s_umount); + deactivate_super(s); + s = ERR_PTR(error); +- } else { ++ } else + s->s_flags |= MS_ACTIVE; +- bdev_uevent(bdev, KOBJ_MOUNT); +- } + } + + return s; +@@ -736,7 +724,6 @@ + { + struct block_device *bdev = sb->s_bdev; + +- bdev_uevent(bdev, KOBJ_UMOUNT); + generic_shutdown_super(sb); + sync_blockdev(bdev); + close_bdev_excl(bdev); +--- gregkh-2.6.orig/include/linux/kobject.h 2005-11-12 20:58:38.000000000 -0800 ++++ gregkh-2.6/include/linux/kobject.h 2005-11-12 20:58:41.000000000 -0800 +@@ -42,10 +42,8 @@ + KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */ + KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */ + KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */ +- KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */ +- KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */ +- KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */ +- KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */ ++ KOBJ_OFFLINE = (__force kobject_action_t) 0x04, /* offline event for hotplug devices */ ++ KOBJ_ONLINE = (__force kobject_action_t) 0x05, /* online event for hotplug devices */ + }; + + struct kobject { +--- gregkh-2.6.orig/lib/kobject_uevent.c 2005-11-12 20:58:38.000000000 -0800 ++++ gregkh-2.6/lib/kobject_uevent.c 2005-11-12 20:58:41.000000000 -0800 +@@ -39,10 +39,6 @@ + return "remove"; + case KOBJ_CHANGE: + return "change"; +- case KOBJ_MOUNT: +- return "mount"; +- case KOBJ_UMOUNT: +- return "umount"; + case KOBJ_OFFLINE: + return "offline"; + case KOBJ_ONLINE: diff --git a/driver/speakup-core.patch b/driver/speakup-core.patch index 0e77363e9050f..057bf14ebdac9 100644 --- a/driver/speakup-core.patch +++ b/driver/speakup-core.patch @@ -53,11 +53,11 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> 47 files changed, 8701 insertions(+), 9 deletions(-) --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/cvsversion.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/cvsversion.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1 @@ +#define CVSVERSION " CVS: Wed Mar 2 20:22:02 EST 2005 " --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/dtload.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/dtload.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,554 @@ +/* + * This is the DECtalk PC firmware loader for the Linux kernel, version 1.0 @@ -614,7 +614,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + exit( 0 ); +} --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/dtload.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/dtload.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,57 @@ +/* + * This is the DECtalk PC firmware loader for the Linux kernel, version 1.0 @@ -674,7 +674,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + short int offset, segment; +}; --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/dtpc_reg.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/dtpc_reg.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,132 @@ +/* + * This is the DECtalk PC register constants (from DEC's DOS driver) @@ -809,7 +809,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#define DMA_sync 0x06 +#define DMA_sync_char 0x07 --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/genmap.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/genmap.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,204 @@ +#include <stdlib.h> +#include <stdio.h> @@ -1016,7 +1016,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + exit( 0 ); +} --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/Kconfig 2005-11-12 14:07:13.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/Kconfig 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,211 @@ +menu "Speakup console speech" +config SPEAKUP @@ -1230,7 +1230,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +endmenu --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/keyinfo.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/keyinfo.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,119 @@ +/* spk_priv.h + review functions for the speakup screen review package. @@ -1352,7 +1352,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#define VOICE_DEC PUNCT_DEC+2 +#define VOICE_INC VOICE_DEC+1 --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/Makefile 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/Makefile 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,36 @@ +# +# Makefile for the speakup speech output system. @@ -1391,7 +1391,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +HOSTCFLAGS := -Iinclude -I/usr/include +hostprogs-y := makemapdata genmap --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/makemapdata.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/makemapdata.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,156 @@ +#include <stdlib.h> +#include <stdio.h> @@ -1550,7 +1550,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + exit( 0 ); +} --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/mapdata.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/mapdata.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,238 @@ +t_key_init init_key_data[] = { + "key_s", 31, -1, @@ -1791,7 +1791,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + ".", 0, 0 +}; --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/mod_code.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/mod_code.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,25 @@ +/* this code is to modularize a synth specific file, included at the end */ + @@ -1819,7 +1819,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +MODULE_DESCRIPTION("Synthesizer driver module for speakup for the synth->long_name"); +MODULE_LICENSE( "GPL" ); --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/serialio.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/serialio.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,18 @@ +#ifndef SSPK_SERIAL +#define SSPK_SERIAL @@ -1840,7 +1840,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_acnt.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_acnt.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,16 @@ +/* speakup_acntpc.h - header file for speakups Accent-PC driver. */ + @@ -1859,7 +1859,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#define SYNTH_ALMOST_EMPTY 'M' /* synth has les than 2 seconds of text left */ +#define SYNTH_SPEAKING 's' /* synth is speaking and has a fare way to go */ --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_acntpc.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_acntpc.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,160 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -2022,7 +2022,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_acntsa.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_acntsa.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,184 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -2209,7 +2209,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_apollo.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_apollo.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,195 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -2407,7 +2407,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_audptr.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_audptr.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,201 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -2611,7 +2611,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_bns.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_bns.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,174 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -2788,7 +2788,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,2281 @@ +/* speakup.c + review functions for the speakup screen review package. @@ -5072,7 +5072,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakupconf 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakupconf 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,51 @@ +#!/bin/sh +# script to load/save all the vars in speakup @@ -5126,7 +5126,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +;; +esac --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_decext.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_decext.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,205 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -5334,7 +5334,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_decpc.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_decpc.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,242 @@ +/* +* written by David Borowski, david575@golden.net @@ -5579,7 +5579,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_dectlk.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_dectlk.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,221 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -5803,7 +5803,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_drvcommon.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_drvcommon.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,879 @@ +#define KERNEL +#include <linux/config.h> @@ -6685,7 +6685,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +MODULE_DESCRIPTION("Speakup module required by all synthesizer specific modules"); +MODULE_LICENSE("GPL"); --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_dtlk.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_dtlk.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,219 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -6907,7 +6907,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_dtlk.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_dtlk.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,54 @@ +/* speakup_dtlk.h - header file for speakups DoubleTalk driver. */ + @@ -6964,7 +6964,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + u_char has_indexing; /* nonzero if indexing is implemented */ +}; --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_keyhelp.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_keyhelp.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,294 @@ +/* speakup_keyhelp.c + help module for speakup @@ -7261,7 +7261,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +MODULE_DESCRIPTION("Speakup keyboard help MODULE"); +MODULE_LICENSE("GPL"); --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_keypc.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_keypc.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,189 @@ +/* +* written by David Borowski @@ -7453,7 +7453,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_ltlk.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_ltlk.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,215 @@ +/* + * originally written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -7671,7 +7671,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakupmap.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakupmap.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,64 @@ + 119, 61, 6, + 0, 16, 17, 32, 20, 48, 0, @@ -7738,7 +7738,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + 125, 128, 128, 0, 0, 0, 0, + 0, 119 --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakupmap.map 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakupmap.map 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,91 @@ +spk key_f9 = punc_level_dec +spk key_f10 = punc_level_inc @@ -7832,7 +7832,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +shift spk key_m = say_first_char + ctrl spk key_semicolon = say_last_char --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_sftsyn.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_sftsyn.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,175 @@ +/* speakup_sftsynth.c - speakup driver to register and make available + * a user space device for software synthesizers. written by: Kirk @@ -8010,7 +8010,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_spkout.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_spkout.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,188 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -8201,7 +8201,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/speakup_txprt.c 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/speakup_txprt.c 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,195 @@ +/* + * originially written by: Kirk Reiser <kirk@braille.uwo.ca> @@ -8399,7 +8399,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#include "mod_code.c" +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/spk_con_module.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/spk_con_module.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,43 @@ +/* written bby David Borowski. + Copyright (C ) 2003 David Borowski. @@ -8445,7 +8445,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +EXPORT_SYMBOL(speakup_set_addresses); --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/spk_priv.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/spk_priv.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,258 @@ +/* spk_priv.h + review functions for the speakup screen review package. @@ -8706,7 +8706,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +#endif --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/drivers/char/speakup/synthlist.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/drivers/char/speakup/synthlist.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,54 @@ +/* this is included two times */ +#if defined(PASS2) @@ -8763,7 +8763,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#undef SYNTH_DECL +#undef CFG_TEST --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gregkh-2.6/include/linux/speakup.h 2005-11-12 13:59:49.000000000 -0800 ++++ gregkh-2.6/include/linux/speakup.h 2005-11-12 21:06:34.000000000 -0800 @@ -0,0 +1,33 @@ +#ifndef __SPEAKUP_H +#define __SPEAKUP_H @@ -8798,8 +8798,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +static inline void speakup_init(struct vc_data *vc) { } +#endif +#endif ---- gregkh-2.6.orig/arch/arm/Kconfig 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/arch/arm/Kconfig 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/arch/arm/Kconfig 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/arch/arm/Kconfig 2005-11-12 21:06:34.000000000 -0800 @@ -753,6 +753,7 @@ source "drivers/media/Kconfig" @@ -8808,15 +8808,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> source "sound/Kconfig" ---- gregkh-2.6.orig/drivers/char/consolemap.c 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/char/consolemap.c 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/char/consolemap.c 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/char/consolemap.c 2005-11-12 21:06:34.000000000 -0800 @@ -668,3 +668,4 @@ } EXPORT_SYMBOL(con_copy_unimap); +EXPORT_SYMBOL(inverse_translate); ---- gregkh-2.6.orig/drivers/char/keyboard.c 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/char/keyboard.c 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/char/keyboard.c 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/char/keyboard.c 2005-11-12 21:06:34.000000000 -0800 @@ -40,6 +40,13 @@ #include <linux/sysrq.h> #include <linux/input.h> @@ -8936,8 +8936,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> (*k_handler[type])(vc, keysym & 0xff, !down, regs); if (type != KT_SLOCK) ---- gregkh-2.6.orig/drivers/char/Makefile 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/char/Makefile 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/char/Makefile 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/char/Makefile 2005-11-12 21:06:34.000000000 -0800 @@ -84,6 +84,7 @@ obj-$(CONFIG_TANBAC_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o @@ -8946,8 +8946,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_MWAVE) += mwave/ obj-$(CONFIG_AGP) += agp/ ---- gregkh-2.6.orig/drivers/char/vt.c 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/char/vt.c 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/char/vt.c 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/char/vt.c 2005-11-12 21:06:34.000000000 -0800 @@ -98,6 +98,10 @@ #include <asm/system.h> #include <asm/uaccess.h> @@ -9052,8 +9052,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> EXPORT_SYMBOL(give_up_console); #endif +EXPORT_SYMBOL(screen_glyph); ---- gregkh-2.6.orig/drivers/Kconfig 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/Kconfig 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/Kconfig 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/Kconfig 2005-11-12 21:06:34.000000000 -0800 @@ -56,6 +56,8 @@ source "drivers/video/Kconfig" @@ -9063,8 +9063,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> source "sound/Kconfig" source "drivers/usb/Kconfig" ---- gregkh-2.6.orig/drivers/Makefile 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/drivers/Makefile 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/drivers/Makefile 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/drivers/Makefile 2005-11-12 21:06:34.000000000 -0800 @@ -1,4 +1,3 @@ -# # Makefile for the Linux kernel device drivers. @@ -9087,8 +9087,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> obj-$(CONFIG_I2O) += message/ obj-$(CONFIG_I2C) += i2c/ obj-$(CONFIG_W1) += w1/ ---- gregkh-2.6.orig/include/linux/keyboard.h 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/include/linux/keyboard.h 2005-11-12 13:59:49.000000000 -0800 +--- gregkh-2.6.orig/include/linux/keyboard.h 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/include/linux/keyboard.h 2005-11-12 21:06:34.000000000 -0800 @@ -44,6 +44,7 @@ #define KT_ASCII 9 #define KT_LOCK 10 @@ -9105,9 +9105,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #define MAX_DIACR 256 #endif ---- gregkh-2.6.orig/MAINTAINERS 2005-11-12 13:59:47.000000000 -0800 -+++ gregkh-2.6/MAINTAINERS 2005-11-12 13:59:49.000000000 -0800 -@@ -2391,6 +2391,13 @@ +--- gregkh-2.6.orig/MAINTAINERS 2005-11-12 21:06:24.000000000 -0800 ++++ gregkh-2.6/MAINTAINERS 2005-11-12 21:06:34.000000000 -0800 +@@ -2385,6 +2385,13 @@ L: sparclinux@vger.kernel.org S: Maintained |