27 Apr, 2012

1 commit


25 Apr, 2012

3 commits

  • This patch fixes the following build failures:

    drivers/staging/octeon/ethernet.c: In function 'cvm_oct_cleanup_module':
    drivers/staging/octeon/ethernet.c:799:2: error: implicit declaration of function 'free_irq'
    drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_no_more_work':
    drivers/staging/octeon/ethernet-rx.c:119:3: error: implicit declaration of function 'enable_irq'
    drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_do_interrupt':
    drivers/staging/octeon/ethernet-rx.c:136:2: error: implicit declaration of function 'disable_irq_nosync'
    drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_rx_initialize':
    drivers/staging/octeon/ethernet-rx.c:532:2: error: implicit declaration of function 'request_irq'
    drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_initialize':
    drivers/staging/octeon/ethernet-tx.c:712:2: error: implicit declaration of function 'request_irq'
    drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_shutdown':
    drivers/staging/octeon/ethernet-tx.c:723:2: error: implicit declaration of function 'free_irq'

    Signed-off-by: Imre Kaloz
    Acked-by: David Daney
    Signed-off-by: Greg Kroah-Hartman

    Imre Kaloz
     
  • ZCACHE is a boolean in the Kconfig. When selected, it
    should require that CRYPTO be builtin (=y).

    Currently, ZCACHE=y and CRYPTO=m is a valid configuration
    when it should not be.

    This patch changes the zcache Kconfig to enforce this
    dependency.

    Signed-off-by: Seth Jennings
    Acked-by: Konrad Rzeszutek Wilk
    Signed-off-by: Greg Kroah-Hartman

    Seth Jennings
     
  • Instead now use ioremap. This is needed for 3.4 since this change
    emerged in mainline during one of the previous rc cycles.

    These solves the following compilation breaks:

    drivers/staging/tidspbridge/core/tiomap3430.c:
    In function ‘bridge_brd_start’:
    drivers/staging/tidspbridge/core/tiomap3430.c:425:4:
    error: implicit declaration of function ‘OMAP2_L4_IO_ADDRESS’

    drivers/staging/tidspbridge/core/wdt.c: In function ‘dsp_wdt_init’:
    drivers/staging/tidspbridge/core/wdt.c:56:2:
    error: implicit declaration of function ‘OMAP2_L4_IO_ADDRESS’

    For control registers a new function needs to be defined so we
    can get rid of a layer violation, but that approach must be queued
    for the next merge window.

    As seen in:
    http://www.arm.linux.org.uk/developer/build/
    platform: omap4430-sdp build: uImage
    config: randconfig version: 3.4.0-rc3
    start time: Apr 20 2012 01:07

    Reported-by: Tony Lindgren
    Signed-off-by: Omar Ramirez Luna
    Signed-off-by: Greg Kroah-Hartman

    Omar Ramirez Luna
     

13 Apr, 2012

4 commits

  • Pull staging tree fixes from Greg KH:
    "Here are a number of bugfixes for the drivers/staging/ portion of the
    kernel that have been reported recently.

    Nothing major here, with maybe the exception of the ramster code can
    now be built so it is enabled in the build again, and lots of memory
    leaks that people like to have fixed on their systems.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'staging-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: android: fix mem leaks in __persistent_ram_init()
    staging: vt6656: Don't leak memory in drivers/staging/vt6656/ioctl.c::private_ioctl()
    staging: iio: hmc5843: Fix crash in probe function.
    staging/xgifb: fix display on XGI Volari Z11m cards
    Staging: android: timed_gpio: Fix resource leak in timed_gpio_probe error paths
    android: make persistent_ram based drivers depend on HAVE_MEMBLOCK
    staging: iio: ak8975: Remove i2c client data corruption
    staging: drm/omap: move where DMM driver is registered
    staging: zsmalloc: fix memory leak
    Staging: rts_pstor: off by one in for loop
    staging: ozwpan: Added new maintainer for ozwpan
    staging:rts_pstor:Avoid "Bad target number" message when probing driver
    staging:rts_pstor:Fix possible panic by NULL pointer dereference
    Staging: vt6655-6: check keysize before memcpy()
    staging/media/as102: Don't call release_firmware() on uninitialized variable
    staging:iio:core add missing increment of loop index in iio_map_array_unregister()
    staging: ramster: unbreak my heart
    staging/vme: Fix module parameters
    staging: sep: Fix sign of error

    Linus Torvalds
     
  • If, in __persistent_ram_init(), the call to
    persistent_ram_buffer_init() fails or the call to
    persistent_ram_init_ecc() fails then we fail to free the memory we
    allocated to 'prz' with kzalloc() - thus leaking it.

    To prevent the leaks I consolidated all error exits from the function
    at a 'err:' label at the end and made all error cases jump to that
    label where we can then make sure we always free 'prz'. This is safe
    since all the situations where the code bails out happen before 'prz'
    has been stored anywhere and although we'll do a redundant kfree(NULL)
    call in the case of kzalloc() itself failing that's OK since kfree()
    deals gracefully with NULL pointers and I felt it was more important
    to keep all error exits at a single location than to avoid that one
    harmless/redundant kfree() on a error path.

    Signed-off-by: Jesper Juhl
    Acked-by: Colin Cross
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Jesper Juhl
     
  • If copy_to_user() fails in the WLAN_CMD_GET_NODE_LIST case of the
    switch in drivers/staging/vt6656/ioctl.c::private_ioctl() we'll leak
    the memory allocated to 'pNodeList'. Fix that by kfree'ing the memory
    in the failure case.
    Also remove a pointless cast (to type 'PSNodeList') of a kmalloc()
    return value - kmalloc() returns a void pointer that is implicitly
    converted, so there is no need for an explicit cast.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Greg Kroah-Hartman

    Jesper Juhl
     
  • Fix crash after issuing:
    echo hmc5843 0x1e > /sys/class/i2c-dev/i2c-2/device/new_device

    [ 37.180999] device: '2-001e': device_add
    [ 37.188293] bus: 'i2c': add device 2-001e
    [ 37.194549] PM: Adding info for i2c:2-001e
    [ 37.200958] bus: 'i2c': driver_probe_device: matched device 2-001e with driver hmc5843
    [ 37.210815] bus: 'i2c': really_probe: probing driver hmc5843 with device 2-001e
    [ 37.224884] HMC5843 initialized
    [ 37.228759] ------------[ cut here ]------------
    [ 37.233612] kernel BUG at mm/slab.c:505!
    [ 37.237701] Internal error: Oops - BUG: 0 [#1] PREEMPT
    [ 37.243103] Modules linked in:
    [ 37.246337] CPU: 0 Not tainted (3.3.1-gta04+ #28)
    [ 37.251647] PC is at kfree+0x84/0x144
    [ 37.255493] LR is at kfree+0x20/0x144
    [ 37.259338] pc : [] lr : [] psr: 40000093
    [ 37.259368] sp : de249cd8 ip : 0000000c fp : 00000090
    [ 37.271362] r10: 0000000a r9 : de229eac r8 : c0236274
    [ 37.276855] r7 : c09d6490 r6 : a0000013 r5 : de229c00 r4 : de229c10
    [ 37.283691] r3 : c0f00218 r2 : 00000400 r1 : c0eea000 r0 : c00b4028
    [ 37.290527] Flags: nZcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
    [ 37.298095] Control: 10c5387d Table: 9e1d0019 DAC: 00000015
    [ 37.304107] Process sh (pid: 91, stack limit = 0xde2482f0)
    [ 37.309844] Stack: (0xde249cd8 to 0xde24a000)
    [ 37.314422] 9cc0: de229c10 de229c00
    [ 37.322998] 9ce0: de229c10 ffffffea 00000005 c0236274 de140a80 c00b4798 dec00080 de140a80
    [ 37.331573] 9d00: c032f37c dec00080 000080d0 00000001 de229c00 de229c10 c048d578 00000005
    [ 37.340148] 9d20: de229eac 0000000a 00000090 c032fa40 00000001 00000000 00000001 de229c10
    [ 37.348724] 9d40: de229eac 00000029 c075b558 00000001 00000003 00000004 de229c10 c048d594
    [ 37.357299] 9d60: 00000000 60000013 00000018 205b0007 37332020 3432322e 5d343838 c0060020
    [ 37.365905] 9d80: de251600 00000001 00000000 de251600 00000001 c0065a84 de229c00 de229c48
    [ 37.374481] 9da0: 00000006 0048d62c de229c38 de229c00 de229c00 de1f6c00 de1f6c20 00000001
    [ 37.383056] 9dc0: 00000000 c048d62c 00000000 de229c00 de229c00 de1f6c00 de1f6c20 00000001
    [ 37.391632] 9de0: 00000000 c048d62c 00000000 c0330164 00000000 de1f6c20 c048d62c de1f6c00
    [ 37.400207] 9e00: c0330078 de1f6c04 c078d714 de189b58 00000000 c02ccfd8 de1f6c20 c0795f40
    [ 37.408782] 9e20: c0238330 00000000 00000000 c02381a8 de1b9fc0 de1f6c20 de1f6c20 de249e48
    [ 37.417358] 9e40: c0238330 c0236bb0 decdbed8 de7d0f14 de1f6c20 de1f6c20 de1f6c54 de1f6c20
    [ 37.425933] 9e60: 00000000 c0238030 de1f6c20 c078d7bc de1f6c20 c02377ec de1f6c20 de1f6c28
    [ 37.434509] 9e80: dee64cb0 c0236138 c047c554 de189b58 00000000 c004b45c de1f6c20 de1f6cd8
    [ 37.443084] 9ea0: c0edfa6c de1f6c00 dee64c68 de1f6c04 de1f6c20 dee64cb8 c047c554 de189b58
    [ 37.451690] 9ec0: 00000000 c02cd634 dee64c68 de249ef4 de23b008 dee64cb0 0000000d de23b000
    [ 37.460266] 9ee0: de23b007 c02cd78c 00000002 00000000 00000000 35636d68 00333438 00000000
    [ 37.468841] 9f00: 00000000 00000000 001e0000 00000000 00000000 00000000 00000000 0a10cec0
    [ 37.477416] 9f20: 00000002 de249f80 0000000d dee62990 de189b40 c0234d88 0000000d c010c354
    [ 37.485992] 9f40: 0000000d de210f28 000acc88 de249f80 0000000d de248000 00000000 c00b7bf8
    [ 37.494567] 9f60: de210f28 000acc88 de210f28 000acc88 00000000 00000000 0000000d c00b7ed8
    [ 37.503143] 9f80: 00000000 00000000 0000000d 00000000 0007fa28 0000000d 000acc88 00000004
    [ 37.511718] 9fa0: c000e544 c000e380 0007fa28 0000000d 00000001 000acc88 0000000d 00000000
    [ 37.520294] 9fc0: 0007fa28 0000000d 000acc88 00000004 00000001 00000020 00000002 00000000
    [ 37.528869] 9fe0: 00000000 beab8624 0000ea05 b6eaebac 600d0010 00000001 00000000 00000000
    [ 37.537475] [] (kfree+0x84/0x144) from [] (device_add+0x530/0x57c)
    [ 37.545806] [] (device_add+0x530/0x57c) from [] (iio_device_register+0x8c8/0x990)
    [ 37.555480] [] (iio_device_register+0x8c8/0x990) from [] (hmc5843_probe+0xec/0x114)
    [ 37.565338] [] (hmc5843_probe+0xec/0x114) from [] (i2c_device_probe+0xc4/0xf8)
    [ 37.574737] [] (i2c_device_probe+0xc4/0xf8) from [] (driver_probe_device+0x118/0x218)
    [ 37.584777] [] (driver_probe_device+0x118/0x218) from [] (bus_for_each_drv+0x4c/0x84)
    [ 37.594818] [] (bus_for_each_drv+0x4c/0x84) from [] (device_attach+0x78/0xa4)
    [ 37.604125] [] (device_attach+0x78/0xa4) from [] (bus_probe_device+0x28/0x9c)
    [ 37.613433] [] (bus_probe_device+0x28/0x9c) from [] (device_add+0x3f4/0x57c)
    [ 37.622650] [] (device_add+0x3f4/0x57c) from [] (i2c_new_device+0xf8/0x19c)
    [ 37.631805] [] (i2c_new_device+0xf8/0x19c) from [] (i2c_sysfs_new_device+0xb4/0x130)
    [ 37.641754] [] (i2c_sysfs_new_device+0xb4/0x130) from [] (dev_attr_store+0x18/0x24)
    [ 37.651611] [] (dev_attr_store+0x18/0x24) from [] (sysfs_write_file+0x10c/0x140)
    [ 37.661193] [] (sysfs_write_file+0x10c/0x140) from [] (vfs_write+0xb0/0x178)
    [ 37.670410] [] (vfs_write+0xb0/0x178) from [] (sys_write+0x3c/0x68)
    [ 37.678833] [] (sys_write+0x3c/0x68) from [] (ret_fast_syscall+0x0/0x3c)
    [ 37.687683] Code: 1593301c e5932000 e3120080 1a000000 (e7f001f2)
    [ 37.700775] ---[ end trace aaf805debdb69390 ]---

    Client data was assigned to iio_dev structure in probe but in
    hmc5843_init_client function casted to private driver data structure which
    is wrong. Possibly calling mutex_init(&data->lock); corrupt data
    which the lead to above crash.

    Signed-off-by: Marek Belisko
    Cc: stable
    Acked-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Marek BElisko
     

11 Apr, 2012

16 commits


10 Apr, 2012

1 commit

  • The task handoff notifier leaks task_struct since it never gets freed
    after the callback returns NOTIFY_OK, which means it is responsible for
    doing so.

    It turns out the lowmemorykiller actually doesn't need this notifier at
    all. It's used to prevent unnecessary killing by waiting for a thread
    to exit as a result of lowmem_shrink(), however, it's possible to do
    this in the same way the kernel oom killer works by setting TIF_MEMDIE
    and avoid killing if we're still waiting for it to exit.

    The kernel oom killer will already automatically set TIF_MEMDIE for
    threads that are attempting to allocate memory that have a fatal signal.
    The thread selected by lowmem_shrink() will have such a signal after the
    lowmemorykiller sends it a SIGKILL, so this won't result in an
    unnecessary use of memory reserves for the thread to exit.

    This has the added benefit that we don't have to rely on
    CONFIG_PROFILING to prevent needlessly killing tasks.

    Reported-by: Werner Landgraf
    Cc: stable@vger.kernel.org
    Signed-off-by: David Rientjes
    Acked-by: Colin Cross
    Signed-off-by: Linus Torvalds

    David Rientjes
     

31 Mar, 2012

1 commit

  • Usage of /etc/modprobe.conf file was deprecated by module-init-tools and
    is no longer parsed by new kmod tool. References to this file are
    replaced in Documentation, comments and Kconfig according to the
    context.

    There are also some references to the old /etc/modules.conf from 2.4
    kernels that are being removed.

    Signed-off-by: Lucas De Marchi
    Acked-by: Takashi Iwai
    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Lucas De Marchi
     

30 Mar, 2012

1 commit

  • Pull x32 support for x86-64 from Ingo Molnar:
    "This tree introduces the X32 binary format and execution mode for x86:
    32-bit data space binaries using 64-bit instructions and 64-bit kernel
    syscalls.

    This allows applications whose working set fits into a 32 bits address
    space to make use of 64-bit instructions while using a 32-bit address
    space with shorter pointers, more compressed data structures, etc."

    Fix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}

    * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    x32: Fix alignment fail in struct compat_siginfo
    x32: Fix stupid ia32/x32 inversion in the siginfo format
    x32: Add ptrace for x32
    x32: Switch to a 64-bit clock_t
    x32: Provide separate is_ia32_task() and is_x32_task() predicates
    x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls
    x86/x32: Fix the binutils auto-detect
    x32: Warn and disable rather than error if binutils too old
    x32: Only clear TIF_X32 flag once
    x32: Make sure TS_COMPAT is cleared for x32 tasks
    fs: Remove missed ->fds_bits from cessation use of fd_set structs internally
    fs: Fix close_on_exec pointer in alloc_fdtable
    x32: Drop non-__vdso weak symbols from the x32 VDSO
    x32: Fix coding style violations in the x32 VDSO code
    x32: Add x32 VDSO support
    x32: Allow x32 to be configured
    x32: If configured, add x32 system calls to system call tables
    x32: Handle process creation
    x32: Signal-related system calls
    x86: Add #ifdef CONFIG_COMPAT to
    ...

    Linus Torvalds
     

29 Mar, 2012

5 commits

  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:
    - Removal of the Documentation/watchdog/00-INDEX file
    - Fix boot status reporting for imx2_wdt
    - clean-up sp805_wdt, pnx4008_wdt and mpcore_wdt
    - convert printk in watchdog drivers to pr_ functions
    - change nowayout module parameter to bool for every watchdog device
    - conversion of jz4740_wdt, pnx4008_wdt, max63xx_wdt, softdog,
    ep93xx_wdt, coh901327 and txx9wdt to new watchdog API
    - Add support for the WDIOC_GETTIMELEFT ioctl call to the new watchdog
    API
    - Change the new watchdog API so that the driver updates the timeout
    value
    - two fixes for the xen_wdt driver

    Fix up conflicts in ep93xx driver due to the same patches being merged
    through separate branches.

    * git://www.linux-watchdog.org/linux-watchdog: (33 commits)
    watchdog: txx9wdt: fix timeout
    watchdog: Convert txx9wdt driver to watchdog framework
    watchdog: coh901327_wdt.c: fix timeout
    watchdog: coh901327: convert to use watchdog core
    watchdog: Add support for WDIOC_GETTIMELEFT IOCTL in watchdog core
    watchdog: ep93xx_wdt: timeout is an unsigned int value.
    watchdog: ep93xx_wdt: Fix timeout after conversion to watchdog core
    watchdog: Convert ep93xx driver to watchdog core
    watchdog: sp805: Use devm routines
    watchdog: sp805: replace readl/writel with lighter _relaxed variants
    watchdog: sp805: Fix documentation style comment
    watchdog: mpcore_wdt: Allow platform_get_irq() to fail
    watchdog: mpcore_wdt: Use devm routines
    watchdog: mpcore_wdt: Rename dev to pdev for pointing to struct platform_device
    watchdog: xen: don't clear is_active when xen_wdt_stop() failed
    watchdog: xen: don't unconditionally enable the watchdog during resume
    watchdog: fix compiler error for missing parenthesis
    watchdog: ep93xx_wdt.c: fix platform probe
    watchdog: ep93xx: Convert the watchdog driver into a platform device.
    watchdog: fix set_timeout operations
    ...

    Linus Torvalds
     
  • Pull "ARM: More device tree support updates" from Olof Johansson:
    "This branch contains a number of updates for device tree support on
    several ARM platforms, in particular:

    * AT91 continues the device tree conversion adding support for a
    number of on-chip drivers and other functionality
    * ux500 adds probing of some of the core SoC blocks through device
    tree
    * Initial device tree support for ST SPEAr600 platforms
    * kirkwood continues the conversion to device-tree probing"

    Manually merge arch/arm/mach-ux500/Kconfig due to MACH_U8500 rename, and
    drivers/usb/gadget/at91_udc.c due to header file include cleanups.

    Also do an "evil merge" for the MACH_U8500 config option rename that the
    affected RMI4 touchscreen driver in staging. It's called MACH_MOP500
    now, and it was missed during previous merges.

    * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    ARM: SPEAr600: Add device-tree support to SPEAr600 boards
    ARM: ux500: Provide local timer support for Device Tree
    ARM: ux500: Enable PL022 SSP Controller in Device Tree
    ARM: ux500: Enable PL310 Level 2 Cache Controller in Device Tree
    ARM: ux500: Enable PL011 AMBA UART Controller for Device Tree
    ARM: ux500: Enable Cortex-A9 GIC (Generic Interrupt Controller) in Device Tree
    ARM: ux500: db8500: list most devices in the snowball device tree
    ARM: ux500: split dts file for snowball into generic part
    ARM: ux500: combine the board init functions for DT boot
    ARM: ux500: Initial Device Tree support for Snowball
    ARM: ux500: CONFIG: Enable Device Tree support for future endeavours
    ARM: kirkwood: use devicetree for rtc-mv
    ARM: kirkwood: rtc-mv devicetree bindings
    ARM: kirkwood: fdt: define uart[01] as disabled, enable uart0
    ARM: kirkwood: fdt: facilitate new boards during fdt migration
    ARM: kirkwood: fdt: absorb kirkwood_init()
    ARM: kirkwood: fdt: use mrvl ticker symbol
    ARM: orion: wdt: use resource vice direct access
    ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data.
    ARM: orion: spi: remove enable_clock_fix which is not used
    ...

    Linus Torvalds
     
  • Remove all #inclusions of asm/system.h preparatory to splitting and killing
    it. Performed with the following command:

    perl -p -i -e 's!^#\s*include\s*.*\n!!' `grep -Irl '^#\s*include\s*' *`

    Signed-off-by: David Howells

    David Howells
     
  • asm/system.h is a cause of circular dependency problems because it contains
    commonly used primitive stuff like barrier definitions and uncommonly used
    stuff like switch_to() that might require MMU definitions.

    asm/system.h has been disintegrated by this point on all arches into the
    following common segments:

    (1) asm/barrier.h

    Moved memory barrier definitions here.

    (2) asm/cmpxchg.h

    Moved xchg() and cmpxchg() here. #included in asm/atomic.h.

    (3) asm/bug.h

    Moved die() and similar here.

    (4) asm/exec.h

    Moved arch_align_stack() here.

    (5) asm/elf.h

    Moved AT_VECTOR_SIZE_ARCH here.

    (6) asm/switch_to.h

    Moved switch_to() here.

    Signed-off-by: David Howells

    David Howells
     

28 Mar, 2012

1 commit


25 Mar, 2012

2 commits

  • Pull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:
    "Fix up files in fs/ and lib/ dirs to only use module.h if they really
    need it.

    These are trivial in scope vs the work done previously. We now have
    things where any few remaining cleanups can be farmed out to arch or
    subsystem maintainers, and I have done so when possible. What is
    remaining here represents the bits that don't clearly lie within a
    single arch/subsystem boundary, like the fs dir and the lib dir.

    Some duplicate includes arising from overlapping fixes from
    independent subsystem maintainer submissions are also quashed."

    Fix up trivial conflicts due to clashes with other include file cleanups
    (including some due to the previous bug.h cleanup pull).

    * tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    lib: reduce the use of module.h wherever possible
    fs: reduce the use of module.h wherever possible
    includecheck: delete any duplicate instances of module.h

    Linus Torvalds
     
  • Pull cleanup from Paul Gortmaker:
    "The changes shown here are to unify linux's BUG support under the one
    file. Due to historical reasons, we have some BUG code
    in bug.h and some in kernel.h -- i.e. the support for BUILD_BUG in
    linux/kernel.h predates the addition of linux/bug.h, but old code in
    kernel.h wasn't moved to bug.h at that time. As a band-aid, kernel.h
    was including to pseudo link them.

    This has caused confusion[1] and general yuck/WTF[2] reactions. Here
    is an example that violates the principle of least surprise:

    CC lib/string.o
    lib/string.c: In function 'strlcat':
    lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
    make[2]: *** [lib/string.o] Error 1
    $
    $ grep linux/bug.h lib/string.c
    #include
    $

    We've included for the BUG infrastructure and yet we
    still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
    very confusing for someone who is new to kernel development.

    With the above in mind, the goals of this changeset are:

    1) find and fix any include/*.h files that were relying on the
    implicit presence of BUG code.
    2) find and fix any C files that were consuming kernel.h and hence
    relying on implicitly getting some/all BUG code.
    3) Move the BUG related code living in kernel.h to
    4) remove the asm/bug.h from kernel.h to finally break the chain.

    During development, the order was more like 3-4, build-test, 1-2. But
    to ensure that git history for bisect doesn't get needless build
    failures introduced, the commits have been reorderd to fix the problem
    areas in advance.

    [1] https://lkml.org/lkml/2012/1/3/90
    [2] https://lkml.org/lkml/2012/1/17/414"

    Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
    and linux-next.

    * tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    kernel.h: doesn't explicitly use bug.h, so don't include it.
    bug: consolidate BUILD_BUG_ON with other bug code
    BUG: headers with BUG/BUG_ON etc. need linux/bug.h
    bug.h: add include of it to various implicit C users
    lib: fix implicit users of kernel.h for TAINT_WARN
    spinlock: macroize assert_spin_locked to avoid bug.h dependency
    x86: relocate get/set debugreg fcns to include/asm/debugreg.

    Linus Torvalds
     

24 Mar, 2012

4 commits

  • Merge second batch of patches from Andrew Morton:
    - various misc things
    - core kernel changes to prctl, exit, exec, init, etc.
    - kernel/watchdog.c updates
    - get_maintainer
    - MAINTAINERS
    - the backlight driver queue
    - core bitops code cleanups
    - the led driver queue
    - some core prio_tree work
    - checkpatch udpates
    - largeish crc32 update
    - a new poll() feature for the v4l guys
    - the rtc driver queue
    - fatfs
    - ptrace
    - signals
    - kmod/usermodehelper updates
    - coredump
    - procfs updates

    * emailed from Andrew Morton : (141 commits)
    seq_file: add seq_set_overflow(), seq_overflow()
    proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().
    procfs: speed up /proc/pid/stat, statm
    procfs: add num_to_str() to speed up /proc/stat
    proc: speed up /proc/stat handling
    fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static
    coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP
    coredump: remove VM_ALWAYSDUMP flag
    kmod: make __request_module() killable
    kmod: introduce call_modprobe() helper
    usermodehelper: ____call_usermodehelper() doesn't need do_exit()
    usermodehelper: kill umh_wait, renumber UMH_* constants
    usermodehelper: implement UMH_KILLABLE
    usermodehelper: introduce umh_complete(sub_info)
    usermodehelper: use UMH_WAIT_PROC consistently
    signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/
    signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()
    signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths
    signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE
    Hexagon: use set_current_blocked() and block_sigmask()
    ...

    Linus Torvalds
     
  • A few call_usermodehelper() callers use the hardcoded constant instead of
    the proper UMH_WAIT_PROC, fix them.

    Reported-by: Tetsuo Handa
    Signed-off-by: Oleg Nesterov
    Cc: Lars Ellenberg
    Cc: Greg Kroah-Hartman
    Cc: Michal Januszewski
    Cc: Florian Tobias Schandinat
    Cc: Kentaro Takeda
    Cc: Tetsuo Handa
    Cc: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • In the statement

    j->caplist[j->caps].handle = j->caps++;

    there is no sequence point between the usage of j->caps on the LHS of
    the assignment and the incrementation on its RHS. So it's not defined
    in Standard C if j->caps is already incremented when used on the LHS
    even though the postfix ++ operator is used. To properly fix that the
    incrementation has to be done in a separate expression.

    This fixes:
    drivers/telephony/ixj.c: In function `add_caps':
    drivers/telephony/ixj.c:5930:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5950:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5954:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5965:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5976:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5988:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:5998:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6003:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6008:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6013:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6019:38: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6026:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6031:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6036:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6041:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6049:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6057:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6065:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]
    drivers/telephony/ixj.c:6071:39: warning: operation on `j->caps' may be undefined [-Wsequence-point]

    Signed-off-by: Uwe Kleine-König
    Cc: Lucas De Marchi
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     
  • Pull media updates from Mauro Carvalho Chehab:
    - V4L2 API additions to better support JPEG compression control
    - media API additions to properly support MPEG decoders
    - V4L2 API additions for image crop/scaling
    - a few other V4L2 API DocBook fixes/improvements
    - two new DVB frontend drivers: m88rs2000 and rtl2830
    - two new DVB drivers: az6007 and rtl28xxu
    - a framework for ISA drivers, that removed lots of common code found
    at the ISA radio drivers
    - a new FM transmitter driver (radio-keene)
    - a GPIO-based IR receiver driver
    - a new sensor driver: mt9m032
    - some new video drivers: adv7183, blackfin, mx2_emmaprp, sii9234_drv,
    vs6624
    - several new board additions, driver fixes, improvements and cleanups.

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (295 commits)
    [media] update CARDLIST.em28xx
    [media] partially reverts changeset fa5527c
    [media] stb0899: fix the limits for signal strength values
    [media] em28xx: support for 2304:0242 PCTV QuatroStick (510e)
    [media] em28xx: support for 2013:0251 PCTV QuatroStick nano (520e)
    [media] -EINVAL -> -ENOTTY
    [media] gspca - sn9c20x: Cleanup source
    [media] gspca - sn9c20x: Simplify register write for capture start/stop
    [media] gspca - sn9c20x: Add automatic JPEG compression mechanism
    [media] gspca - sn9c20x: Greater delay in case of sensor no response
    [media] gspca - sn9c20x: Optimize the code of write sequences
    [media] gspca - sn9c20x: Add the JPEG compression quality control
    [media] gspca - sn9c20x: Add a delay after Omnivision sensor reset
    [media] gspca - sn9c20x: Propagate USB errors to higher level
    [media] gspca - sn9c20x: Use the new video control mechanism
    [media] gspca - sn9c20x: Fix loss of frame start
    [media] gspca - zc3xx: Lack of register 08 value for sensor cs2102k
    [media] gspca - ov534_9: Add brightness to OmniVision 5621 sensor
    [media] gspca - zc3xx: Add V4L2_CID_JPEG_COMPRESSION_QUALITY control support
    [media] pvrusb2: fix 7MHz & 8MHz DVB-T tuner support for HVR1900 rev D1F5
    ...

    Linus Torvalds
     

23 Mar, 2012

1 commit

  • Pull cleancache changes from Konrad Rzeszutek Wilk:
    "This has some patches for the cleancache API that should have been
    submitted a _long_ time ago. They are basically cleanups:

    - rename of flush to invalidate

    - moving reporting of statistics into debugfs

    - use __read_mostly as necessary.

    Oh, and also the MAINTAINERS file change. The files (except the
    MAINTAINERS file) have been in #linux-next for months now. The late
    addition of MAINTAINERS file is a brain-fart on my side - didn't
    realize I needed that just until I was typing this up - and I based
    that patch on v3.3 - so the tree is on top of v3.3."

    * tag 'stable/for-linus-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:
    MAINTAINERS: Adding cleancache API to the list.
    mm: cleancache: Use __read_mostly as appropiate.
    mm: cleancache: report statistics via debugfs instead of sysfs.
    mm: zcache/tmem/cleancache: s/flush/invalidate/
    mm: cleancache: s/flush/invalidate/

    Linus Torvalds