06 Mar, 2008

1 commit


26 Feb, 2008

2 commits


25 Feb, 2008

1 commit

  • drivers/char/pcmcia/synclink_cs.c:284:1: warning: "CCR3" redefined
    In file included from include/asm/cache.h:13,
    from include/asm/processor_32.h:15,
    from include/asm/processor.h:60,
    from include/linux/prefetch.h:14,
    from include/linux/list.h:8,
    from include/linux/module.h:9,
    from drivers/char/pcmcia/synclink_cs.c:38:
    include/asm/cpu/cache.h:38:1: warning: this is the location of the previous definition

    Signed-off-by: Paul Mundt

    Paul Mundt
     

14 Feb, 2008

17 commits

  • This patch is a fix to make sure readsN/writesN are used over insN/outsN for
    ioreadN_rep/iowriteN_rep.

    The current state of the sh io code is that mmio operations like readN/writeN
    and ioreadN/iowriteN are unaffected by the value of generic_io_base. This is
    different fom port based io like inN/outN which gets adjusted using the value
    in generic_io_base.

    Without this patch ioreadN_rep/iowriteN_rep get their addresses adjusted.
    The address for mmio access is adjusted using generic_io_base. This is wrong.
    The ata core code currently crashes if generic_io_base is set.

    This patch changes ioreadN_rep/iowriteN_rep to follow the same rules as the
    rest of the mmio operations, ie don't adjust using generic_io_base.

    Signed-off-by: Magnus Damm
    Acked-by: Katsuya MATSUBARA
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Reported-by: Robert P. J. Day
    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • The SH-5 build currently fails when trying to build the i8042 code due
    to the missing IRQ definitions. These are provided in asm/cpu/irq.h, so
    just include that there to get it building again.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • A number of cleanups to get the SH-5 cache management code in line with
    the rest of the SH backend.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • linux/swap.h really wants to include linux/pagemap.h in order to satisfy
    the page_cache_release()/release_pages() definition requirements when
    CONFIG_SWAP=n. Unfortunately the code in question contains:

    /* only sparc can not include linux/pagemap.h in this file
    * so leave page_cache_release and release_pages undeclared... */
    #define free_page_and_swap_cache(page) \
    page_cache_release(page)
    #define free_pages_and_swap_cache(pages, nr) \
    release_pages((pages), (nr), 0);

    so it looks like we're stuck with doing it in asm/tlb.h instead, as
    others already do (ARM, CRIS, etc.). Grumble.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch removes defunct. led support functions from hp6xx.h since they are now
    added in a proper driver (see commit below). Also adds tabs instead of spaces before comments.

    *commit d39a7a63eb3971b1b3cc5c181ed526bf437b1c72

    Signed-off-by: Kristoffer Ericson
    Signed-off-by: Paul Mundt

    Kristoffer Ericson
     
  • Previously this took an explicit range, update this to use the same
    behaviour as the rest of the SH parts where we simply flush out a line
    from the start address.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This needs a PAGE_KERNEL_NOCACHE definition, as provided by pgtable_32.h.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Applies the fix from 5b67954e804465a4658dd4da8d52b87a8d1ea00c to
    pgtable_64.h.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch adds sh7366 cpu supports. Just the most basic things like interrupt
    controller, clocks and serial port are included at this point.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch converts the highlander CF device from good old machvec readb/writeb
    to the new shiny trapped io.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch converts the CF device on r2d boards from machvec readb/writeb
    to trapped io.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • The idea is that we want to get rid of the in/out/readb/writeb callbacks from
    the machvec and replace that with simple inline read and write operations to
    memory. Fast and simple for most hardware devices (think pci).

    Some devices require special treatment though - like 16-bit only CF devices -
    so we need to have some method to hook in callbacks.

    This patch makes it possible to add a per-device trap generating filter. This
    way we can get maximum performance of sane hardware - which doesn't need this
    filter - and crappy hardware works but gets punished by a performance hit.

    V2 changes things around a bit and replaces io access callbacks with a
    simple minimum_bus_width value. In the future we can add stride as well.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch changes copy_from_user() and copy_to_user() from macros
    into static inline functions. This way we can use them as function
    pointers. Also unify the 64 bit and 32 bit versions.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Signed-off-by: Paul Mundt

    Paul Mundt
     
  • These ports are holding up progress and now have been for months. Do the
    job for them.

    Signed-off-by: Alan Cox
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Paul Mundt

    Alan Cox
     

09 Feb, 2008

2 commits

  • Background: I've implemented 1K/2K page tables for s390. These sub-page
    page tables are required to properly support the s390 virtualization
    instruction with KVM. The SIE instruction requires that the page tables
    have 256 page table entries (pte) followed by 256 page status table entries
    (pgste). The pgstes are only required if the process is using the SIE
    instruction. The pgstes are updated by the hardware and by the hypervisor
    for a number of reasons, one of them is dirty and reference bit tracking.
    To avoid wasting memory the standard pte table allocation should return
    1K/2K (31/64 bit) and 2K/4K if the process is using SIE.

    Problem: Page size on s390 is 4K, page table size is 1K or 2K. That means
    the s390 version for pte_alloc_one cannot return a pointer to a struct
    page. Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one
    cannot return a pointer to a pte either, since that would require more than
    32 bit for the return value of pte_alloc_one (and the pte * would not be
    accessible since its not kmapped).

    Solution: The only solution I found to this dilemma is a new typedef: a
    pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced with a
    later patch. For everybody else it will be a (struct page *). The
    additional problem with the initialization of the ptl lock and the
    NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and
    a destructor pgtable_page_dtor. The page table allocation and free
    functions need to call these two whenever a page table page is allocated or
    freed. pmd_populate will get a pgtable_t instead of a struct page pointer.
    To get the pgtable_t back from a pmd entry that has been installed with
    pmd_populate a new function pmd_pgtable is added. It replaces the pmd_page
    call in free_pte_range and apply_to_pte_range.

    Signed-off-by: Martin Schwidefsky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're
    required whether or not A.OUT format is available.

    Signed-off-by: David Howells
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

08 Feb, 2008

2 commits

  • struct user.u_ar0 is defined to contain a pointer offset on all
    architectures in which it is defined (all architectures which define an
    a.out format except SPARC.) However, it has a pointer type in the headers,
    which is pointless -- is not exported to userspace, and it
    just makes the code messy.

    Redefine the field as "unsigned long" (which is the same size as a pointer
    on all Linux architectures) and change the setting code to user offsetof()
    instead of hand-coded arithmetic.

    Cc: Linux Arch Mailing List
    Cc: Bryan Wu
    Cc: Roman Zippel
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Russell King
    Cc: Lennert Buytenhek
    Cc: Håvard Skinnemoen
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Tony Luck
    Cc: Hirokazu Takata
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Paul Mundt
    Signed-off-by: H. Peter Anvin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H. Peter Anvin
     
  • asm/elf.h, asm/page.h and asm/user.h don't export to userspace now, so we can
    drop #ifdef __KERNEL__ for them.

    [k.shutemov@gmail.com: remove #ifdef __KERNEL_]
    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: David Woodhouse
    Cc:
    Signed-off-by: Kirill A. Shutemov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

07 Feb, 2008

1 commit

  • The declaration and implementation of __const_udelay use different
    names for the parameter on a number of architectures:

    include/asm-avr32/delay.h:15:extern void __const_udelay(unsigned long usecs);
    arch/avr32/lib/delay.c:39:inline void __const_udelay(unsigned long xloops)

    include/asm-sh/delay.h:15:extern void __const_udelay(unsigned long usecs);
    arch/sh/lib/delay.c:22:inline void __const_udelay(unsigned long xloops)

    include/asm-m32r/delay.h:15:extern void __const_udelay(unsigned long usecs);
    arch/m32r/lib/delay.c:58:void __const_udelay(unsigned long xloops)

    include/asm-x86/delay.h:16:extern void __const_udelay(unsigned long usecs);
    arch/x86/lib/delay_32.c:82:inline void __const_udelay(unsigned long xloops)
    arch/x86/lib/delay_64.c:46:inline void __const_udelay(unsigned long xloops)

    The units of the parameter isn't usecs, so that name is definitely
    wrong. It's also not exactly loops, so I suppose xloops is an OK
    name.

    This patch changes these names from usecs to xloops.

    Signed-off-by: Jeff Dike
    Cc: Haavard Skinnemoen
    Cc: Paul Mundt
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

06 Feb, 2008

2 commits

  • Cc: David Howells
    Cc: Hirokazu Takata
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: Davide Libenzi
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • (with Martin Schwidefsky )

    The pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as
    first argument. The free functions do not get the mm_struct argument. This
    is 1) asymmetrical and 2) to do mm related page table allocations the mm
    argument is needed on the free function as well.

    [kamalesh@linux.vnet.ibm.com: i386 fix]
    [akpm@linux-foundation.org: coding-syle fixes]
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Martin Schwidefsky
    Cc:
    Signed-off-by: Kamalesh Babulal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

01 Feb, 2008

1 commit

  • A userspace program may wish to set the mark for each packets its send
    without using the netfilter MARK target. Changing the mark can be used
    for mark based routing without netfilter or for packet filtering.

    It requires CAP_NET_ADMIN capability.

    Signed-off-by: Laszlo Attila Toth
    Acked-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Laszlo Attila Toth
     

29 Jan, 2008

1 commit


28 Jan, 2008

10 commits

  • This patch adds the header file asm/spi.h and board specific code for the
    r2d board. The header file contains a structure that should be used to
    point out a single spi bus. The board specific code for r2d is updated with
    such a structure for the new spi_sh_sci driver. The structure contains a
    chip select callback plus information about the R9701 rtc chip which is
    attached to the spi bus.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch updates the board specific irq code for r7780rp. The new code is
    very similar to the other highlander implementations, with the exception that
    the r7780rp handles pci interrupts using IRL. To simplify the pci code and
    use the same interrupt numbers as r7780mp and r7785rp we hook in to the
    cpu specific pci vectors.

    The pci interrupts and the push switch all work well with and without this
    patch. CF and AX88796 are not ok though and the source of the problem is
    unknown at this point. The AX88796 does for not detect it's proper mac
    address (IPL gets it right) and the kernel hangs on CF access. As a workaround
    this patch removes the CF and the AX88796 from the platform datain case of
    r7780rp.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Now with the voyagergx cruft gone and the dreamcast using declared
    coherent memory for pci there are no users of the consistent alloc and
    free functions pointers in the machine vector.

    So this little patch simply removes these function pointers from the macvec.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch adds declared coherent memory support to the sh architecture. All
    functions are based on the x86 implementation. Header files are adjusted to
    use the new functions instead of the former consistent_alloc() code.

    This version includes the few changes what were included in the fix patch
    together with modifications based on feedback from Paul.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add support for Renesas Technology Europe SDK7780 board.

    Signed-off-by: Nicholas Beck
    Signed-off-by: Paul Mundt

    Nicholas Beck
     
  • Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch removes redundant irq handling code together with unused
    consistent alloc code. R2D uart setup code is changed to use
    sm501-regs.h and unused header files are removed.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch removes interrupt priority tables from the intc code.
    Optimal priority assignment varies with embedded application anyway,
    so keeping the interrupt priority tables together with cpu-specific
    code doesn't make sense.

    The function intc_set_priority() should be used instead to set the
    desired interrupt priority level.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Signed-off-by: Paul Mundt

    Paul Mundt