aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-03-13 10:27:32 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-13 10:27:32 +0000
commit7371b8e3bf96f28003582afb5f76182b7a9c4062 (patch)
treef2780b6029998e080850e96e6e67ca4fe60fd51c /driver
parent1b558141db8b06c61edebaaf5e3394ed98540ac7 (diff)
downloadpatches-7371b8e3bf96f28003582afb5f76182b7a9c4062.tar.gz
refresh for 2.6.16-rc6
Diffstat (limited to 'driver')
-rw-r--r--driver/export_symbol_gpl_future-usb.patch48
-rw-r--r--driver/export_symbol_gpl_future.patch120
-rw-r--r--driver/put_device-might_sleep.patch2
-rw-r--r--driver/spi-per-transfer-overrides-for-wordsize-and-clocking.patch108
-rw-r--r--driver/sysfs-crash-debugging.patch44
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 */