Linux Kernel Mailing List | 1 Apr 22:59 2007

driver core: do not wait unnecessarily in driver_unregister()

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5ef2abcbeb5b0be23f7cc610a024b2406e3d8e6
Commit:     f5ef2abcbeb5b0be23f7cc610a024b2406e3d8e6
Parent:     755948cfca16c71b16e8ff4a9d4dd31b1c0bf923
Author:     Linus Torvalds <torvalds <at> woody.linux-foundation.org>
AuthorDate: Sun Apr 1 10:54:13 2007 -0700
Committer:  Linus Torvalds <torvalds <at> woody.linux-foundation.org>
CommitDate: Sun Apr 1 10:54:13 2007 -0700

    driver core: do not wait unnecessarily in driver_unregister()

    Ingo reported that built-in drivers suffered bootup hangs with certain
    driver unregistry sequences, due to sysfs breakage.

    Do the minimal fix for v2.6.21: only wait if the driver is a module.

    Acked-by: Ingo Molnar <mingo <at> elte.hu>
    Signed-off-by: Linus Torvalds <torvalds <at> linux-foundation.org>
---
 drivers/base/driver.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index 1214cbd..082bfde 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
 <at>  <at>  -183,7 +183,14  <at>  <at>  int driver_register(struct device_driver * drv)
 void driver_unregister(struct device_driver * drv)
 {
 	bus_remove_driver(drv);
-	wait_for_completion(&drv->unloaded);
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=398e692fd5cecdd25d311b47bbae69f7bac3a3cb
Commit:     398e692fd5cecdd25d311b47bbae69f7bac3a3cb
Parent:     9a4d93d49d140c196020a1bae339efcf211cac03
Author:     Lennert Buytenhek <buytenh <at> wantstofly.org>
AuthorDate: Sat Mar 31 12:03:20 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Apr 1 22:38:36 2007 +0100

    [ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms

    This patch:
    - Switches mb/rmb/wmb back to being full-blown DMBs on ARM SMP systems,
      since mb/rmb/wmb are required to order Normal memory accesses as well.
    - Enables the use of DMB and ISB on XSC3 (which is an ARMv5TE ISA core
      but conforms to the ARMv6 memory ordering model and supports the
      various ARMv6 barriers.)
    - Makes DMA coherent platforms (only ixp23xx at the moment) map
      mb/rmb/wmb to dmb(), as on DMA coherent platforms, DMA consistent
      mappings are done as Normal mappings, which are weakly ordered.

    Signed-off-by: Lennert Buytenhek <buytenh <at> wantstofly.org>
    Acked-by: David Howells <dhowells <at> redhat.com>
    Acked-by: Catalin Marinas <catalin.marinas <at> arm.com>
    Acked-by: Paul E. McKenney <paulmck <at> linux.vnet.ibm.com>
    Acked-by: Dan Williams <dan.j.williams <at> intel.com>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 include/asm-arm/system.h |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[PATCH] kbuild: fix dependency generation

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c21b1e4d9b0c263a35f67eed2b025d053566c557
Commit:     c21b1e4d9b0c263a35f67eed2b025d053566c557
Parent:     f5ef2abcbeb5b0be23f7cc610a024b2406e3d8e6
Author:     Jan Beulich <jbeulich <at> novell.com>
AuthorDate: Thu Mar 29 10:27:14 2007 +0100
Committer:  Linus Torvalds <torvalds <at> woody.linux-foundation.org>
CommitDate: Sun Apr 1 14:23:57 2007 -0700

    [PATCH] kbuild: fix dependency generation

    Commit 2e3646e51b2d6415549b310655df63e7e0d7a080 changed the way the
    split config tree is built, but failed to also adjust fixdep accordingly
    - if changing a config option from or to m, files referencing the
    respective CONFIG_..._MODULE (but not the corresponding CONFIG_...)
    didn't get rebuilt.

    The problem is that trisate symbol are represent with three different
    symbols:
        SYMBOL=n => no symbol defined
        SYMBOL=y => CONFIG_SYMBOL defined to '1'
        SYMBOL=m => CONFIG_SYMBOL_MODULE defined to '1'

    But conf_split_config do not distingush between the =y and =m case, so
    only the =y case is honoured.

    This is fixed in fixdep so when a CONFIG symbol with _MODULE is found we
    skip that part and only look for the CONFIG_SYMBOL version.

    Signed-off-by: Jan Beulich <jbeulich <at> novell.com>
    Signed-off-by: Sam Ravnborg <sam <at> ravnborg.org>
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] 4289/1: AT91: SAM9260 NAND flash timing

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2848e647402719d4a8d03141361caed60f2668da
Commit:     2848e647402719d4a8d03141361caed60f2668da
Parent:     190a4408ecb577391ea5fbd1f90148a6992a5756
Author:     Andrew Victor <andrew <at> sanpeople.com>
AuthorDate: Mon Mar 26 11:02:48 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Thu Mar 29 11:28:16 2007 +0100

    [ARM] 4289/1: AT91: SAM9260 NAND flash timing

    Fix the NAND flash timings on the AT91SAM9260.

    The current timings lead to the detection of a number of bad blocks.
    These timings are now set the same as on the AT91SAM9263.

    Patch from Nicolas Ferre.

    Signed-off-by: Andrew Victor <andrew <at> sanpeople.com>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mach-at91/at91sam9260_devices.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index f7d342c..40586e2 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
 <at>  <at>  -320,16 +320,16  <at>  <at>  void __init at91_add_device_nand(struct at91_nand_data *data)
 	at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
 			| AT91_SMC_NRDSETUP_(0) | AT91_SMC_NCS_RDSETUP_(0));
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] Fix __NR_kexec_load

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c330ba72c45007a9ef681396925c22d11029008
Commit:     6c330ba72c45007a9ef681396925c22d11029008
Parent:     ec14d7964bc3c89fb24c95af00d39033afc32f8e
Author:     Russell King <rmk <at> dyn-67.arm.linux.org.uk>
AuthorDate: Sun Apr 1 22:35:01 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Apr 1 22:35:01 2007 +0100

    [ARM] Fix __NR_kexec_load

    It's __NR_kexec_load, not __NR_sys_kexec_load

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 include/asm-arm/unistd.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h
index 0991b7b..c025ab4 100644
--- a/include/asm-arm/unistd.h
+++ b/include/asm-arm/unistd.h
 <at>  <at>  -372,7 +372,7  <at>  <at> 
 #define __NR_move_pages			(__NR_SYSCALL_BASE+344)
 #define __NR_getcpu			(__NR_SYSCALL_BASE+345)
 					/* 346 for epoll_pwait */
-#define __NR_sys_kexec_load		(__NR_SYSCALL_BASE+347)
+#define __NR_kexec_load			(__NR_SYSCALL_BASE+347)

 /*
  * The following SWIs are ARM private.
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] Export dma_channel_active()

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec14d7964bc3c89fb24c95af00d39033afc32f8e
Commit:     ec14d7964bc3c89fb24c95af00d39033afc32f8e
Parent:     6b8777b46823fb0b42fba69b5311682124e5a71c
Author:     Russell King <rmk <at> dyn-67.arm.linux.org.uk>
AuthorDate: Sat Mar 31 21:36:53 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sat Mar 31 21:36:53 2007 +0100

    [ARM] Export dma_channel_active()

    dma_channel_active() is used by some modules and is part of our
    DMA API, so export it.

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/kernel/dma.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/kernel/dma.c b/arch/arm/kernel/dma.c
index 5a0f4bc..ba99a20 100644
--- a/arch/arm/kernel/dma.c
+++ b/arch/arm/kernel/dma.c
 <at>  <at>  -228,6 +228,7  <at>  <at>  int dma_channel_active(dmach_t channel)
 {
 	return dma_chan[channel].active;
 }
+EXPORT_SYMBOL(dma_channel_active);

 void set_dma_page(dmach_t channel, char pagenr)
 {
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] 4296/1: ixp4xx: compile fix

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b8777b46823fb0b42fba69b5311682124e5a71c
Commit:     6b8777b46823fb0b42fba69b5311682124e5a71c
Parent:     2848e647402719d4a8d03141361caed60f2668da
Author:     Vladimir Barinov <vbarinov <at> ru.mvista.com>
AuthorDate: Thu Mar 29 16:29:20 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Fri Mar 30 16:56:05 2007 +0100

    [ARM] 4296/1: ixp4xx: compile fix

    Fix compilation fail for ixp4xx platforms for the case when CONFIG_IXP4XX_INDIRECT_PCI is set. That is
due to the check_signature() is appeared in include/linux/io.h.

    Signed-off-by: Vladimir Barinov <vbarinov <at> ru.mvista.com>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 include/asm-arm/arch-ixp4xx/io.h |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/include/asm-arm/arch-ixp4xx/io.h b/include/asm-arm/arch-ixp4xx/io.h
index b7b5414..a41ba22 100644
--- a/include/asm-arm/arch-ixp4xx/io.h
+++ b/include/asm-arm/arch-ixp4xx/io.h
 <at>  <at>  -238,23 +238,6  <at>  <at>  __ixp4xx_readsl(const volatile void __iomem *bus_addr, u32 *vaddr, u32 count)
 #define memcpy_fromio(a,c,l)		_memcpy_fromio((a),(c),(l))
 #define memcpy_toio(c,a,l)		_memcpy_toio((c),(a),(l))

-static inline int
-check_signature(const unsigned char __iomem *bus_addr, const unsigned char *signature,
-		int length)
(Continue reading)

Linux Kernel Mailing List | 1 Apr 23:59 2007

[ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2)

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a4d93d49d140c196020a1bae339efcf211cac03
Commit:     9a4d93d49d140c196020a1bae339efcf211cac03
Parent:     6c330ba72c45007a9ef681396925c22d11029008
Author:     Guennadi Liakhovetski <gl <at> dsa-ac.de>
AuthorDate: Fri Mar 30 08:49:55 2007 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Apr 1 22:38:01 2007 +0100

    [ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2)

    This patch addresses the following issues with the pxa2xx FIr driver:

    1. increment overrun error counter and not frame error counter on ICSR1_ROR bit set in ICSR1.
    2. drop frames reported with the frame error from the IC.
    3. when resetting the receiver and preparing it for the next DMA in pxa_irda_fir_irq() actually clear the
Rx FIFO. See description in Table 11-2 in PXA270 Developer's Manual of the RXE bit.

    Correction added in version 2: clearing the IC Rx FIFO also has to be done in pxa_irda_fir_dma_tx_irq()

    Signed-off-by: G. Liakhovetski <gl <at> dsa-ac.de>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 drivers/net/irda/pxaficp_ir.c |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 9137e23..2272156 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
 <at>  <at>  -321,15 +321,22  <at>  <at>  static void pxa_irda_fir_dma_tx_irq(int channel, void *data)
(Continue reading)

Linux Kernel Mailing List | 2 Apr 19:59 2007

[PATCH] uml: fix unreasonably long udelay

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10fa1155a2c3282f421a74fedfad1957e8bdc86c
Commit:     10fa1155a2c3282f421a74fedfad1957e8bdc86c
Parent:     05565b65a5309e3e5c86db1975b57f75661bee8f
Author:     Paolo 'Blaisorblade' Giarrusso <blaisorblade <at> yahoo.it>
AuthorDate: Sun Apr 1 23:49:37 2007 -0700
Committer:  Linus Torvalds <torvalds <at> woody.linux-foundation.org>
CommitDate: Mon Apr 2 10:06:08 2007 -0700

    [PATCH] uml: fix unreasonably long udelay

    Currently we have a confused udelay implementation.

    * __const_udelay does not accept usecs but xloops in i386 and x86_64
    * our implementation requires usecs as arg
    * it gets a xloops count when called by asm/arch/delay.h

    Bugs related to this (extremely long shutdown times) where reported by some
    x86_64 users, especially using Device Mapper.

    To hit this bug, a compile-time constant time parameter must be passed -
    that's why UML seems to work most times.  Fix this with a simple udelay
    implementation.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade <at> yahoo.it>
    Acked-by: Jeff Dike <jdike <at> addtoit.com>
    Signed-off-by: Andrew Morton <akpm <at> linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds <at> linux-foundation.org>
---
 arch/um/sys-i386/delay.c   |   11 -----------
 arch/um/sys-x86_64/delay.c |   11 -----------
(Continue reading)

Linux Kernel Mailing List | 2 Apr 19:59 2007

[PATCH] proc: fix linkage with CONFIG_SYSCTL=y, CONFIG_PROC_SYSCTL=n

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05565b65a5309e3e5c86db1975b57f75661bee8f
Commit:     05565b65a5309e3e5c86db1975b57f75661bee8f
Parent:     2e175a90047a2dbc76fde169c990164895b25dfc
Author:     Andrew Morton <akpm <at> linux-foundation.org>
AuthorDate: Sun Apr 1 23:49:35 2007 -0700
Committer:  Linus Torvalds <torvalds <at> woody.linux-foundation.org>
CommitDate: Mon Apr 2 10:06:08 2007 -0700

    [PATCH] proc: fix linkage with CONFIG_SYSCTL=y, CONFIG_PROC_SYSCTL=n

    We're using #ifdef CONFIG_SYSCTL, but we should be using CONFIG_PROC_SYSCTL,
    so we get

     fs/built-in.o: In function `proc_root_init':
     /usr/src/linux/fs/proc/root.c:83: undefined reference to `proc_sys_init'

    Fix that up and remove an ifdef-in-C.

    Cc: "Eric W. Biederman" <ebiederm <at> xmission.com>
    Cc: Helge Hafting <helgehaf <at> aitel.hist.no>
    Signed-off-by: Andrew Morton <akpm <at> linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds <at> linux-foundation.org>
---
 fs/proc/internal.h |    4 ++++
 fs/proc/root.c     |    2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index c932aa6..f771889 100644
--- a/fs/proc/internal.h
(Continue reading)


Gmane