diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-26 20:42:19 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-26 20:42:19 -0800 |
commit | fbb4d0b2bd376ffa7495cd8b988ae0668b2dab83 (patch) | |
tree | 1940902d6f34ae909576d1ea2ffdde3bc247d8a9 /driver | |
parent | d8419c1249522fbe7c585d447c6e852cdc10a3f0 (diff) | |
download | patches-fbb4d0b2bd376ffa7495cd8b988ae0668b2dab83.tar.gz |
new patches added
Diffstat (limited to 'driver')
-rw-r--r-- | driver/aoe-do-not-stop-retransmit-timer-when-device-goes-down.patch | 38 | ||||
-rw-r--r-- | driver/debugfs-trivial-comment-fix.patch | 46 | ||||
-rw-r--r-- | driver/fix-uevent-buffer-overflow-in-input-layer.patch | 30 | ||||
-rw-r--r-- | driver/ib-sysfs-cleanup.patch | 1 | ||||
-rw-r--r-- | driver/spi-spi_butterfly-restore-lost-deltas.patch | 180 |
5 files changed, 295 insertions, 0 deletions
diff --git a/driver/aoe-do-not-stop-retransmit-timer-when-device-goes-down.patch b/driver/aoe-do-not-stop-retransmit-timer-when-device-goes-down.patch new file mode 100644 index 0000000000000..04e735a49942f --- /dev/null +++ b/driver/aoe-do-not-stop-retransmit-timer-when-device-goes-down.patch @@ -0,0 +1,38 @@ +From ecashin@coraid.com Wed Jan 25 11:20:59 2006 +Message-ID: <650dd8ca525b7e32c55292cba7c7eda2@coraid.com> +Date: Wed, 25 Jan 2006 13:54:44 -0500 +To: linux-kernel@vger.kernel.org +CC: ecashin@coraid.com, Greg K-H <greg@kroah.com> +Subject: aoe: do not stop retransmit timer when device goes down +From: "Ed L. Cashin" <ecashin@coraid.com> + +This patch is a bugfix that follows and depends on the +eight aoe driver patches sent January 19th. + +Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/block/aoe/aoecmd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- gregkh-2.6.orig/drivers/block/aoe/aoecmd.c ++++ gregkh-2.6/drivers/block/aoe/aoecmd.c +@@ -331,7 +331,7 @@ rexmit_timer(ulong vp) + spin_lock_irqsave(&d->lock, flags); + + if (d->flags & DEVFL_TKILL) { +-tdie: spin_unlock_irqrestore(&d->lock, flags); ++ spin_unlock_irqrestore(&d->lock, flags); + return; + } + f = d->frames; +@@ -342,7 +342,7 @@ tdie: spin_unlock_irqrestore(&d->lock, + n /= HZ; + if (n > MAXWAIT) { /* waited too long. device failure. */ + aoedev_downdev(d); +- goto tdie; ++ break; + } + rexmit(d, f); + } diff --git a/driver/debugfs-trivial-comment-fix.patch b/driver/debugfs-trivial-comment-fix.patch new file mode 100644 index 0000000000000..9e54c7c2879a8 --- /dev/null +++ b/driver/debugfs-trivial-comment-fix.patch @@ -0,0 +1,46 @@ +From tab@snarc.org Wed Jan 25 05:49:23 2006 +Date: Wed, 25 Jan 2006 14:49:13 +0100 +From: Vincent Hanquez <vincent@snarc.org> +Cc: Greg Kroah-Hartman <greg@kroah.com> +Subject: debugfs: trivial comment fix +Message-ID: <20060125134913.GA8594@snarc.org> +Content-Disposition: inline + +Fix trivial type mixup in the debugfs function comments. + +Signed-off-by: Vincent Hanquez <vincent@snarc.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + fs/debugfs/file.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- gregkh-2.6.orig/fs/debugfs/file.c ++++ gregkh-2.6/fs/debugfs/file.c +@@ -56,7 +56,7 @@ static u64 debugfs_u8_get(void *data) + DEFINE_SIMPLE_ATTRIBUTE(fops_u8, debugfs_u8_get, debugfs_u8_set, "%llu\n"); + + /** +- * debugfs_create_u8 - create a file in the debugfs filesystem that is used to read and write a unsigned 8 bit value. ++ * debugfs_create_u8 - create a file in the debugfs filesystem that is used to read and write an unsigned 8 bit value. + * + * @name: a pointer to a string containing the name of the file to create. + * @mode: the permission that the file should have +@@ -98,7 +98,7 @@ static u64 debugfs_u16_get(void *data) + DEFINE_SIMPLE_ATTRIBUTE(fops_u16, debugfs_u16_get, debugfs_u16_set, "%llu\n"); + + /** +- * debugfs_create_u16 - create a file in the debugfs filesystem that is used to read and write a unsigned 8 bit value. ++ * debugfs_create_u16 - create a file in the debugfs filesystem that is used to read and write an unsigned 16 bit value. + * + * @name: a pointer to a string containing the name of the file to create. + * @mode: the permission that the file should have +@@ -140,7 +140,7 @@ static u64 debugfs_u32_get(void *data) + DEFINE_SIMPLE_ATTRIBUTE(fops_u32, debugfs_u32_get, debugfs_u32_set, "%llu\n"); + + /** +- * debugfs_create_u32 - create a file in the debugfs filesystem that is used to read and write a unsigned 8 bit value. ++ * debugfs_create_u32 - create a file in the debugfs filesystem that is used to read and write an unsigned 32 bit value. + * + * @name: a pointer to a string containing the name of the file to create. + * @mode: the permission that the file should have diff --git a/driver/fix-uevent-buffer-overflow-in-input-layer.patch b/driver/fix-uevent-buffer-overflow-in-input-layer.patch new file mode 100644 index 0000000000000..41e0aa1e293f5 --- /dev/null +++ b/driver/fix-uevent-buffer-overflow-in-input-layer.patch @@ -0,0 +1,30 @@ +From benh@kernel.crashing.org Tue Jan 24 15:21:24 2006 +From: Benjamin Herrenschmidt <benh@kernel.crashing.org> +Subject: Fix uevent buffer overflow in input layer +To: Kay Sievers <kay.sievers@vrfy.org> +Cc: Greg KH <greg@kroah.com>, Dmitry Torokhov <dtor_core@ameritech.net> +Date: Wed, 25 Jan 2006 10:21:32 +1100 +Message-Id: <1138144893.4907.72.camel@localhost.localdomain> + +The buffer used for kobject uevent is too small for some of the events generated +by the input layer. Bump it to 2k. + +Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + +--- + lib/kobject_uevent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/lib/kobject_uevent.c ++++ gregkh-2.6/lib/kobject_uevent.c +@@ -22,7 +22,7 @@ + #include <linux/kobject.h> + #include <net/sock.h> + +-#define BUFFER_SIZE 1024 /* buffer for the variables */ ++#define BUFFER_SIZE 2048 /* buffer for the variables */ + #define NUM_ENVP 32 /* number of env pointers */ + + #if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET) diff --git a/driver/ib-sysfs-cleanup.patch b/driver/ib-sysfs-cleanup.patch index e391f706ecc80..b55ebe4cd4d83 100644 --- a/driver/ib-sysfs-cleanup.patch +++ b/driver/ib-sysfs-cleanup.patch @@ -10,6 +10,7 @@ interface. This small patch fixes this problem, and removes some unneeded code as the driver core handles this logic for you automatically. +Acked-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- diff --git a/driver/spi-spi_butterfly-restore-lost-deltas.patch b/driver/spi-spi_butterfly-restore-lost-deltas.patch new file mode 100644 index 0000000000000..f2cfa7ea588bb --- /dev/null +++ b/driver/spi-spi_butterfly-restore-lost-deltas.patch @@ -0,0 +1,180 @@ +From david-b@pacbell.net Sat Jan 21 13:21:44 2006 +From: David Brownell <david-b@pacbell.net> +To: Linus Torvalds <torvalds@osdl.org> +Subject: SPI: spi_butterfly, restore lost deltas +Date: Sat, 21 Jan 2006 13:21:43 -0800 +Cc: Greg KH <greg@kroah.com> +Message-Id: <200601211321.43845.david-b@pacbell.net> + +This resolves some minor version skew glitches that accumulated for the AVR +Butterfly adapter driver, which caused among other things the existence of +a duplicate Kconfig entry. Most of it boils down to comment updates, but in +one case it removes some now-superfluous code that would be better if not +copied into other controller-level drivers. + +Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> + +--- + Documentation/spi/butterfly | 23 +++++++++++++++++------ + drivers/spi/Kconfig | 10 ---------- + drivers/spi/spi_butterfly.c | 38 ++++++++++++++++++-------------------- + 3 files changed, 35 insertions(+), 36 deletions(-) + +--- gregkh-2.6.orig/drivers/spi/Kconfig ++++ gregkh-2.6/drivers/spi/Kconfig +@@ -75,16 +75,6 @@ config SPI_BUTTERFLY + inexpensive battery powered microcontroller evaluation board. + This same cable can be used to flash new firmware. + +-config SPI_BUTTERFLY +- tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)" +- depends on SPI_MASTER && PARPORT && EXPERIMENTAL +- select SPI_BITBANG +- help +- This uses a custom parallel port cable to connect to an AVR +- Butterfly <http://www.atmel.com/products/avr/butterfly>, an +- inexpensive battery powered microcontroller evaluation board. +- This same cable can be used to flash new firmware. +- + # + # Add new SPI master controllers in alphabetical order above this line + # +--- gregkh-2.6.orig/drivers/spi/spi_butterfly.c ++++ gregkh-2.6/drivers/spi/spi_butterfly.c +@@ -163,21 +163,20 @@ static void butterfly_chipselect(struct + struct butterfly *pp = spidev_to_pp(spi); + + /* set default clock polarity */ +- if (value) ++ if (value != BITBANG_CS_INACTIVE) + setsck(spi, spi->mode & SPI_CPOL); + + /* no chipselect on this USI link config */ + if (is_usidev(spi)) + return; + +- /* here, value == "activate or not" */ +- +- /* most PARPORT_CONTROL_* bits are negated */ ++ /* here, value == "activate or not"; ++ * most PARPORT_CONTROL_* bits are negated, so we must ++ * morph it to value == "bit value to write in control register" ++ */ + if (spi_cs_bit == PARPORT_CONTROL_INIT) + value = !value; +- +- /* here, value == "bit value to write in control register" */ +- ++ + parport_frob_control(pp->port, spi_cs_bit, value ? spi_cs_bit : 0); + } + +@@ -202,7 +201,9 @@ butterfly_txrx_word_mode0(struct spi_dev + + /* override default partitioning with cmdlinepart */ + static struct mtd_partition partitions[] = { { +- /* JFFS2 wants partitions of 4*N blocks for this device ... */ ++ /* JFFS2 wants partitions of 4*N blocks for this device, ++ * so sectors 0 and 1 can't be partitions by themselves. ++ */ + + /* sector 0 = 8 pages * 264 bytes/page (1 block) + * sector 1 = 248 pages * 264 bytes/page +@@ -316,8 +317,9 @@ static void butterfly_attach(struct parp + if (status < 0) + goto clean2; + +- /* Bus 1 lets us talk to at45db041b (firmware disables AVR) +- * or AVR (firmware resets at45, acts as spi slave) ++ /* Bus 1 lets us talk to at45db041b (firmware disables AVR SPI), AVR ++ * (firmware resets at45, acts as spi slave) or neither (we ignore ++ * both, AVR uses AT45). Here we expect firmware for the first option. + */ + pp->info[0].max_speed_hz = 15 * 1000 * 1000; + strcpy(pp->info[0].modalias, "mtd_dataflash"); +@@ -330,7 +332,9 @@ static void butterfly_attach(struct parp + pp->dataflash->dev.bus_id); + + #ifdef HAVE_USI +- /* even more custom AVR firmware */ ++ /* Bus 2 is only for talking to the AVR, and it can work no ++ * matter who masters bus 1; needs appropriate AVR firmware. ++ */ + pp->info[1].max_speed_hz = 10 /* ?? */ * 1000 * 1000; + strcpy(pp->info[1].modalias, "butterfly"); + // pp->info[1].platform_data = ... TBD ... ; +@@ -378,13 +382,8 @@ static void butterfly_detach(struct parp + pp = butterfly; + butterfly = NULL; + +-#ifdef HAVE_USI +- spi_unregister_device(pp->butterfly); +- pp->butterfly = NULL; +-#endif +- spi_unregister_device(pp->dataflash); +- pp->dataflash = NULL; +- ++ /* stop() unregisters child devices too */ ++ pdev = to_platform_device(pp->bitbang.master->cdev.dev); + status = spi_bitbang_stop(&pp->bitbang); + + /* turn off VCC */ +@@ -394,8 +393,6 @@ static void butterfly_detach(struct parp + parport_release(pp->pd); + parport_unregister_device(pp->pd); + +- pdev = to_platform_device(pp->bitbang.master->cdev.dev); +- + (void) spi_master_put(pp->bitbang.master); + + platform_device_unregister(pdev); +@@ -420,4 +417,5 @@ static void __exit butterfly_exit(void) + } + module_exit(butterfly_exit); + ++MODULE_DESCRIPTION("Parport Adapter driver for AVR Butterfly"); + MODULE_LICENSE("GPL"); +--- gregkh-2.6.orig/Documentation/spi/butterfly ++++ gregkh-2.6/Documentation/spi/butterfly +@@ -12,13 +12,20 @@ You can make this adapter from an old pr + directly to the Butterfly. Or (if you have the parts and skills) you + can come up with something fancier, providing ciruit protection to the + Butterfly and the printer port, or with a better power supply than two +-signal pins from the printer port. ++signal pins from the printer port. Or for that matter, you can use ++similar cables to talk to many AVR boards, even a breadboard. ++ ++This is more powerful than "ISP programming" cables since it lets kernel ++SPI protocol drivers interact with the AVR, and could even let the AVR ++issue interrupts to them. Later, your protocol driver should work ++easily with a "real SPI controller", instead of this bitbanger. + + + The first cable connections will hook Linux up to one SPI bus, with the + AVR and a DataFlash chip; and to the AVR reset line. This is all you + need to reflash the firmware, and the pins are the standard Atmel "ISP" +-connector pins (used also on non-Butterfly AVR boards). ++connector pins (used also on non-Butterfly AVR boards). On the parport ++side this is like "sp12" programming cables. + + Signal Butterfly Parport (DB-25) + ------ --------- --------------- +@@ -40,10 +47,14 @@ by clearing PORTB.[0-3]); (b) configure + SELECT = J400.PB0/nSS = pin 17/C3,nSELECT + GND = J400.GND = pin 24/GND + +-The "USI" controller, using J405, can be used for a second SPI bus. That +-would let you talk to the AVR over SPI, running firmware that makes it act +-as an SPI slave, while letting either Linux or the AVR use the DataFlash. +-There are plenty of spare parport pins to wire this one up, such as: ++Or you could flash firmware making the AVR into an SPI slave (keeping the ++DataFlash in reset) and tweak the spi_butterfly driver to make it bind to ++the driver for your custom SPI-based protocol. ++ ++The "USI" controller, using J405, can also be used for a second SPI bus. ++That would let you talk to the AVR using custom SPI-with-USI firmware, ++while letting either Linux or the AVR use the DataFlash. There are plenty ++of spare parport pins to wire this one up, such as: + + Signal Butterfly Parport (DB-25) + ------ --------- --------------- |