04 Jul, 2013

10 commits

  • Merge first patch-bomb from Andrew Morton:
    - various misc bits
    - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
    distracted. There has been quite a bit of activity.
    - About half the MM queue
    - Some backlight bits
    - Various lib/ updates
    - checkpatch updates
    - zillions more little rtc patches
    - ptrace
    - signals
    - exec
    - procfs
    - rapidio
    - nbd
    - aoe
    - pps
    - memstick
    - tools/testing/selftests updates

    * emailed patches from Andrew Morton : (445 commits)
    tools/testing/selftests: don't assume the x bit is set on scripts
    selftests: add .gitignore for kcmp
    selftests: fix clean target in kcmp Makefile
    selftests: add .gitignore for vm
    selftests: add hugetlbfstest
    self-test: fix make clean
    selftests: exit 1 on failure
    kernel/resource.c: remove the unneeded assignment in function __find_resource
    aio: fix wrong comment in aio_complete()
    drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
    drivers/memstick/host/r592.c: convert to module_pci_driver
    drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
    pps-gpio: add device-tree binding and support
    drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
    drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
    drivers/parport/share.c: use kzalloc
    Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
    aoe: update internal version number to v83
    aoe: update copyright date
    aoe: perform I/O completions in parallel
    ...

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "PCI device hotplug
    - Add pci_alloc_dev() interface (Gu Zheng)
    - Add pci_bus_get()/put() for reference counting (Jiang Liu)
    - Fix SR-IOV reference count issues (Jiang Liu)
    - Remove unused acpi_pci_roots list (Jiang Liu)

    MSI
    - Conserve interrupt resources on x86 (Alexander Gordeev)

    AER
    - Force fatal severity when component has been reset (Betty Dall)
    - Reset link below Root Port as well as Downstream Port (Betty Dall)
    - Fix "Firmware first" flag setting (Bjorn Helgaas)
    - Don't parse HEST for non-PCIe devices (Bjorn Helgaas)

    ASPM
    - Warn when we can't disable ASPM as driver requests (Bjorn Helgaas)

    Miscellaneous
    - Add CircuitCo PCI IDs (Darren Hart)
    - Add AMD CZ SATA and SMBus PCI IDs (Shane Huang)
    - Work around Ivytown NTB BAR size issue (Jon Mason)
    - Detect invalid initial BAR values (Kevin Hao)
    - Add pcibios_release_device() (Sebastian Ott)
    - Fix powerpc & sparc PCI_UNKNOWN power state usage (Bjorn Helgaas)"

    * tag 'pci-v3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (51 commits)
    MAINTAINERS: Add ACPI folks for ACPI-related things under drivers/pci
    PCI: Add CircuitCo vendor ID and subsystem ID
    PCI: Use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
    PCI: Return early on allocation failures to unindent mainline code
    PCI: Simplify IOV implementation and fix reference count races
    PCI: Drop redundant setting of bus->is_added in virtfn_add_bus()
    unicore32/PCI: Remove redundant call of pci_bus_add_devices()
    m68k/PCI: Remove redundant call of pci_bus_add_devices()
    PCI / ACPI / PM: Use correct power state strings in messages
    PCI: Fix comment typo for pcie_pme_remove()
    PCI: Rename pci_release_bus_bridge_dev() to pci_release_host_bridge_dev()
    PCI: Fix refcount issue in pci_create_root_bus() error recovery path
    ia64/PCI: Clean up pci_scan_root_bus() usage
    PCI/AER: Reset link for devices below Root Port or Downstream Port
    ACPI / APEI: Force fatal AER severity when component has been reset
    PCI/AER: Remove "extern" from function declarations
    PCI/AER: Move AER severity defines to aer.h
    PCI/AER: Set dev->__aer_firmware_first only for matching devices
    PCI/AER: Factor out HEST device type matching
    PCI/AER: Don't parse HEST table for non-PCIe devices
    ...

    Linus Torvalds
     
  • Fix build warning of unused variable:

    arch/m68k/mm/init.c: In function 'mem_init': arch/m68k/mm/init.c:151:6: warning: unused variable 'i' [-Wunused-variable]

    Signed-off-by: Jiang Liu
    Cc: Geert Uytterhoeven
    Cc: Greg Ungerer
    Cc: Thadeu Lima de Souza Cascardo
    Cc: Sergei Shtylyov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Prepare for killing free_all_bootmem_node() by using free_all_bootmem().

    Signed-off-by: Jiang Liu
    Cc: Geert Uytterhoeven
    Cc: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Prepare for removing num_physpages and simplify mem_init().

    Signed-off-by: Jiang Liu
    Acked-by: Greg Ungerer
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Concentrate code to modify totalram_pages into the mm core, so the arch
    memory initialized code doesn't need to take care of it. With these
    changes applied, only following functions from mm core modify global
    variable totalram_pages: free_bootmem_late(), free_all_bootmem(),
    free_all_bootmem_node(), adjust_managed_page_count().

    With this patch applied, it will be much more easier for us to keep
    totalram_pages and zone->managed_pages in consistence.

    Signed-off-by: Jiang Liu
    Acked-by: David Howells
    Cc: "H. Peter Anvin"
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: Geert Uytterhoeven
    Cc: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Mel Gorman
    Cc: Michel Lespinasse
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tang Chen
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Wen Congyang
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Yinghai Lu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Address more review comments from last round of code review.
    1) Enhance free_reserved_area() to support poisoning freed memory with
    pattern '0'. This could be used to get rid of poison_init_mem()
    on ARM64.
    2) A previous patch has disabled memory poison for initmem on s390
    by mistake, so restore to the original behavior.
    3) Remove redundant PAGE_ALIGN() when calling free_reserved_area().

    Signed-off-by: Jiang Liu
    Cc: Geert Uytterhoeven
    Cc: "H. Peter Anvin"
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Mel Gorman
    Cc: Michel Lespinasse
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tang Chen
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Wen Congyang
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Yinghai Lu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Change signature of free_reserved_area() according to Russell King's
    suggestion to fix following build warnings:

    arch/arm/mm/init.c: In function 'mem_init':
    arch/arm/mm/init.c:603:2: warning: passing argument 1 of 'free_reserved_area' makes integer from pointer without a cast [enabled by default]
    free_reserved_area(__va(PHYS_PFN_OFFSET), swapper_pg_dir, 0, NULL);
    ^
    In file included from include/linux/mman.h:4:0,
    from arch/arm/mm/init.c:15:
    include/linux/mm.h:1301:22: note: expected 'long unsigned int' but argument is of type 'void *'
    extern unsigned long free_reserved_area(unsigned long start, unsigned long end,

    mm/page_alloc.c: In function 'free_reserved_area':
    >> mm/page_alloc.c:5134:3: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast [enabled by default]
    In file included from arch/mips/include/asm/page.h:49:0,
    from include/linux/mmzone.h:20,
    from include/linux/gfp.h:4,
    from include/linux/mm.h:8,
    from mm/page_alloc.c:18:
    arch/mips/include/asm/io.h:119:29: note: expected 'const volatile void *' but argument is of type 'long unsigned int'
    mm/page_alloc.c: In function 'free_area_init_nodes':
    mm/page_alloc.c:5030:34: warning: array subscript is below array bounds [-Warray-bounds]

    Also address some minor code review comments.

    Signed-off-by: Jiang Liu
    Reported-by: Arnd Bergmann
    Cc: "H. Peter Anvin"
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Mel Gorman
    Cc: Michel Lespinasse
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tang Chen
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Wen Congyang
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Yinghai Lu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Pull "exotic" arch fixes from Geert Uytterhoeven:
    "This is a collection of several exotic architecture fixes, and a few
    other fixes for issues that were detected while doing the former"

    * 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)
    lib: Move fonts from drivers/video/console/ to lib/fonts/
    console/font: Refactor font support code selection logic
    Revert "staging/solo6x10: depend on CONFIG_FONTS"
    input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP
    score: Wire up asm-generic/xor.h
    score: Remove unneeded
    openrisc: Wire up asm-generic/xor.h
    h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]"
    h8300: Mark H83002 and H83048 CPU support broken
    h8300: Switch h8300 to drivers/Kconfig
    h8300: Limit timer channel ranges in Kconfig
    h8300: Wire up asm-generic/xor.h
    h8300: Fill the system call table using a CALL() macro
    h8300: Fix
    h8300: Hardcode symbol prefixes in asm sources
    h8300: add missing definition for read_barries_depends()
    frv: head.S - Remove commented-out initialization code
    cris: Wire up asm-generic/vga.h
    parport: disable PC-style parallel port support on cris
    console: Disable VGA text console support on cris
    ...

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven.

    * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/q40: Enable PC parallel port in defconfig
    m68k/q40: Undefine insl/outsl before redefining them
    m68k/uaccess: Fix asm constraints for userspace access
    swim: Release memory region after incorrect return/goto
    m68k/irq: Vector ints need a valid interrupt handler
    m68k/math-emu: unsigned issue, 'unsigned long' will never be less than zero
    m68k: remove CONFIG_EARLY_PRINTK dependency on CONFIG_EMBEDDED, default to n
    m68k/sun3: remove inline marking of EXPORT_SYMBOL functions
    [SCSI] a3000: use module_platform_driver_probe()
    [SCSI] a4000t: use module_platform_driver_probe()
    m68k: Remove inline strcpy() and strcat() implementations

    Linus Torvalds
     

29 Jun, 2013

1 commit


28 Jun, 2013

1 commit

  • Several drivers need font support independent of CONFIG_VT, cfr. commit
    9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font
    support code selection logic").
    Hence move the fonts and their support logic from drivers/video/console/ to
    its own library directory lib/fonts/.
    This also allows to limit processing of drivers/video/console/Makefile to
    CONFIG_VT=y again.

    [Kevin Hilman : Update arch/arm/boot/compressed/Makefile]
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     

25 Jun, 2013

8 commits

  • Enable the PC parallel port and other related options in the Q40-specific
    and multi-platform defconfigs.

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • To use the PC parallel port driver on Q40, we need non-standard versions of
    the insl/outsl accessors. Make sure to undefine them first, to kill this
    compiler warning:

    In file included from drivers/parport/parport_pc.c:67:
    arch/m68k/include/asm/parport.h:14:1: warning: "insl" redefined
    In file included from arch/m68k/include/asm/io.h:4,
    from include/linux/scatterlist.h:10,
    from include/linux/dma-mapping.h:9,
    from drivers/parport/parport_pc.c:54:
    arch/m68k/include/asm/io_mm.h:370:1: warning: this is the location of the previous definition
    In file included from drivers/parport/parport_pc.c:67:
    arch/m68k/include/asm/parport.h:15:1: warning: "outsl" redefined
    In file included from arch/m68k/include/asm/io.h:4,
    from include/linux/scatterlist.h:10,
    from include/linux/dma-mapping.h:9,
    from drivers/parport/parport_pc.c:54:
    arch/m68k/include/asm/io_mm.h:373:1: warning: this is the location of the previous definition

    Reported-by: Thorsten Glaser
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • When compiling a MMU kernel with CPU_HAS_ADDRESS_SPACES=n (e.g. "MMU=y
    allnoconfig": "echo CONFIG_MMU=y > allno.config && make KCONFIG_ALLCONFIG=1
    allnoconfig"), we use plain "move" instead of "moves", and I got:

    CC arch/m68k/lib/uaccess.o
    {standard input}: Assembler messages:
    {standard input}:47: Error: operands mismatch -- statement `move.b %a0,(%a1)' ignored

    This happens because plain "move" doesn't support byte transfers between
    memory and address registers, while "moves" does.

    Fix the asm constraints for __generic_copy_from_user(),
    __generic_copy_to_user(), and __clear_user() to only use data registers
    when accessing userspace.

    Also, relax the asm constraints for 16-bit userspace accesses in
    __put_user() and __get_user(), as both "move" and "moves" do support
    such transfers between memory and address registers.

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • To get vectored interrupts working we need to switch from the default
    handler handle_bad_irq() to something more sensible. Tested on a MVME177
    board.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Geert Uytterhoeven

    Thomas Bogendoerfer
     
  • 'oldmant.m32[1]' is 'unsigned long' which can never be '< 0', and the
    original author wanted to check whether the highest bit is set.

    So make the bit test explicit (which is better than casting from 'unsigned
    long' to 'long').

    The related warning: (with EXTRA_CFLAGS=-W ARCH=m68k for allmodconfig)
    arch/m68k/math-emu/fp_arith.c:522:4: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

    Signed-off-by: Chen Gang
    Signed-off-by: Geert Uytterhoeven

    Chen Gang
     
  • Allow CONFIG_EARLY_PRINTK without requiring both CONFIG_EMBEDDED and
    CONFIG_DEBUG. Default to disabled.

    Signed-off-by: Finn Thain
    Signed-off-by: Laurent Vivier
    Signed-off-by: Geert Uytterhoeven

    Finn Thain
     
  • EXPORT_SYMBOL and inline directives are contradictory to each other.
    The patch fixes this inconsistency.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Denis Efremov
    Signed-off-by: Geert Uytterhoeven

    Denis Efremov
     
  • Gcc may replace calls to standard string functions by open code and/or
    calls to other standard string functions. If the replacement function is
    not available out-of-line, link errors will happen.

    To avoid this, the out-of-line versions were provided by
    arch/m68k/lib/string.c, but they were usually not linked in anymore as
    typically none of its symbols are referenced by built-in code.
    However, if any module would need them, they would not be available.

    Hence remove the inline strcpy() and strcat() implementations, remove
    arch/m68k/lib/string.c, and let the generic string library code handle it.

    Impact on a typical kernel build seems minimal or nonexistent:

    - .text : 0x00001000 - 0x002aac74 (2728 KiB)
    - .data : 0x002ada48 - 0x00392148 ( 914 KiB)
    + .text : 0x00001000 - 0x002aacf4 (2728 KiB)
    + .data : 0x002adac8 - 0x00392148 ( 914 KiB)

    See also commit e00c73ee05dc38ecaccced55d4f5fc58b0b769f7 ("m68k: Remove
    inline strlen() implementation").

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     

15 Jun, 2013

1 commit

  • pci_scan_bus() has called pci_bus_add_devices() already, so remove the
    redundant call of pci_bus_add_devices(). subsys_init() callbacks will be
    invoked before device_init() callbacks, so it should be safe to remove the
    redundant calls.

    [bhelgaas: split unicore32 into a separate patch]
    Signed-off-by: Jiang Liu
    Signed-off-by: Bjorn Helgaas
    Acked-by: Greg Ungerer

    Jiang Liu
     

09 Jun, 2013

1 commit


03 Jun, 2013

1 commit


31 May, 2013

1 commit

  • The present code does not wait for the SCC to finish resetting itself
    before trying to initialise the device. The result is that the SCC
    interrupt sources become enabled (if they weren't already). This leads to
    an early boot crash (unexpected interrupt) given CONFIG_EARLY_PRINTK. Fix
    this by adding a delay. A successful reset disables the interrupt sources.

    Also, after the reset for channel A setup, the SCC then gets a second
    reset for channel B setup which leaves channel A uninitialised again. Fix
    this by performing the reset only once.

    Signed-off-by: Finn Thain
    Cc: stable@vger.kernel.org
    Signed-off-by: Geert Uytterhoeven

    Finn Thain
     

29 May, 2013

1 commit

  • Compiling for targets that use the local gpio code (not GPIOLIB) fail to
    compile with:

    CC arch/m68k/platform/coldfire/device.o
    In file included from include/linux/gpio.h:45:0,
    from arch/m68k/platform/coldfire/device.c:15:
    /home/gerg/new-wave.git/linux-3.x/arch/m68k/include/asm/gpio.h:89:19: error: static declaration of ‘gpio_request_one’ follows non-static declaration
    include/asm-generic/gpio.h:195:12: note: previous declaration of ‘gpio_request_one’ was here

    Fix by conditionally using the local gpio_request_one() function based on
    !CONFIG_GPIOLIB.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

28 May, 2013

1 commit


22 May, 2013

1 commit

  • Linux/M68K currently doesn't support robust futexes or PI mutexes.
    The problem is that the futex code needs to perform certain ops
    (cmpxchg, set, add, or, andn, xor) atomically on user-space
    addresses, and M68K's lack of a futex.h causes those operations
    to be unsupported and disabled.

    This patch adds that support, but only for uniprocessor machines,
    which is adequate for M68K. For UP it's enough to disable preemption
    to ensure mutual exclusion (futexes don't need to care about other
    hardware agents), and the mandatory pagefault_disable() does just that.

    This patch is closely based on the one I co-wrote for UP ARM back
    in August 2008. The main change is that this patch uses the C
    get_user/put_user accessors instead of inline assembly code with
    exception table fixups.

    For non-MMU machines the new futex.h simply redirects to the generic
    futex.h, so there is no functional change for them.

    Tested on aranym with the glibc-2.17 test suite: no regressions, and
    a number of mutex/condvar test cases went from failing to succeeding
    (tst-mutexpi{5,5a,6,9}, tst-cond2[45], tst-robust[1-9], tst-robustpi[1-8]).
    Also tested with glibc-2.18 HEAD and a local glibc patch to enable PI
    mutexes: no regressions.

    Signed-off-by: Mikael Pettersson
    Acked-by: Andreas Schwab
    [geert: Added removal of ""generic-y += futex.h"]
    Signed-off-by: Geert Uytterhoeven

    Mikael Pettersson
     

11 May, 2013

1 commit

  • Pull misc fixes from David Woodhouse:
    "This is some miscellaneous cleanups that don't really belong anywhere
    else (or were ignored), that have been sitting in linux-next for some
    time. Two of them are fixes resulting from my audit of krealloc()
    usage that don't seem to have elicited any response when I posted
    them, and the other three are patches from Artem removing dead code."

    * tag 'for-linus-20130509' of git://git.infradead.org/~dwmw2/random-2.6:
    pcmcia: remove RPX board stuff
    m68k: remove rpxlite stuff
    pcmcia: remove Motorola MBX860 support
    params: Fix potential memory leak in add_sysfs_param()
    dell-laptop: Fix krealloc() misuse in parse_da_table()

    Linus Torvalds
     

10 May, 2013

2 commits

  • Pull m68knommu updates from Greg Ungerer:
    "The bulk of the changes are generalizing the ColdFire v3 core support
    and adding in 537x CPU support. Also a couple of other bug fixes, one
    to fix a reintroduction of a past bug in the romfs filesystem nommu
    support."

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68knommu: enable Timer on coldfire 532x
    m68knommu: fix ColdFire 5373/5329 QSPI base address
    m68knommu: add support for configuring a Freescale M5373EVB board
    m68knommu: add support for the ColdFire 537x family of CPUs
    m68knommu: make ColdFire M532x platform support more v3 generic
    m68knommu: create and use a common M53xx ColdFire class of CPUs
    m68k: remove unused asm/dbg.h
    m68k: Set ColdFire ACR1 cache mode depending on kernel configuration
    romfs: fix nommu map length to keep inside filesystem
    m68k: clean up unused "config ROMVECSIZE"

    Linus Torvalds
     
  • Pull removal of GENERIC_GPIO from Grant Likely:
    "GENERIC_GPIO now synonymous with GPIOLIB. There are no longer any
    valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it
    is possible to do so which has been causing confusion and breakage.
    This branch does the work to completely eliminate GENERIC_GPIO."

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
    gpio: update gpio Chinese documentation
    Remove GENERIC_GPIO config option
    Convert selectors of GENERIC_GPIO to GPIOLIB
    blackfin: force use of gpiolib
    m68k: coldfire: use gpiolib
    mips: pnx833x: remove requirement for GENERIC_GPIO
    openrisc: default GENERIC_GPIO to false
    avr32: default GENERIC_GPIO to false
    xtensa: remove explicit selection of GENERIC_GPIO
    sh: replace CONFIG_GENERIC_GPIO by CONFIG_GPIOLIB
    powerpc: remove redundant GENERIC_GPIO selection
    unicore32: default GENERIC_GPIO to false
    unicore32: remove unneeded select GENERIC_GPIO
    arm: plat-orion: use GPIO driver on CONFIG_GPIOLIB
    arm: remove redundant GENERIC_GPIO selection
    mips: alchemy: require gpiolib
    mips: txx9: change GENERIC_GPIO to GPIOLIB
    mips: loongson: use GPIO driver on CONFIG_GPIOLIB
    mips: remove redundant GENERIC_GPIO select

    Linus Torvalds
     

01 May, 2013

3 commits

  • Pull compat cleanup from Al Viro:
    "Mostly about syscall wrappers this time; there will be another pile
    with patches in the same general area from various people, but I'd
    rather push those after both that and vfs.git pile are in."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    syscalls.h: slightly reduce the jungles of macros
    get rid of union semop in sys_semctl(2) arguments
    make do_mremap() static
    sparc: no need to sign-extend in sync_file_range() wrapper
    ppc compat wrappers for add_key(2) and request_key(2) are pointless
    x86: trim sys_ia32.h
    x86: sys32_kill and sys32_mprotect are pointless
    get rid of compat_sys_semctl() and friends in case of ARCH_WANT_OLD_COMPAT_IPC
    merge compat sys_ipc instances
    consolidate compat lookup_dcookie()
    convert vmsplice to COMPAT_SYSCALL_DEFINE
    switch getrusage() to COMPAT_SYSCALL_DEFINE
    switch epoll_pwait to COMPAT_SYSCALL_DEFINE
    convert sendfile{,64} to COMPAT_SYSCALL_DEFINE
    switch signalfd{,4}() to COMPAT_SYSCALL_DEFINE
    make SYSCALL_DEFINE-generated wrappers do asmlinkage_protect
    make HAVE_SYSCALL_WRAPPERS unconditional
    consolidate cond_syscall and SYSCALL_ALIAS declarations
    teach SYSCALL_DEFINE how to deal with long long/unsigned long long
    get rid of duplicate logics in __SC_....[1-6] definitions

    Linus Torvalds
     
  • Both dump_stack() and show_stack() are currently implemented by each
    architecture. show_stack(NULL, NULL) dumps the backtrace for the
    current task as does dump_stack(). On some archs, dump_stack() prints
    extra information - pid, utsname and so on - in addition to the
    backtrace while the two are identical on other archs.

    The usages in arch-independent code of the two functions indicate
    show_stack(NULL, NULL) should print out bare backtrace while
    dump_stack() is used for debugging purposes when something went wrong,
    so it does make sense to print additional information on the task which
    triggered dump_stack().

    There's no reason to require archs to implement two separate but mostly
    identical functions. It leads to unnecessary subtle information.

    This patch expands the dummy fallback dump_stack() implementation in
    lib/dump_stack.c such that it prints out debug information (taken from
    x86) and invokes show_stack(NULL, NULL) and drops arch-specific
    dump_stack() implementations in all archs except blackfin. Blackfin's
    dump_stack() does something wonky that I don't understand.

    Debug information can be printed separately by calling
    dump_stack_print_info() so that arch-specific dump_stack()
    implementation can still emit the same debug information. This is used
    in blackfin.

    This patch brings the following behavior changes.

    * On some archs, an extra level in backtrace for show_stack() could be
    printed. This is because the top frame was determined in
    dump_stack() on those archs while generic dump_stack() can't do that
    reliably. It can be compensated by inlining dump_stack() but not
    sure whether that'd be necessary.

    * Most archs didn't use to print debug info on dump_stack(). They do
    now.

    An example WARN dump follows.

    WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()
    Hardware name: empty
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #9
    0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48
    ffffffff8108f50f ffffffff82228240 0000000000000040 ffffffff8234a03c
    0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58
    Call Trace:
    [] dump_stack+0x19/0x1b
    [] warn_slowpath_common+0x7f/0xc0
    [] warn_slowpath_null+0x1a/0x20
    [] init_workqueues+0x35/0x505
    ...

    v2: CPU number added to the generic debug info as requested by s390
    folks and dropped the s390 specific dump_stack(). This loses %ksp
    from the debug message which the maintainers think isn't important
    enough to keep the s390-specific dump_stack() implementation.

    dump_stack_print_info() is moved to kernel/printk.c from
    lib/dump_stack.c. Because linkage is per objecct file,
    dump_stack_print_info() living in the same lib file as generic
    dump_stack() means that archs which implement custom dump_stack()
    - at this point, only blackfin - can't use dump_stack_print_info()
    as that will bring in the generic version of dump_stack() too. v1
    The v1 patch broke build on blackfin due to this issue. The build
    breakage was reported by Fengguang Wu.

    Signed-off-by: Tejun Heo
    Acked-by: David S. Miller
    Acked-by: Vineet Gupta
    Acked-by: Jesper Nilsson
    Acked-by: Vineet Gupta
    Acked-by: Martin Schwidefsky [s390 bits]
    Cc: Heiko Carstens
    Cc: Mike Frysinger
    Cc: Fengguang Wu
    Cc: Bjorn Helgaas
    Cc: Sam Ravnborg
    Acked-by: Richard Kuo [hexagon bits]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • Pull m68k update from Geert Uytterhoeven.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Remove inline strlen() implementation
    m68k/atari: USB - add platform devices for EtherNAT/NetUSBee ISP1160 HCD
    m68k: Implement ndelay() based on the existing udelay() logic
    m68k/atari: EtherNAT - add interrupt chip definition for CPLD interrupts
    m68k/atari: EtherNEC - add platform device support
    m68k/atari: EtherNAT - platform device and IRQ support code
    m68k/atari: use dedicated irq_chip for timer D interrupts
    m68k/atari: ROM port ISA adapter support
    m68k: Add missing cmpxchg64() if CONFIG_RMW_INSNS=y

    Linus Torvalds
     

30 Apr, 2013

2 commits

  • Pull SMP/hotplug changes from Ingo Molnar:
    "This is a pretty large, multi-arch series unifying and generalizing
    the various disjunct pieces of idle routines that architectures have
    historically copied from each other and have grown in random, wildly
    inconsistent and sometimes buggy directions:

    101 files changed, 455 insertions(+), 1328 deletions(-)

    this went through a number of review and test iterations before it was
    committed, it was tested on various architectures, was exposed to
    linux-next for quite some time - nevertheless it might cause problems
    on architectures that don't read the mailing lists and don't regularly
    test linux-next.

    This cat herding excercise was motivated by the -rt kernel, and was
    brought to you by Thomas "the Whip" Gleixner."

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
    idle: Remove GENERIC_IDLE_LOOP config switch
    um: Use generic idle loop
    ia64: Make sure interrupts enabled when we "safe_halt()"
    sparc: Use generic idle loop
    idle: Remove unused ARCH_HAS_DEFAULT_IDLE
    bfin: Fix typo in arch_cpu_idle()
    xtensa: Use generic idle loop
    x86: Use generic idle loop
    unicore: Use generic idle loop
    tile: Use generic idle loop
    tile: Enter idle with preemption disabled
    sh: Use generic idle loop
    score: Use generic idle loop
    s390: Use generic idle loop
    powerpc: Use generic idle loop
    parisc: Use generic idle loop
    openrisc: Use generic idle loop
    mn10300: Use generic idle loop
    mips: Use generic idle loop
    microblaze: Use generic idle loop
    ...

    Linus Torvalds
     
  • Use common help functions to free reserved pages.

    Signed-off-by: Jiang Liu
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     

29 Apr, 2013

5 commits