diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-13 10:27:32 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-13 10:27:32 +0000 |
commit | 7371b8e3bf96f28003582afb5f76182b7a9c4062 (patch) | |
tree | f2780b6029998e080850e96e6e67ca4fe60fd51c /driver | |
parent | 1b558141db8b06c61edebaaf5e3394ed98540ac7 (diff) | |
download | patches-7371b8e3bf96f28003582afb5f76182b7a9c4062.tar.gz |
refresh for 2.6.16-rc6
Diffstat (limited to 'driver')
-rw-r--r-- | driver/export_symbol_gpl_future-usb.patch | 48 | ||||
-rw-r--r-- | driver/export_symbol_gpl_future.patch | 120 | ||||
-rw-r--r-- | driver/put_device-might_sleep.patch | 2 | ||||
-rw-r--r-- | driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch | 108 | ||||
-rw-r--r-- | driver/sysfs-crash-debugging.patch | 44 |
5 files changed, 161 insertions, 161 deletions
diff --git a/driver/export_symbol_gpl_future-usb.patch b/driver/export_symbol_gpl_future-usb.patch index ed47b4b19bec1..9fab773509dd3 100644 --- a/driver/export_symbol_gpl_future-usb.patch +++ b/driver/export_symbol_gpl_future-usb.patch @@ -11,6 +11,30 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/core/driver.c | 6 +++--- 2 files changed, 21 insertions(+), 3 deletions(-) +--- gregkh-2.6.orig/Documentation/feature-removal-schedule.txt ++++ gregkh-2.6/Documentation/feature-removal-schedule.txt +@@ -189,3 +189,21 @@ Why: Board specific code doesn't build a + users have complained indicating there is no more need for these + boards. This should really be considered a last call. + Who: Ralf Baechle <ralf@linux-mips.org> ++ ++--------------------------- ++ ++What: USB driver API moves to EXPORT_SYMBOL_GPL ++When: Febuary 2008 ++Files: include/linux/usb.h, drivers/usb/core/driver.c ++Why: The USB subsystem has changed a lot over time, and it has been ++ possible to create userspace USB drivers using usbfs/libusb/gadgetfs ++ that operate as fast as the USB bus allows. Because of this, the USB ++ subsystem will not be allowing closed source kernel drivers to ++ register with it, after this grace period is over. If anyone needs ++ any help in converting their closed source drivers over to use the ++ userspace filesystems, please contact the ++ linux-usb-devel@lists.sourceforge.net mailing list, and the developers ++ there will be glad to help you out. ++Who: Greg Kroah-Hartman <gregkh@suse.de> ++ ++--------------------------- --- gregkh-2.6.orig/drivers/usb/core/driver.c +++ gregkh-2.6/drivers/usb/core/driver.c @@ -378,7 +378,7 @@ const struct usb_device_id *usb_match_id @@ -37,27 +61,3 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } -EXPORT_SYMBOL(usb_deregister); +EXPORT_SYMBOL_GPL_FUTURE(usb_deregister); ---- gregkh-2.6.orig/Documentation/feature-removal-schedule.txt -+++ gregkh-2.6/Documentation/feature-removal-schedule.txt -@@ -189,3 +189,21 @@ Why: Board specific code doesn't build a - users have complained indicating there is no more need for these - boards. This should really be considered a last call. - Who: Ralf Baechle <ralf@linux-mips.org> -+ -+--------------------------- -+ -+What: USB driver API moves to EXPORT_SYMBOL_GPL -+When: Febuary 2008 -+Files: include/linux/usb.h, drivers/usb/core/driver.c -+Why: The USB subsystem has changed a lot over time, and it has been -+ possible to create userspace USB drivers using usbfs/libusb/gadgetfs -+ that operate as fast as the USB bus allows. Because of this, the USB -+ subsystem will not be allowing closed source kernel drivers to -+ register with it, after this grace period is over. If anyone needs -+ any help in converting their closed source drivers over to use the -+ userspace filesystems, please contact the -+ linux-usb-devel@lists.sourceforge.net mailing list, and the developers -+ there will be glad to help you out. -+Who: Greg Kroah-Hartman <gregkh@suse.de> -+ -+--------------------------- diff --git a/driver/export_symbol_gpl_future.patch b/driver/export_symbol_gpl_future.patch index 6291f20a2e72b..62c07b9edd3d3 100644 --- a/driver/export_symbol_gpl_future.patch +++ b/driver/export_symbol_gpl_future.patch @@ -17,6 +17,56 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> scripts/genksyms/keywords.gperf | 1 7 files changed, 135 insertions(+), 47 deletions(-) +--- gregkh-2.6.orig/arch/m68knommu/kernel/vmlinux.lds.S ++++ gregkh-2.6/arch/m68knommu/kernel/vmlinux.lds.S +@@ -269,6 +269,11 @@ SECTIONS { + *(__ksymtab_gpl) + __stop___ksymtab_gpl = .; + ++ /* Kernel symbol table: GPL-future symbols */ ++ __start___ksymtab_gpl_future = .; ++ *(__ksymtab_gpl_future) ++ __stop___ksymtab_gpl_future = .; ++ + /* Kernel symbol table: Normal symbols */ + __start___kcrctab = .; + *(__kcrctab) +@@ -279,6 +284,11 @@ SECTIONS { + *(__kcrctab_gpl) + __stop___kcrctab_gpl = .; + ++ /* Kernel symbol table: GPL-future symbols */ ++ __start___kcrctab_gpl_future = .; ++ *(__kcrctab_gpl_future) ++ __stop___kcrctab_gpl_future = .; ++ + /* Kernel symbol table: strings */ + *(__ksymtab_strings) + +--- gregkh-2.6.orig/arch/v850/kernel/vmlinux.lds.S ++++ gregkh-2.6/arch/v850/kernel/vmlinux.lds.S +@@ -64,6 +64,10 @@ + ___start___ksymtab_gpl = .; \ + *(__ksymtab_gpl) \ + ___stop___ksymtab_gpl = .; \ ++ /* Kernel symbol table: GPL-future symbols */ \ ++ ___start___ksymtab_gpl_future = .; \ ++ *(__ksymtab_gpl_future) \ ++ ___stop___ksymtab_gpl_future = .; \ + /* Kernel symbol table: strings */ \ + *(__ksymtab_strings) \ + /* Kernel symbol table: Normal symbols */ \ +@@ -74,6 +78,10 @@ + ___start___kcrctab_gpl = .; \ + *(__kcrctab_gpl) \ + ___stop___kcrctab_gpl = .; \ ++ /* Kernel symbol table: GPL-future symbols */ \ ++ ___start___kcrctab_gpl_future = .; \ ++ *(__kcrctab_gpl_future) \ ++ ___stop___kcrctab_gpl_future = .; \ + /* Built-in module parameters */ \ + . = ALIGN (4) ; \ + ___start___param = .; \ --- gregkh-2.6.orig/include/asm-generic/vmlinux.lds.h +++ gregkh-2.6/include/asm-generic/vmlinux.lds.h @@ -58,6 +58,13 @@ @@ -179,16 +229,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> printk(KERN_WARNING "%s: No versions for exported symbols." " Tainting kernel.\n", mod->name); add_taint(TAINT_FORCED_MODULE); ---- gregkh-2.6.orig/scripts/genksyms/keywords.gperf -+++ gregkh-2.6/scripts/genksyms/keywords.gperf -@@ -4,6 +4,7 @@ struct resword { const char *name; int t - %% - EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW - EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW -+EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW - __asm, ASM_KEYW - __asm__, ASM_KEYW - __attribute, ATTRIBUTE_KEYW --- gregkh-2.6.orig/scripts/genksyms/keywords.c_shipped +++ gregkh-2.6/scripts/genksyms/keywords.c_shipped @@ -52,9 +52,9 @@ is_reserved_hash (register const char *s @@ -362,53 +402,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> {"union", UNION_KEYW} }; ---- gregkh-2.6.orig/arch/m68knommu/kernel/vmlinux.lds.S -+++ gregkh-2.6/arch/m68knommu/kernel/vmlinux.lds.S -@@ -269,6 +269,11 @@ SECTIONS { - *(__ksymtab_gpl) - __stop___ksymtab_gpl = .; - -+ /* Kernel symbol table: GPL-future symbols */ -+ __start___ksymtab_gpl_future = .; -+ *(__ksymtab_gpl_future) -+ __stop___ksymtab_gpl_future = .; -+ - /* Kernel symbol table: Normal symbols */ - __start___kcrctab = .; - *(__kcrctab) -@@ -279,6 +284,11 @@ SECTIONS { - *(__kcrctab_gpl) - __stop___kcrctab_gpl = .; - -+ /* Kernel symbol table: GPL-future symbols */ -+ __start___kcrctab_gpl_future = .; -+ *(__kcrctab_gpl_future) -+ __stop___kcrctab_gpl_future = .; -+ - /* Kernel symbol table: strings */ - *(__ksymtab_strings) - ---- gregkh-2.6.orig/arch/v850/kernel/vmlinux.lds.S -+++ gregkh-2.6/arch/v850/kernel/vmlinux.lds.S -@@ -64,6 +64,10 @@ - ___start___ksymtab_gpl = .; \ - *(__ksymtab_gpl) \ - ___stop___ksymtab_gpl = .; \ -+ /* Kernel symbol table: GPL-future symbols */ \ -+ ___start___ksymtab_gpl_future = .; \ -+ *(__ksymtab_gpl_future) \ -+ ___stop___ksymtab_gpl_future = .; \ - /* Kernel symbol table: strings */ \ - *(__ksymtab_strings) \ - /* Kernel symbol table: Normal symbols */ \ -@@ -74,6 +78,10 @@ - ___start___kcrctab_gpl = .; \ - *(__kcrctab_gpl) \ - ___stop___kcrctab_gpl = .; \ -+ /* Kernel symbol table: GPL-future symbols */ \ -+ ___start___kcrctab_gpl_future = .; \ -+ *(__kcrctab_gpl_future) \ -+ ___stop___kcrctab_gpl_future = .; \ - /* Built-in module parameters */ \ - . = ALIGN (4) ; \ - ___start___param = .; \ +--- gregkh-2.6.orig/scripts/genksyms/keywords.gperf ++++ gregkh-2.6/scripts/genksyms/keywords.gperf +@@ -4,6 +4,7 @@ struct resword { const char *name; int t + %% + EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW + EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW ++EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW + __asm, ASM_KEYW + __asm__, ASM_KEYW + __attribute, ATTRIBUTE_KEYW diff --git a/driver/put_device-might_sleep.patch b/driver/put_device-might_sleep.patch index 2c79699561ffb..024b423001a07 100644 --- a/driver/put_device-might_sleep.patch +++ b/driver/put_device-might_sleep.patch @@ -16,7 +16,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> */ void put_device(struct device * dev) { -+ might_sleep(); ++ /* might_sleep(); */ if (dev) kobject_put(&dev->kobj); } diff --git a/driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch b/driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch index 3906c8142fcfa..cda64caab046f 100644 --- a/driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch +++ b/driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch @@ -27,60 +27,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> include/linux/spi/spi_bitbang.h | 6 +++ 3 files changed, 77 insertions(+), 14 deletions(-) ---- gregkh-2.6.orig/include/linux/spi/spi.h -+++ gregkh-2.6/include/linux/spi/spi.h -@@ -31,6 +31,7 @@ extern struct bus_type spi_bus_type; - * @master: SPI controller used with the device. - * @max_speed_hz: Maximum clock rate to be used with this chip - * (on this board); may be changed by the device's driver. -+ * The spi_transfer.speed_hz can override this for each transfer. - * @chip-select: Chipselect, distinguishing chips handled by "master". - * @mode: The spi mode defines how data is clocked out and in. - * This may be changed by the device's driver. -@@ -38,6 +39,7 @@ extern struct bus_type spi_bus_type; - * like eight or 12 bits are common. In-memory wordsizes are - * powers of two bytes (e.g. 20 bit samples use 32 bits). - * This may be changed by the device's driver. -+ * The spi_transfer.bits_per_word can override this for each transfer. - * @irq: Negative, or the number passed to request_irq() to receive - * interrupts from this device. - * @controller_state: Controller's runtime state -@@ -268,6 +270,10 @@ extern struct spi_master *spi_busnum_to_ - * @tx_dma: DMA address of tx_buf, if spi_message.is_dma_mapped - * @rx_dma: DMA address of rx_buf, if spi_message.is_dma_mapped - * @len: size of rx and tx buffers (in bytes) -+ * @speed_hz: Select a speed other then the device default for this -+ * transfer. If 0 the default (from spi_device) is used. -+ * @bits_per_word: select a bits_per_word other then the device default -+ * for this transfer. If 0 the default (from spi_device) is used. - * @cs_change: affects chipselect after this transfer completes - * @delay_usecs: microseconds to delay after this transfer before - * (optionally) changing the chipselect status, then starting -@@ -322,7 +328,9 @@ struct spi_transfer { - dma_addr_t rx_dma; - - unsigned cs_change:1; -+ u8 bits_per_word; - u16 delay_usecs; -+ u32 speed_hz; - - struct list_head transfer_list; - }; ---- gregkh-2.6.orig/include/linux/spi/spi_bitbang.h -+++ gregkh-2.6/include/linux/spi/spi_bitbang.h -@@ -30,6 +30,12 @@ struct spi_bitbang { - - struct spi_master *master; - -+ /* setup_transfer() changes clock and/or wordsize to match settings -+ * for this transfer; zeroes restore defaults from spi_device. -+ */ -+ int (*setup_transfer)(struct spi_device *spi, -+ struct spi_transfer *t); -+ - void (*chipselect)(struct spi_device *spi, int is_on); - #define BITBANG_CS_ACTIVE 1 /* normally nCS, active low */ - #define BITBANG_CS_INACTIVE 0 --- gregkh-2.6.orig/drivers/spi/spi_bitbang.c +++ gregkh-2.6/drivers/spi/spi_bitbang.c @@ -138,6 +138,43 @@ static unsigned bitbang_txrx_32( @@ -221,3 +167,57 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> bitbang->master->setup = spi_bitbang_setup; bitbang->master->cleanup = spi_bitbang_cleanup; } +--- gregkh-2.6.orig/include/linux/spi/spi.h ++++ gregkh-2.6/include/linux/spi/spi.h +@@ -31,6 +31,7 @@ extern struct bus_type spi_bus_type; + * @master: SPI controller used with the device. + * @max_speed_hz: Maximum clock rate to be used with this chip + * (on this board); may be changed by the device's driver. ++ * The spi_transfer.speed_hz can override this for each transfer. + * @chip-select: Chipselect, distinguishing chips handled by "master". + * @mode: The spi mode defines how data is clocked out and in. + * This may be changed by the device's driver. +@@ -38,6 +39,7 @@ extern struct bus_type spi_bus_type; + * like eight or 12 bits are common. In-memory wordsizes are + * powers of two bytes (e.g. 20 bit samples use 32 bits). + * This may be changed by the device's driver. ++ * The spi_transfer.bits_per_word can override this for each transfer. + * @irq: Negative, or the number passed to request_irq() to receive + * interrupts from this device. + * @controller_state: Controller's runtime state +@@ -268,6 +270,10 @@ extern struct spi_master *spi_busnum_to_ + * @tx_dma: DMA address of tx_buf, if spi_message.is_dma_mapped + * @rx_dma: DMA address of rx_buf, if spi_message.is_dma_mapped + * @len: size of rx and tx buffers (in bytes) ++ * @speed_hz: Select a speed other then the device default for this ++ * transfer. If 0 the default (from spi_device) is used. ++ * @bits_per_word: select a bits_per_word other then the device default ++ * for this transfer. If 0 the default (from spi_device) is used. + * @cs_change: affects chipselect after this transfer completes + * @delay_usecs: microseconds to delay after this transfer before + * (optionally) changing the chipselect status, then starting +@@ -322,7 +328,9 @@ struct spi_transfer { + dma_addr_t rx_dma; + + unsigned cs_change:1; ++ u8 bits_per_word; + u16 delay_usecs; ++ u32 speed_hz; + + struct list_head transfer_list; + }; +--- gregkh-2.6.orig/include/linux/spi/spi_bitbang.h ++++ gregkh-2.6/include/linux/spi/spi_bitbang.h +@@ -30,6 +30,12 @@ struct spi_bitbang { + + struct spi_master *master; + ++ /* setup_transfer() changes clock and/or wordsize to match settings ++ * for this transfer; zeroes restore defaults from spi_device. ++ */ ++ int (*setup_transfer)(struct spi_device *spi, ++ struct spi_transfer *t); ++ + void (*chipselect)(struct spi_device *spi, int is_on); + #define BITBANG_CS_ACTIVE 1 /* normally nCS, active low */ + #define BITBANG_CS_INACTIVE 0 diff --git a/driver/sysfs-crash-debugging.patch b/driver/sysfs-crash-debugging.patch index 8ed27d5cbf073..320226bc2d848 100644 --- a/driver/sysfs-crash-debugging.patch +++ b/driver/sysfs-crash-debugging.patch @@ -23,6 +23,28 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> include/linux/sysfs.h | 7 +++++++ 4 files changed, 24 insertions(+), 1 deletion(-) +--- gregkh-2.6.orig/arch/i386/kernel/traps.c ++++ gregkh-2.6/arch/i386/kernel/traps.c +@@ -365,7 +365,8 @@ void die(const char * str, struct pt_reg + #endif + if (nl) + printk("\n"); +- notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); ++ sysfs_printk_last_file(); ++ notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); + show_registers(regs); + } else + printk(KERN_EMERG "Recursive die() failure, output suppressed\n"); +--- gregkh-2.6.orig/arch/x86_64/kernel/traps.c ++++ gregkh-2.6/arch/x86_64/kernel/traps.c +@@ -428,6 +428,7 @@ void __kprobes __die(const char * str, s + printk("DEBUG_PAGEALLOC"); + #endif + printk("\n"); ++ sysfs_printk_last_file(); + notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV); + show_registers(regs); + /* Executive summary in case the oops scrolled away */ --- gregkh-2.6.orig/fs/sysfs/file.c +++ gregkh-2.6/fs/sysfs/file.c @@ -7,6 +7,8 @@ @@ -63,18 +85,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static int sysfs_release(struct inode * inode, struct file * filp) { struct kobject * kobj = to_kobj(filp->f_dentry->d_parent); ---- gregkh-2.6.orig/arch/i386/kernel/traps.c -+++ gregkh-2.6/arch/i386/kernel/traps.c -@@ -365,7 +365,8 @@ void die(const char * str, struct pt_reg - #endif - if (nl) - printk("\n"); -- notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); -+ sysfs_printk_last_file(); -+ notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); - show_registers(regs); - } else - printk(KERN_EMERG "Recursive die() failure, output suppressed\n"); --- gregkh-2.6.orig/include/linux/sysfs.h +++ gregkh-2.6/include/linux/sysfs.h @@ -155,6 +155,8 @@ int sysfs_create_group(struct kobject *, @@ -98,13 +108,3 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #endif /* CONFIG_SYSFS */ #endif /* _SYSFS_H_ */ ---- gregkh-2.6.orig/arch/x86_64/kernel/traps.c -+++ gregkh-2.6/arch/x86_64/kernel/traps.c -@@ -428,6 +428,7 @@ void __kprobes __die(const char * str, s - printk("DEBUG_PAGEALLOC"); - #endif - printk("\n"); -+ sysfs_printk_last_file(); - notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV); - show_registers(regs); - /* Executive summary in case the oops scrolled away */ |