18 Jun, 2009

1 commit


17 Jun, 2009

3 commits

  • * akpm: (182 commits)
    fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset
    fbdev: *bfin*: fix __dev{init,exit} markings
    fbdev: *bfin*: drop unnecessary calls to memset
    fbdev: bfin-t350mcqb-fb: drop unused local variables
    fbdev: blackfin has __raw I/O accessors, so use them in fb.h
    fbdev: s1d13xxxfb: add accelerated bitblt functions
    tcx: use standard fields for framebuffer physical address and length
    fbdev: add support for handoff from firmware to hw framebuffers
    intelfb: fix a bug when changing video timing
    fbdev: use framebuffer_release() for freeing fb_info structures
    radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?
    s3c-fb: CPUFREQ frequency scaling support
    s3c-fb: fix resource releasing on error during probing
    carminefb: fix possible access beyond end of carmine_modedb[]
    acornfb: remove fb_mmap function
    mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF
    mb862xxfb: restrict compliation of platform driver to PPC
    Samsung SoC Framebuffer driver: add Alpha Channel support
    atmel-lcdc: fix pixclock upper bound detection
    offb: use framebuffer_alloc() to allocate fb_info struct
    ...

    Manually fix up conflicts due to kmemcheck in mm/slab.c

    Linus Torvalds
     
  • Convert most arches to use asm-generic/kmap_types.h.

    Move the KM_FENCE_ macro additions into asm-generic/kmap_types.h,
    controlled by __WITH_KM_FENCE from each arch's kmap_types.h file.

    Would be nice to be able to add custom KM_types per arch, but I don't yet
    see a nice, clean way to do that.

    Built on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and
    68k(tonyb).

    Note: avr32 should be able to remove KM_PTE2 (since it's not used) and
    then just use the generic kmap_types.h file. Get avr32 maintainer
    approval.

    Signed-off-by: Randy Dunlap
    Cc:
    Acked-by: Mike Frysinger
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Bryan Wu
    Cc: Mikael Starvik
    Cc: Hirokazu Takata
    Cc: "Luck Tony"
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: David Howells
    Cc: Kyle McMartin
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Arnd Bergmann
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (38 commits)
    ps3flash: Always read chunks of 256 KiB, and cache them
    ps3flash: Cache the last accessed FLASH chunk
    ps3: Replace direct file operations by callback
    ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL()
    ps3: Correct debug message in dma_ioc0_map_pages()
    drivers/ps3: Add missing annotations
    ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access
    ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access
    ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata
    ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices
    block/ps3: remove driver_data direct access of struct device
    ps3vram: Make ps3vram_priv.reports a void *
    ps3vram: Remove no longer used ps3vram_priv.ddr_base
    ps3vram: Replace mutex by spinlock + bio_list
    block: Add bio_list_peek()
    powerpc: Use generic atomic64_t implementation on 32-bit processors
    lib: Provide generic atomic64_t implementation
    powerpc: Add compiler memory barrier to mtmsr macro
    powerpc/iseries: Mark signal_vsp_instruction() as maybe unused
    powerpc/iseries: Fix unused function warning in iSeries DT code
    ...

    Linus Torvalds
     

15 Jun, 2009

4 commits

  • Conflicts:
    Documentation/feature-removal-schedule.txt
    drivers/scsi/fcoe/fcoe.c
    net/core/drop_monitor.c
    net/core/net-traces.c

    David S. Miller
     
  • Many processor architectures have no 64-bit atomic instructions, but
    we need atomic64_t in order to support the perf_counter subsystem.

    This adds an implementation of 64-bit atomic operations using hashed
    spinlocks to provide atomicity. For each atomic operation, the address
    of the atomic64_t variable is hashed to an index into an array of 16
    spinlocks. That spinlock is taken (with interrupts disabled) around the
    operation, which can then be coded non-atomically within the lock.

    On UP, all the spinlock manipulation goes away and we simply disable
    interrupts around each operation. In fact gcc eliminates the whole
    atomic64_lock variable as well.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Benjamin Herrenschmidt

    Paul Mackerras
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits)
    .gitignore: ignore *.lzma files
    kbuild: add generic --set-str option to scripts/config
    kbuild: simplify argument loop in scripts/config
    kbuild: handle non-existing options in scripts/config
    kallsyms: generalize text region handling
    kallsyms: support kernel symbols in Blackfin on-chip memory
    documentation: make version fix
    kbuild: fix a compile warning
    gitignore: Add GNU GLOBAL files to top .gitignore
    kbuild: fix delay in setlocalversion on readonly source
    README: fix misleading pointer to the defconf directory
    vmlinux.lds.h update
    kernel-doc: cleanup perl script
    Improve vmlinux.lds.h support for arch specific linker scripts
    kbuild: fix headers_exports with boolean expression
    kbuild/headers_check: refine extern check
    kbuild: fix "Argument list too long" error for "make headers_check",
    ignore *.patch files
    Remove bashisms from scripts
    menu: fix embedded menu presentation
    ...

    Linus Torvalds
     
  • Updated after review by Tim Abbott.
    - Use HEAD_TEXT_SECTION
    - Drop use of section-names.h and delete file
    - Introduce EXIT_CALL

    Deleting section-names.h required a few simple
    updates of init.h

    Signed-off-by: Sam Ravnborg
    Cc: Tim Abbott

    Sam Ravnborg
     

12 Jun, 2009

17 commits

  • Fixes a merge conflict against the x86 tree caused by a fix to
    atomic.h which I renamed to atomic_long.h.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Add a generic (unoptimized) implementation of checksum.c in pure C
    for use by all architectures that cannot be bother with implementing
    their own version.

    Based on microblaze code by Michal Simek

    Cc: Michal Simek
    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Based on discussions with Michal Simek and code
    from m68knommu and h8300, this version of uaccess.h
    should be usable by most architectures, by overriding
    some parts of it.

    Simple NOMMU architectures can use it out of
    the box, but a minimal __access_ok() should be
    added there as well.

    Cc: Michal Simek
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Memory management in generic is highly architecture specific,
    but on NOMMU architectures, it is mostly trivial, so just
    add a default implementation in asm-generic that applies
    to all NOMMU architectures.

    The two files cache.h and cacheflush.h can possibly also
    be used by architectures that have an MMU but never require
    flushing the cache or have cache lines larger than 32 bytes.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • atomic.h and io.h are based on the mn10300 architecture,
    which is already pretty generic and can be used by
    other architectures that do not have hardware support
    for atomic operations or out-of-order I/O access.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • The dma.h, hw_irq.h, serial.h and timex.h files originally
    described PC-style i8237, i8259A, i8250, i8253 and i8255 chips
    as well as the VGA style text mode graphics.

    Modern architectures live happily without these specific
    interfaces, but a few definitions from these headers keep
    getting used in common code.

    The new generic headers are what most architectures use
    anyway nowadays, just implementing the minimal definitions.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • These are all kernel internal interfaces that get copied
    around a lot. In most cases, architectures can provide
    their own optimized versions, but these generic versions
    can work as well.

    I have tried to use the most common contents of each
    header to allow existing architectures to migrate easily.

    Thanks to Remis for suggesting a number of cleanups.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • bitops.h apparently suffered from some level of bitrot, it
    was missing the smp_mb__{before,after}_clear_bit functions,
    and included other headers in an invalid order.

    This changes the file so that new architectures can use
    it out of the box.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Some generic code is using the horribly misnamed PCI_DMA_BUS_IS_PHYS
    from asm/pci.h. This makes sure that an architecture without PCI
    support does not have to define this itself but can rely on the
    asm-generic version.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Evidently, set_rtc_time is supposed to be overridable
    by architectures that define their own version, but
    unfortunately, get_rtc_ss would in that case still
    use the generic version.

    This makes get_rtc_ss call the real set_rtc_time
    to let architectures define their own version.
    The change should fix the "Extended RTC operation"
    on Alpha, which uses the incorrect get_rtc_ss
    call. It also allows PowerPC to use the asm-generic/rtc.h
    file in the future.

    Cc: Richard Henderson
    Cc: linux-alpha@vger.kernel.org
    Cc: Tom Rini
    Cc: rtc-linux@googlegroups.com
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • The current asm-generic/page.h only contains the get_order
    function, and asm-generic/uaccess.h only implements
    unaligned accesses. This renames the file to getorder.h
    and uaccess-unaligned.h to make room for new page.h
    and uaccess.h file that will be usable by all simple
    (e.g. nommu) architectures.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • The existing asm-generic/atomic.h only defines the
    atomic_long type. This renames it to atomic-long.h
    so we have a place to add a truly generic atomic.h
    that can be used on all non-SMP systems.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann
    Acked-by: Ingo Molnar

    Arnd Bergmann
     
  • A new architecture should only define a minimal set of system
    calls while still providing the full functionality. This version
    of unistd.h has gone through intensive review to make sure that
    by default it only enables syscalls that do not already have
    a more featureful replacement.

    It is modeled after the x86-64 version of unistd.h, which unifies
    the syscall number definition and the actual system call table
    in a single file, in order to keep them synchronized much more
    easily.

    This first version still keeps legacy system call definitions
    around, guarded by various #ifdefs, and with numbers larger
    than 1024. The idea behind this is to make it easier for
    new architectures to transition from a full list to the reduced
    set. In particular, the new microblaze architecture that should
    migrate to using the generic ABI headers can at least use an
    existing uClibc source tree without major rewrites during the
    conversion.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • These header files are typically copied from an existing architecture
    into any new one, slightly modified and then remain untouched until
    the end of time in the name of ABI stability.

    To make it easier for future architectures, provide a sane generic
    version here. In cases where multiple architectures already use
    identical code, I used the most common version. In cases like
    stat.h that are more or less broken everywhere, I provide a
    version that is meant to be ideal for new architectures.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • The ipc64 data structures were originally meant to
    be architecture specific so that each architecture
    could add their own optimizations for padding.

    In the end, most of them just copied the x86 version,
    and most got that wrong. UClibc expects the x86 anyway,
    so we might just declare that the default and get
    rid of the extra copies.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • This provides a reliable way for asm-generic/types.h and other
    files to find out if it is running on a 32 or 64 bit platform.

    We cannot use CONFIG_64BIT for this in headers that are included
    from user space because CONFIG symbols are not available there.
    We also cannot do it inside of asm/types.h because some headers
    need the word size but cannot include types.h.

    The solution is to introduce a new header
    that defines both __BITS_PER_LONG for user space and
    BITS_PER_LONG for usage in the kernel. The asm-generic
    version falls back to 32 bit unless the architecture overrides
    it, which I did for all 64 bit platforms.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • The existing asm-generic versions are incomplete and included
    by some architectures. New architectures should be able
    to use a generic version, so rename the existing files and
    change all users, which lets us add the new files.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

11 Jun, 2009

3 commits

  • Conflicts:
    arch/x86/kernel/irqinit.c
    arch/x86/kernel/irqinit_64.c
    arch/x86/kernel/traps.c
    arch/x86/mm/fault.c
    include/linux/sched.h
    kernel/exit.c

    Ingo Molnar
     
  • * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)
    Revert "x86, bts: reenable ptrace branch trace support"
    tracing: do not translate event helper macros in print format
    ftrace/documentation: fix typo in function grapher name
    tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK
    tracing: add protection around module events unload
    tracing: add trace_seq_vprint interface
    tracing: fix the block trace points print size
    tracing/events: convert block trace points to TRACE_EVENT()
    ring-buffer: fix ret in rb_add_time_stamp
    ring-buffer: pass in lockdep class key for reader_lock
    tracing: add annotation to what type of stack trace is recorded
    tracing: fix multiple use of __print_flags and __print_symbolic
    tracing/events: fix output format of user stack
    tracing/events: fix output format of kernel stack
    tracing/trace_stack: fix the number of entries in the header
    ring-buffer: discard timestamps that are at the start of the buffer
    ring-buffer: try to discard unneeded timestamps
    ring-buffer: fix bug in ring_buffer_discard_commit
    ftrace: do not profile functions when disabled
    tracing: make trace pipe recognize latency format flag
    ...

    Linus Torvalds
     
  • * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits)
    xen: cache cr0 value to avoid trap'n'emulate for read_cr0
    xen/x86-64: clean up warnings about IST-using traps
    xen/x86-64: fix breakpoints and hardware watchpoints
    xen: reserve Xen start_info rather than e820 reserving
    xen: add FIX_TEXT_POKE to fixmap
    lguest: update lazy mmu changes to match lguest's use of kvm hypercalls
    xen: honour VCPU availability on boot
    xen: add "capabilities" file
    xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet
    xen/sys/hypervisor: change writable_pt to features
    xen: add /sys/hypervisor support
    xen/xenbus: export xenbus_dev_changed
    xen: use device model for suspending xenbus devices
    xen: remove suspend_cancel hook
    xen/dev-evtchn: clean up locking in evtchn
    xen: export ioctl headers to userspace
    xen: add /dev/xen/evtchn driver
    xen: add irq_from_evtchn
    xen: clean up gate trap/interrupt constants
    xen: set _PAGE_NX in __supported_pte_mask before pagetable construction
    ...

    Linus Torvalds
     

10 Jun, 2009

2 commits

  • To support alingment of the individual architecture specific linker scripts
    provide a set of general definitions in vmlinux.lds.h

    With these definitions applied the diverse linekr scripts can be reduced
    in line count and their readability are improved - IMO.

    A sample linker script is included to give the preferred
    order of the sections for the architectures that do not
    have any special requirments.

    These definitions are also a first step towards eventual
    support for -ffunction-sections.
    The definitions makes it much easier to do a global
    renaming of section names - but the main purpose is
    to clean up the linker scripts.

    Tim Aboot has provided a lot of inputs to improve
    the definitions - all faults are mine.

    Signed-off-by: Sam Ravnborg
    Cc: Tim Abbott

    Sam Ravnborg
     
  • - add .init.rodata to INIT_DATA, and group all initconst flavors
    together
    - move strings generated from __setup_param() into .init.rodata
    - add .*init.rodata to modpost's sets of init sections
    - make modpost warn about references between meminit and cpuinit
    as well as memexit and cpuexit sections (as CPU and memory
    hotplug are independently selectable features)

    Signed-off-by: Jan Beulich
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     

04 Jun, 2009

1 commit

  • To be easier on drivers and users, have cfg80211 register an
    rfkill structure that drivers can access. When soft-killed,
    simply take down all interfaces; when hard-killed the driver
    needs to notify us and we will take down the interfaces
    after the fact. While rfkilled, interfaces cannot be set UP.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

03 Jun, 2009

1 commit


18 May, 2009

2 commits


08 May, 2009

1 commit

  • Conflicts:
    arch/frv/include/asm/pgtable.h
    arch/x86/include/asm/required-features.h
    arch/x86/xen/mmu.c

    Merge reason: x86/xen was on a .29 base still, move it to a fresher
    branch and pick up Xen fixes as well, plus resolve
    conflicts

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

07 May, 2009

2 commits

  • Merge reason: tracing/core was on a .30-rc1 base and was missing out on
    on a handful of tracing fixes present in .30-rc5-almost.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • When building with gcc 3.2 I get thousands of warnings such as

    include/linux/gfp.h: In function `allocflags_to_migratetype':
    include/linux/gfp.h:105: warning: null format string

    due to passing a NULL format string to warn_slowpath() in

    #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL)

    Split this case out into a separate call. This also shrinks the kernel
    slightly:

    text data bss dec hex filename
    4802274 707668 712704 6222646 5ef336 vmlinux
    text data bss dec hex filename
    4799027 703572 712704 6215303 5ed687 vmlinux

    due to removeing one argument from the commonly-called __WARN().

    [akpm@linux-foundation.org: reduce scope of `empty']
    Acked-by: Jesper Nilsson
    Acked-by: Johannes Weiner
    Acked-by: Arjan van de Ven
    Signed-off-by: Andi Kleen
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

03 May, 2009

1 commit

  • On a linux-next allyesconfig build:

    kernel/trace/ring_buffer.c:1726:
    warning: passing argument 1 of 'atomic_cmpxchg' from incompatible pointer type
    linux-next/arch/s390/include/asm/atomic.h:112:
    note: expected 'struct atomic_t *' but argument is of type 'struct atomic64_t *'

    atomic_long_cmpxchg and atomic_long_xchg are incorrectly defined for 64
    bit architectures. They should be mapped to the atomic64_* variants.

    Acked-by: Mathieu Desnoyers
    Signed-off-by: Heiko Carstens
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     

28 Apr, 2009

1 commit

  • The old refok sections

    .text.init.refok
    .data.init.refok
    .exit.text.refok

    have been deprecated since commit
    312b1485fb509c9bc32eda28ad29537896658cb8. After the other patches in
    this patch series nothing is put in these sections, so clean things up
    by eliminating all the remaining references to them.

    Signed-off-by: Tim Abbott
    Acked-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Tim Abbott
     

27 Apr, 2009

1 commit

  • This patch is preparation for replacing all uses of ".head.text" or
    ".text.head" in the kernel with macros, so that the section name can
    later be changed without having to touch a lot of the kernel.

    Since some linker scripts do more complex things than referencing
    HEAD_TEXT, we add a HEAD_TEXT_SECTION macro that just contains the
    actual name.

    I've defined HEAD_TEXT_SECTION in a new header,
    include/linux/section-names.h, so that this section name only needs to
    appear in one place. I anticipate creating similar macro structures
    for a number of other section names.

    The long-term goal here is to be able to change the kernel's magic
    section names to those that are compatible with -ffunction-sections
    -fdata-sections. This requires renaming all magic sections with names
    of the form ".text.foo".

    Signed-off-by: Tim Abbott
    Signed-off-by: Linus Torvalds

    Tim Abbott