26 Mar, 2006

1 commit

  • Implement the half-closed devices notifiation, by adding a new POLLRDHUP
    (and its alias EPOLLRDHUP) bit to the existing poll/select sets. Since the
    existing POLLHUP handling, that does not report correctly half-closed
    devices, was feared to be changed, this implementation leaves the current
    POLLHUP reporting unchanged and simply add a new bit that is set in the few
    places where it makes sense. The same thing was discussed and conceptually
    agreed quite some time ago:

    http://lkml.org/lkml/2003/7/12/116

    Since this new event bit is added to the existing Linux poll infrastruture,
    even the existing poll/select system calls will be able to use it. As far
    as the existing POLLHUP handling, the patch leaves it as is. The
    pollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing
    archs and sets the bit in the six relevant files. The other attached diff
    is the simple change required to sys/epoll.h to add the EPOLLRDHUP
    definition.

    There is "a stupid program" to test POLLRDHUP delivery here:

    http://www.xmailserver.org/pollrdhup-test.c

    It tests poll(2), but since the delivery is same epoll(2) will work equally.

    Signed-off-by: Davide Libenzi
    Cc: "David S. Miller"
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     

25 Mar, 2006

1 commit

  • This patch adds support for the Ethernet controller integrated in the
    Atmel AT91RM9200 SoC processor.

    Changes since the previous submission (01/02/2006) are:
    - Make use of the clk.h clock infrastructure.
    - The multicast hash function is not crc32. [Patch by Pedro Perez]

    Signed-off-by: Andrew Victor
    Signed-off-by: Jeff Garzik

    Andrew Victor
     

24 Mar, 2006

1 commit


23 Mar, 2006

4 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm: (45 commits)
    [ARM] 3389/1: typo and grammar fix
    [ARM] 3386/1: AT91RM9200 Clock update
    [ARM] 3384/1: AT91RM9200: Timer
    [ARM] 3382/1: ixp2000: unify defconfigs
    [ARM] 3381/1: ixp2000: fix slowport write timing control register fields
    [ARM] 3380/1: ixp2000: simplify ixdp2x00_master_npu() check
    [ARM] 3379/1: ixp2000: use generic 8250 debug macros
    [ARM] 3378/1: ixp2000: fix gpio interrupt handling
    [ARM] Quieten spurious IRQ detection
    [ARM] Use kcalloc to allocate counter_config array rather than kmalloc
    [ARM] Oprofile: dynamically allocate counter_config
    [ARM] Oprofile: Convert semaphore to mutex
    [ARM] 3376/2: S3C2410 - update defconfig
    [ARM] 3375/1: S3C2440 - fix osiris machine build
    [ARM] 3374/1: ep93xx: gpio interrupt support
    [ARM] 3361/1: S3C24XX - add USB bus clock source
    [ARM] 3360/1: S3C2440 - add set rate methods and camera clock
    [ARM] 3359/1: S3C24XX - add support for clk_set_rate
    [ARM] Convert kmalloc+memset to kzalloc
    [ARM] 3373/1: move uengine loader to arch/arm/common
    ...

    Linus Torvalds
     
  • Patch from Lennert Buytenhek

    The original version of the chip docs had the PW and SU fields in
    the slowport write timing control register accidentally reversed.
    This is mentioned in the errata (documentation change #4) and fixed
    in newer docs.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Lennert Buytenhek
     
  • Patch from Lennert Buytenhek

    On the IXDP2x00s, the NPU that is PCI master is always the egress
    (i.e. 'master') NPU. At least on the IXDP2800, both NPUs have flash,
    so the ixp2000_has_flash() check in ixdp2x00_master_npu() is useless.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Lennert Buytenhek
     
  • Patch from Lennert Buytenhek

    The xscale UART in the ixp2000 is basically just an 8250 UART (with
    some extra bits and pieces), so we can use the generic 8250 debug
    macros on the ixp2000.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Lennert Buytenhek
     

22 Mar, 2006

20 commits


20 Mar, 2006

1 commit


16 Mar, 2006

1 commit


13 Mar, 2006

1 commit

  • This patch removes the reliance of iwmmxt on hand coded alignments.
    Since thread_info is always 8K aligned, specifying that fpstate is
    8-byte aligned achieves the same effect without needing to resort
    to hand coded alignments.

    Signed-off-by: Russell King

    Russell King
     

07 Mar, 2006

1 commit

  • Patch from Catalin Marinas

    Chapter B2.7.3 in the latest ARM ARM (with v6 information) states that
    the completion of a TLB maintenance operation is only guaranteed by
    the execution of a DSB (Data Syncronization Barrier, formerly Data
    Write Barrier or Drain Write Buffer).

    Note that a DSB is only needed in the flush_tlb_kernel_* functions
    since the completion is guaranteed by a mode change (i.e. switching
    back to user mode) for the flush_tlb_user_* functions.

    Signed-off-by: Catalin Marinas
    Signed-off-by: Russell King

    Catalin Marinas
     

23 Feb, 2006

2 commits

  • Patch from Andrew Victor

    This patch adds the at91_set_multi_drive() function to enable/disable
    the multi-drive (open collector) pin capability on the AT91RM9200
    processor.

    This is necessary to fix the UDC (USB Gadget) driver for the AT91RM9200
    board as it will not allow the board reset line to be pulled low if the
    pullup is not driven as an open collector output as the boards are wired
    to the USB connector on both the DK/EK.

    This version of the patch updates it to 2.6.16-rc4.
    Orignal patch by Jeff Warren.

    Signed-off-by: Andrew Victor
    Signed-off-by: Russell King

    Andrew Victor
     
  • Patch from Alessandro Zummo

    The I2C pin assignment for the Iomega NAS100d board was incorrect. This
    patch fixes it. The correct assignment has now been tested using the
    new RTC class and a new driver for the RTC on the NAS100d.

    Signed-off-by: Rod Whitby
    Signed-off-by: Alessandro Zummo
    Signed-off-by: Russell King

    Alessandro Zummo
     

18 Feb, 2006

1 commit


17 Feb, 2006

1 commit

  • Patch from Nicolas Pitre

    With EABI the multiplex sys_ipc and sys_socketcall syscalls are
    unavailable and their support code even removed from the compiled
    kernel, and the new unmuxed syscalls must be used instead.

    Make those syscall numbers visible.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Nicolas Pitre
     

16 Feb, 2006

2 commits

  • A change to the SMP initialisation caused the following oops:

    CPU1: Booted secondary processor
    CPU1: D VIPT write-back cache
    CPU1: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
    CPU1: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
    Calibrating delay loop... 83.14 BogoMIPS (lpj=415744)
    Unable to handle kernel NULL pointer dereference at virtual address 0000001c
    ...
    PC is at enqueue_task+0x1c/0x64
    LR is at activate_task+0xcc/0xe4

    SMP initialisation now requires cpu_possible_map to be initialised in
    setup_arch(). Move this from smp_prepare_cpus() to smp_init_cpus()
    and call it from our setup_arch() if CONFIG_SMP is enabled.

    Signed-off-by: Russell King

    Russell King
     
  • Make new MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK consistent across all
    arches. The idea is to make it possible to use them portably even before
    distros include them in libc headers.

    Move common flags to asm-generic/mman.h

    Signed-off-by: Michael S. Tsirkin
    Cc: Roland Dreier
    Cc: Badari Pulavarty
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael S. Tsirkin
     

15 Feb, 2006

1 commit

  • Currently, copy-on-write may change the physical address of a page even if the
    user requested that the page is pinned in memory (either by mlock or by
    get_user_pages). This happens if the process forks meanwhile, and the parent
    writes to that page. As a result, the page is orphaned: in case of
    get_user_pages, the application will never see any data hardware DMA's into
    this page after the COW. In case of mlock'd memory, the parent is not getting
    the realtime/security benefits of mlock.

    In particular, this affects the Infiniband modules which do DMA from and into
    user pages all the time.

    This patch adds madvise options to control whether memory range is inherited
    across fork. Useful e.g. for when hardware is doing DMA from/into these
    pages. Could also be useful to an application wanting to speed up its forks
    by cutting large areas out of consideration.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Hugh Dickins
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael S. Tsirkin
     

11 Feb, 2006

1 commit


09 Feb, 2006

1 commit

  • Patch from Tony Lindgren

    This patch adds the missing cache flushes to common low-level
    init that are needed to access the IO region. These flushes
    are normally done at the end of devicemaps_init(), but we
    need to detect the OMAP core type early.

    Signed-off-by: Tony Lindgren
    Signed-off-by: Russell King

    Tony Lindgren