13 Oct, 2012

1 commit

  • Pull ACPI & Thermal updates from Len Brown:
    "The generic Linux thermal layer is gaining some new capabilities
    (generic cooling via cpufreq) and some new customers (ARM).

    Also, an ACPI EC bug fix plus a regression fix."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (30 commits)
    tools/power/acpi/acpidump: remove duplicated include from acpidump.c
    ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
    cpuidle / ACPI: fix potential NULL pointer dereference
    ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop
    ACPI: EC: Make the GPE storm threshold a module parameter
    thermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal()
    Thermal: Fix bug on cpu_cooling, cooling device's id conflict problem.
    thermal: exynos: Use devm_* functions
    ARM: exynos: add thermal sensor driver platform data support
    thermal: exynos: register the tmu sensor with the kernel thermal layer
    thermal: exynos5: add exynos5250 thermal sensor driver support
    hwmon: exynos4: move thermal sensor driver to driver/thermal directory
    thermal: add generic cpufreq cooling implementation
    Fix a build error.
    thermal: Fix potential NULL pointer accesses
    thermal: add Renesas R-Car thermal sensor support
    thermal: fix potential out-of-bounds memory access
    Thermal: Introduce locking for cdev.thermal_instances list.
    Thermal: Unify the code for both active and passive cooling
    Thermal: Introduce simple arbitrator for setting device cooling state
    ...

    Linus Torvalds
     

12 Oct, 2012

1 commit

  • Pull fbdev updates from Florian Tobias Schandinat:
    "This includes:
    - large updates for OMAP
    - basic OMAP5 DSS support for DPI and DSI outputs
    - large cleanups and restructuring
    - some update to Exynos and da8xx-fb
    - removal of the pnx4008 driver (arch removed)
    - various other small patches"

    Fix up some trivial conflicts (mostly just include line changes, but
    also some due to the renaming of the deferred work functions by Tejun).

    * tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6: (193 commits)
    gbefb: fix compile error
    video: mark nuc900fb_map_video_memory as __devinit
    video/mx3fb: set .owner to prevent module unloading while being used
    video: exynos_dp: use clk_prepare_enable and clk_disable_unprepare
    drivers/video/exynos/exynos_mipi_dsi.c: fix error return code
    drivers/video/savage/savagefb_driver.c: fix error return code
    video: s3c-fb: use clk_prepare_enable and clk_disable_unprepare
    da8xx-fb: save and restore LCDC context across suspend/resume cycle
    da8xx-fb: add pm_runtime support
    video/udlfb: fix line counting in fb_write
    OMAPDSS: add missing include for string.h
    OMAPDSS: DISPC: Configure color conversion coefficients for writeback
    OMAPDSS: DISPC: Add manager like functions for writeback
    OMAPDSS: DISPC: Configure writeback FIFOs
    OMAPDSS: DISPC: Configure writeback specific parameters in dispc_wb_setup()
    OMAPDSS: DISPC: Configure overlay-like parameters in dispc_wb_setup
    OMAPDSS: DISPC: Add function to set channel in for writeback
    OMAPDSS: DISPC: Don't set chroma resampling bit for writeback
    OMAPDSS: DISPC: Downscale chroma if plane is writeback
    OMAPDSS: DISPC: Configure input and output sizes for writeback
    ...

    Linus Torvalds
     

09 Oct, 2012

4 commits

  • A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
    currently it lost original meaning but still has some effects:

    | effect | alternative flags
    -+------------------------+---------------------------------------------
    1| account as reserved_vm | VM_IO
    2| skip in core dump | VM_IO, VM_DONTDUMP
    3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
    4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

    This patch removes reserved_vm counter from mm_struct. Seems like nobody
    cares about it, it does not exported into userspace directly, it only
    reduces total_vm showed in proc.

    Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.

    remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
    remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.

    [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
    Signed-off-by: Konstantin Khlebnikov
    Cc: Alexander Viro
    Cc: Carsten Otte
    Cc: Chris Metcalf
    Cc: Cyrill Gorcunov
    Cc: Eric Paris
    Cc: H. Peter Anvin
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Jason Baron
    Cc: Kentaro Takeda
    Cc: Matt Helsley
    Cc: Nick Piggin
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Suresh Siddha
    Cc: Tetsuo Handa
    Cc: Venkatesh Pallipadi
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • Move actual pte filling for non-linear file mappings into the new special
    vma operation: ->remap_pages().

    Filesystems must implement this method to get non-linear mapping support,
    if it uses filemap_fault() then generic_file_remap_pages() can be used.

    Now device drivers can implement this method and obtain nonlinear vma support.

    Signed-off-by: Konstantin Khlebnikov
    Cc: Alexander Viro
    Cc: Carsten Otte
    Cc: Chris Metcalf #arch/tile
    Cc: Cyrill Gorcunov
    Cc: Eric Paris
    Cc: H. Peter Anvin
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Jason Baron
    Cc: Kentaro Takeda
    Cc: Matt Helsley
    Cc: Nick Piggin
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Suresh Siddha
    Cc: Tetsuo Handa
    Cc: Venkatesh Pallipadi
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • Len Brown
     
  • Conflicts:
    drivers/staging/omap-thermal/omap-thermal-common.
    OMAP supplied dummy TC1 and TC2,
    at the same time that the thermal tree removed them
    from thermal_zone_device_register()

    drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
    propogate the upstream MAX_IDR_LEVEL re-name
    to prevent a build failure

    Previously-fixed-by: Stephen Rothwell

    Signed-off-by: Len Brown

    Len Brown
     

07 Oct, 2012

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    "The first part of the media updates for Kernel 3.7.

    This series contain:

    - A major tree renaming patch series: now, drivers are organized
    internally by their used bus, instead of by V4L2 and/or DVB API,
    providing a cleaner driver location for hybrid drivers that
    implement both APIs, and allowing to cleanup the Kconfig items and
    make them more intuitive for the end user;

    - Media Kernel developers are typically very lazy with their duties
    of keeping the MAINTAINERS entries for their drivers updated. As
    now the tree is more organized, we're doing an effort to add/update
    those entries for the drivers that aren't currently orphan;

    - Several DVB USB drivers got moved to a new DVB USB v2 core; the new
    core fixes several bugs (as the existing one that got bitroted).
    Now, suspend/resume finally started to work fine (at least with
    some devices - we should expect more work with regards to it);

    - added multistream support for DVB-T2, and unified the API for
    DVB-S2 and ISDB-S. Backward binary support is preserved;

    - as usual, a few new drivers, some V4L2 core improvements and lots
    of drivers improvements and fixes.

    There are some points to notice on this series:

    1) you should expect a trivial merge conflict on your tree, with the
    removal of Documentation/feature-removal-schedule.txt: this series
    would be adding two additional entries there. I opted to not
    rebase it due to this recent change;

    2) With regards to the PCTV 520e udev-related breakage, I opted to
    fix it in a way that the patches can be backported to 3.5 even
    without your firmware fix patch. This way, Greg doesn't need to
    rush backporting your patch (as there are still the firmware cache
    and firmware path customization issues to be addressed there).

    I'll send later a patch (likely after the end of the merge window)
    reverting the rest of the DRX-K async firmware request, fully
    restoring its original behaviour to allow media drivers to
    initialize everything serialized as before for 3.7 and upper.

    3) I'm planning to work on this weekend to test the DMABUF patches
    for V4L2. The patches are on my queue for several Kernel cycles,
    but, up to now, there is/was no way to test the series locally.

    I have some concerns about this particular changeset with regards
    to security issues, and with regards to the replacement of the old
    VIDIOC_OVERLAY ioctl's that is broken on modern systems, due to
    GPU drivers change. The Overlay API allows direct PCI2PCI
    transfers from a media capture card into the GPU framebuffer, but
    its API is crappy. Also, the only existing X11 driver that
    implements it requires a XV extension that is not available
    anymore on modern drivers. The DMABUF can do the same thing, but
    with it is promising to be a properly-designed API. If I can
    successfully test this series and be happy with it, I should be
    asking you to pull them next week."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (717 commits)
    em28xx: regression fix: use DRX-K sync firmware requests on em28xx
    drxk: allow loading firmware synchrousnously
    em28xx: Make all em28xx extensions to be initialized asynchronously
    [media] tda18271: properly report read errors in tda18271_get_id
    [media] tda18271: delay IR & RF calibration until init() if delay_cal is set
    [media] MAINTAINERS: add Michael Krufky as tda827x maintainer
    [media] MAINTAINERS: add Michael Krufky as tda8290 maintainer
    [media] MAINTAINERS: add Michael Krufky as cxusb maintainer
    [media] MAINTAINERS: add Michael Krufky as lg2160 maintainer
    [media] MAINTAINERS: add Michael Krufky as lgdt3305 maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl111sf maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl5007t maintainer
    [media] MAINTAINERS: add Michael Krufky as tda18271 maintainer
    [media] s5p-tv: Report only multi-plane capabilities in vidioc_querycap
    [media] s5p-mfc: Fix misplaced return statement in s5p_mfc_suspend()
    [media] exynos-gsc: Add missing static storage class specifiers
    [media] exynos-gsc: Remove header file inclusion
    [media] s5p-fimc: Fix incorrect condition in fimc_lite_reqbufs()
    [media] s5p-tv: Fix potential NULL pointer dereference error
    [media] s5k6aa: Fix possible NULL pointer dereference
    ...

    Linus Torvalds
     

04 Oct, 2012

2 commits

  • Pull drm merge (part 1) from Dave Airlie:
    "So first of all my tree and uapi stuff has a conflict mess, its my
    fault as the nouveau stuff didn't hit -next as were trying to rebase
    regressions out of it before we merged.

    Highlights:
    - SH mobile modesetting driver and associated helpers
    - some DRM core documentation
    - i915 modesetting rework, haswell hdmi, haswell and vlv fixes, write
    combined pte writing, ilk rc6 support,
    - nouveau: major driver rework into a hw core driver, makes features
    like SLI a lot saner to implement,
    - psb: add eDP/DP support for Cedarview
    - radeon: 2 layer page tables, async VM pte updates, better PLL
    selection for > 2 screens, better ACPI interactions

    The rest is general grab bag of fixes.

    So why part 1? well I have the exynos pull req which came in a bit
    late but was waiting for me to do something they shouldn't have and it
    looks fairly safe, and David Howells has some more header cleanups
    he'd like me to pull, that seem like a good idea, but I'd like to get
    this merge out of the way so -next dosen't get blocked."

    Tons of conflicts mostly due to silly include line changes, but mostly
    mindless. A few other small semantic conflicts too, noted from Dave's
    pre-merged branch.

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (447 commits)
    drm/nv98/crypt: fix fuc build with latest envyas
    drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering
    drm/nv41/vm: fix and enable use of "real" pciegart
    drm/nv44/vm: fix and enable use of "real" pciegart
    drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie
    drm/nouveau: store supported dma mask in vmmgr
    drm/nvc0/ibus: initial implementation of subdev
    drm/nouveau/therm: add support for fan-control modes
    drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules
    drm/nouveau/therm: calculate the pwm divisor on nv50+
    drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster
    drm/nouveau/therm: move thermal-related functions to the therm subdev
    drm/nouveau/bios: parse the pwm divisor from the perf table
    drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices
    drm/nouveau/therm: rework thermal table parsing
    drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table
    drm/nouveau: fix pm initialization order
    drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it
    drm/nouveau: log channel debug/error messages from client object rather than drm client
    drm/nouveau: have drm debugging macros build on top of core macros
    ...

    Linus Torvalds
     
  • Explicitly test for GLOBAL_ROOT_UID and GLOBAL_ROOT_GID
    instead of using 0, allowing dgrp to compile and work
    properly when user namespace support is enabled.

    Cc: Bill Pemberton
    Cc: Greg Kroah-Hartman
    Signed-off-by: "Eric W. Biederman"

    Eric W. Biederman
     

03 Oct, 2012

4 commits

  • Pull vfs update from Al Viro:

    - big one - consolidation of descriptor-related logics; almost all of
    that is moved to fs/file.c

    (BTW, I'm seriously tempted to rename the result to fd.c. As it is,
    we have a situation when file_table.c is about handling of struct
    file and file.c is about handling of descriptor tables; the reasons
    are historical - file_table.c used to be about a static array of
    struct file we used to have way back).

    A lot of stray ends got cleaned up and converted to saner primitives,
    disgusting mess in android/binder.c is still disgusting, but at least
    doesn't poke so much in descriptor table guts anymore. A bunch of
    relatively minor races got fixed in process, plus an ext4 struct file
    leak.

    - related thing - fget_light() partially unuglified; see fdget() in
    there (and yes, it generates the code as good as we used to have).

    - also related - bits of Cyrill's procfs stuff that got entangled into
    that work; _not_ all of it, just the initial move to fs/proc/fd.c and
    switch of fdinfo to seq_file.

    - Alex's fs/coredump.c spiltoff - the same story, had been easier to
    take that commit than mess with conflicts. The rest is a separate
    pile, this was just a mechanical code movement.

    - a few misc patches all over the place. Not all for this cycle,
    there'll be more (and quite a few currently sit in akpm's tree)."

    Fix up trivial conflicts in the android binder driver, and some fairly
    simple conflicts due to two different changes to the sock_alloc_file()
    interface ("take descriptor handling from sock_alloc_file() to callers"
    vs "net: Providing protocol type via system.sockprotoname xattr of
    /proc/PID/fd entries" adding a dentry name to the socket)

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (72 commits)
    MAX_LFS_FILESIZE should be a loff_t
    compat: fs: Generic compat_sys_sendfile implementation
    fs: push rcu_barrier() from deactivate_locked_super() to filesystems
    btrfs: reada_extent doesn't need kref for refcount
    coredump: move core dump functionality into its own file
    coredump: prevent double-free on an error path in core dumper
    usb/gadget: fix misannotations
    fcntl: fix misannotations
    ceph: don't abuse d_delete() on failure exits
    hypfs: ->d_parent is never NULL or negative
    vfs: delete surplus inode NULL check
    switch simple cases of fget_light to fdget
    new helpers: fdget()/fdput()
    switch o2hb_region_dev_write() to fget_light()
    proc_map_files_readdir(): don't bother with grabbing files
    make get_file() return its argument
    vhost_set_vring(): turn pollstart/pollstop into bool
    switch prctl_set_mm_exe_file() to fget_light()
    switch xfs_find_handle() to fget_light()
    switch xfs_swapext() to fget_light()
    ...

    Linus Torvalds
     
  • Pull networking changes from David Miller:

    1) GRE now works over ipv6, from Dmitry Kozlov.

    2) Make SCTP more network namespace aware, from Eric Biederman.

    3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.

    4) Make openvswitch network namespace aware, from Pravin B Shelar.

    5) IPV6 NAT implementation, from Patrick McHardy.

    6) Server side support for TCP Fast Open, from Jerry Chu and others.

    7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel
    Borkmann.

    8) Increate the loopback default MTU to 64K, from Eric Dumazet.

    9) Use a per-task rather than per-socket page fragment allocator for
    outgoing networking traffic. This benefits processes that have very
    many mostly idle sockets, which is quite common.

    From Eric Dumazet.

    10) Use up to 32K for page fragment allocations, with fallbacks to
    smaller sizes when higher order page allocations fail. Benefits are
    a) less segments for driver to process b) less calls to page
    allocator c) less waste of space.

    From Eric Dumazet.

    11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.

    12) VXLAN device driver, one way to handle VLAN issues such as the
    limitation of 4096 VLAN IDs yet still have some level of isolation.
    From Stephen Hemminger.

    13) As usual there is a large boatload of driver changes, with the scale
    perhaps tilted towards the wireless side this time around.

    Fix up various fairly trivial conflicts, mostly caused by the user
    namespace changes.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)
    hyperv: Add buffer for extended info after the RNDIS response message.
    hyperv: Report actual status in receive completion packet
    hyperv: Remove extra allocated space for recv_pkt_list elements
    hyperv: Fix page buffer handling in rndis_filter_send_request()
    hyperv: Fix the missing return value in rndis_filter_set_packet_filter()
    hyperv: Fix the max_xfer_size in RNDIS initialization
    vxlan: put UDP socket in correct namespace
    vxlan: Depend on CONFIG_INET
    sfc: Fix the reported priorities of different filter types
    sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP
    sfc: Fix loopback self-test with separate_tx_channels=1
    sfc: Fix MCDI structure field lookup
    sfc: Add parentheses around use of bitfield macro arguments
    sfc: Fix null function pointer in efx_sriov_channel_type
    vxlan: virtual extensible lan
    igmp: export symbol ip_mc_leave_group
    netlink: add attributes to fdb interface
    tg3: unconditionally select HWMON support when tg3 is enabled.
    Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"
    gre: fix sparse warning
    ...

    Linus Torvalds
     
  • Pull user namespace changes from Eric Biederman:
    "This is a mostly modest set of changes to enable basic user namespace
    support. This allows the code to code to compile with user namespaces
    enabled and removes the assumption there is only the initial user
    namespace. Everything is converted except for the most complex of the
    filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,
    nfs, ocfs2 and xfs as those patches need a bit more review.

    The strategy is to push kuid_t and kgid_t values are far down into
    subsystems and filesystems as reasonable. Leaving the make_kuid and
    from_kuid operations to happen at the edge of userspace, as the values
    come off the disk, and as the values come in from the network.
    Letting compile type incompatible compile errors (present when user
    namespaces are enabled) guide me to find the issues.

    The most tricky areas have been the places where we had an implicit
    union of uid and gid values and were storing them in an unsigned int.
    Those places were converted into explicit unions. I made certain to
    handle those places with simple trivial patches.

    Out of that work I discovered we have generic interfaces for storing
    quota by projid. I had never heard of the project identifiers before.
    Adding full user namespace support for project identifiers accounts
    for most of the code size growth in my git tree.

    Ultimately there will be work to relax privlige checks from
    "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing
    root in a user names to do those things that today we only forbid to
    non-root users because it will confuse suid root applications.

    While I was pushing kuid_t and kgid_t changes deep into the audit code
    I made a few other cleanups. I capitalized on the fact we process
    netlink messages in the context of the message sender. I removed
    usage of NETLINK_CRED, and started directly using current->tty.

    Some of these patches have also made it into maintainer trees, with no
    problems from identical code from different trees showing up in
    linux-next.

    After reading through all of this code I feel like I might be able to
    win a game of kernel trivial pursuit."

    Fix up some fairly trivial conflicts in netfilter uid/git logging code.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)
    userns: Convert the ufs filesystem to use kuid/kgid where appropriate
    userns: Convert the udf filesystem to use kuid/kgid where appropriate
    userns: Convert ubifs to use kuid/kgid
    userns: Convert squashfs to use kuid/kgid where appropriate
    userns: Convert reiserfs to use kuid and kgid where appropriate
    userns: Convert jfs to use kuid/kgid where appropriate
    userns: Convert jffs2 to use kuid and kgid where appropriate
    userns: Convert hpfs to use kuid and kgid where appropriate
    userns: Convert btrfs to use kuid/kgid where appropriate
    userns: Convert bfs to use kuid/kgid where appropriate
    userns: Convert affs to use kuid/kgid wherwe appropriate
    userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids
    userns: On ia64 deal with current_uid and current_gid being kuid and kgid
    userns: On ppc convert current_uid from a kuid before printing.
    userns: Convert s390 getting uid and gid system calls to use kuid and kgid
    userns: Convert s390 hypfs to use kuid and kgid where appropriate
    userns: Convert binder ipc to use kuids
    userns: Teach security_path_chown to take kuids and kgids
    userns: Add user namespace support to IMA
    userns: Convert EVM to deal with kuids and kgids in it's hmac computation
    ...

    Linus Torvalds
     
  • Pull workqueue changes from Tejun Heo:
    "This is workqueue updates for v3.7-rc1. A lot of activities this
    round including considerable API and behavior cleanups.

    * delayed_work combines a timer and a work item. The handling of the
    timer part has always been a bit clunky leading to confusing
    cancelation API with weird corner-case behaviors. delayed_work is
    updated to use new IRQ safe timer and cancelation now works as
    expected.

    * Another deficiency of delayed_work was lack of the counterpart of
    mod_timer() which led to cancel+queue combinations or open-coded
    timer+work usages. mod_delayed_work[_on]() are added.

    These two delayed_work changes make delayed_work provide interface
    and behave like timer which is executed with process context.

    * A work item could be executed concurrently on multiple CPUs, which
    is rather unintuitive and made flush_work() behavior confusing and
    half-broken under certain circumstances. This problem doesn't
    exist for non-reentrant workqueues. While non-reentrancy check
    isn't free, the overhead is incurred only when a work item bounces
    across different CPUs and even in simulated pathological scenario
    the overhead isn't too high.

    All workqueues are made non-reentrant. This removes the
    distinction between flush_[delayed_]work() and
    flush_[delayed_]_work_sync(). The former is now as strong as the
    latter and the specified work item is guaranteed to have finished
    execution of any previous queueing on return.

    * In addition to the various bug fixes, Lai redid and simplified CPU
    hotplug handling significantly.

    * Joonsoo introduced system_highpri_wq and used it during CPU
    hotplug.

    There are two merge commits - one to pull in IRQ safe timer from
    tip/timers/core and the other to pull in CPU hotplug fixes from
    wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

    Fixed a number of trivial conflicts, but the more interesting conflicts
    were silent ones where the deprecated interfaces had been used by new
    code in the merge window, and thus didn't cause any real data conflicts.

    Tejun pointed out a few of them, I fixed a couple more.

    * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
    workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
    workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
    workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
    workqueue: remove @delayed from cwq_dec_nr_in_flight()
    workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
    workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
    workqueue: use __cpuinit instead of __devinit for cpu callbacks
    workqueue: rename manager_mutex to assoc_mutex
    workqueue: WORKER_REBIND is no longer necessary for idle rebinding
    workqueue: WORKER_REBIND is no longer necessary for busy rebinding
    workqueue: reimplement idle worker rebinding
    workqueue: deprecate __cancel_delayed_work()
    workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
    workqueue: use mod_delayed_work() instead of __cancel + queue
    workqueue: use irqsafe timer for delayed_work
    workqueue: clean up delayed_work initializers and add missing one
    workqueue: make deferrable delayed_work initializer names consistent
    workqueue: cosmetic whitespace updates for macro definitions
    workqueue: deprecate system_nrt[_freezable]_wq
    workqueue: deprecate flush[_delayed]_work_sync()
    ...

    Linus Torvalds
     

02 Oct, 2012

8 commits

  • This simplifies drm fb lifetime, and if the crtc/plane needs to hold
    a ref to the fb when disabling a pipe until the next vblank, this
    avoids the need to make disabling an overlay synchronous. This is a
    problem that shows up when userspace is using a drm plane to
    implement a hw cursor.. making overlay disable synchronous causes
    a performance problem when x11 is rapidly enabling/disabling the
    hw cursor. But not making it synchronous opens up a race condition
    for crashing if userspace turns around and immediately deletes the
    fb. Refcnt'ing the fb makes it possible to solve this problem.

    v1: original
    v2: add drm_framebuffer_remove() which is called in all paths where
    fb->funcs->destroy() was directly called before. This cleans
    up the CRTCs/planes that the fb was attached to. You should
    only directly use drm_framebuffer_unreference() if you are also
    using drm_framebuffer_reference() to keep a ref to the fb.
    v3: add comment explaining the fb refcount
    v4: remove duplicate 'list_del(&fb->filp_head)'

    [airlied: v4.1: fix local rejection]

    Signed-off-by: Rob Clark
    Signed-off-by: Dave Airlie

    Rob Clark
     
  • Pull ARM soc multiplatform enablement from Olof Johansson:
    "This is a pretty significant branch. It's the introduction of the
    first multiplatform support on ARM, and with this (and the later
    branch) merged, it is now possible to build one kernel that contains
    support for highbank, vexpress, mvebu, socfpga, and picoxcell. More
    platforms will be convered over in the next few releases.

    Two critical last things had to be done for this to be practical and
    possible:
    * Today each platform has its own include directory under
    mach-/include/mach/*, and traditionally that is where a lot
    of driver/platform shared definitions have gone, such as platform
    data structures. They now need to move out to a common location
    instead, and this branch moves a large number of those out to
    include/linux/platform_data.
    * Each platform used to list the device trees to compile for its
    boards in mach-/Makefile.boot.

    Both of the above changes will mean that there are some merge
    conflicts to come (and some to resolve here). It's a one-time move
    and once it settles in, we should be good for quite a while. Sorry
    for the overhead."

    Fix conflicts as per Olof.

    * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
    ARM: add v7 multi-platform defconfig
    ARM: msm: Move core.h contents into common.h
    ARM: highbank: call highbank_pm_init from .init_machine
    ARM: dtb: move all dtb targets to common Makefile
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: vexpress: convert to multi-platform
    ARM: initial multiplatform support
    ARM: mvebu: move armada-370-xp.h in mach dir
    ARM: vexpress: remove dependency on mach/* headers
    ARM: picoxcell: remove dependency on mach/* headers
    ARM: move all dtb targets out of Makefile.boot
    ARM: picoxcell: move debug macros to include/debug
    ARM: socfpga: move debug macros to include/debug
    ARM: mvebu: move debug macros to include/debug
    ARM: vexpress: move debug macros to include/debug
    ARM: highbank: move debug macros to include/debug
    ARM: move debug macros to common location
    ARM: make mach/gpio.h headers optional
    ...

    Linus Torvalds
     
  • Pull ARM soc general cleanups from Olof Johansson:
    "This is a large branch that contains a handful of different cleanups:

    - Fixing up the I/O space remapping on PCI on ARM. This is a series
    from Rob Herring that restructures how all pci devices allocate I/O
    space, and it's part of the work to allow multiplatform kernels.
    - A number of cleanup series for OMAP, moving and removing some
    headers, sparse irq rework and in general preparation for
    multiplatform.
    - Final removal of all non-DT boards for Tegra, it is now
    device-tree-only!
    - Removal of a stale platform, nxp4008. It's an old mobile chipset
    that is no longer in use, and was very likely never really used
    with a mainline kernel. We have not been able to find anyone
    interested in keeping it around in the kernel.
    - Removal of the legacy dmaengine driver on tegra

    + A handful of other things that I haven't described above."

    Fix up some conflicts with the staging tree (and because nxp4008 was
    removed)

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)
    ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6
    ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
    ARM: mmp: using for_each_set_bit to simplify the code
    ARM: tegra: harmony: fix ldo7 regulator-name
    ARM: OMAP2+: Make omap4-keypad.h local
    ARM: OMAP2+: Make l4_3xxx.h local
    ARM: OMAP2+: Make l4_2xxx.h local
    ARM: OMAP2+: Make l3_3xxx.h local
    ARM: OMAP2+: Make l3_2xxx.h local
    ARM: OMAP1: Move irda.h from plat to mach
    ARM: OMAP2+: Make hdq1w.h local
    ARM: OMAP2+: Make gpmc-smsc911x.h local
    ARM: OMAP2+: Make gpmc-smc91x.h local
    ARM: OMAP1: Move flash.h from plat to mach
    ARM: OMAP2+: Make debug-devices.h local
    ARM: OMAP1: Move board-voiceblue.h from plat to mach
    ARM: OMAP1: Move board-sx1.h from plat to mach
    ARM: OMAP2+: Make omap-wakeupgen.h local
    ARM: OMAP2+: Make omap-secure.h local
    ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
    ...

    Linus Torvalds
     
  • Pull USB changes from Greg Kroah-Hartman:
    "Here is the big USB pull request for 3.7-rc1

    There are lots of gadget driver changes (including copying a bunch of
    files into the drivers/staging/ccg/ directory so that the other gadget
    drivers can be fixed up properly without breaking that driver), and we
    remove the old obsolete ub.c driver from the tree.

    There are also the usual XHCI set of updates, and other various driver
    changes and updates. We also are trying hard to remove the old dbg()
    macro, but the final bits of that removal will be coming in through
    the networking tree before we can delete it for good.

    All of these patches have been in the linux-next tree.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up several annoying - but fairly mindless - conflicts due to the
    termios structure having moved into the tty device, and often clashing
    with dbg -> dev_dbg conversion.

    * tag 'usb-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (339 commits)
    USB: ezusb: move ezusb.c from drivers/usb/serial to drivers/usb/misc
    USB: uas: fix gcc warning
    USB: uas: fix locking
    USB: Fix race condition when removing host controllers
    USB: uas: add locking
    USB: uas: fix abort
    USB: uas: remove aborted field, replace with status bit.
    USB: uas: fix task management
    USB: uas: keep track of command urbs
    xhci: Intel Panther Point BEI quirk.
    powerpc/usb: remove checking PHY_CLK_VALID for UTMI PHY
    USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support
    Revert "usb : Add sysfs files to control port power."
    USB: serial: remove vizzini driver
    usb: host: xhci: Fix Null pointer dereferencing with 71c731a for non-x86 systems
    Increase XHCI suspend timeout to 16ms
    USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq
    USB: sierra_ms: don't keep unused variable
    fsl/usb: Add support for USB controller version 2.4
    USB: qcaux: add Pantech vendor class match
    ...

    Linus Torvalds
     
  • Pull TTY changes from Greg Kroah-Hartman:
    "As we skipped the merge window for 3.6-rc1 for the tty tree,
    everything is now settled down and working properly, so we are ready
    for 3.7-rc1. Here's the patchset, it's big, but the large changes are
    removing a firmware file and adding a staging tty driver (it depended
    on the tty core changes, so it's going through this tree instead of
    the staging tree.)

    All of these patches have been in the linux-next tree for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up more-or-less trivial conflicts in
    - drivers/char/pcmcia/synclink_cs.c:
    tty NULL dereference fix vs tty_port_cts_enabled() helper function
    - drivers/staging/{Kconfig,Makefile}:
    add-add conflict (dgrp driver added close to other staging drivers)
    - drivers/staging/ipack/devices/ipoctal.c:
    "split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device"

    * tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits)
    tty/serial: Add kgdb_nmi driver
    tty/serial/amba-pl011: Quiesce interrupts in poll_get_char
    tty/serial/amba-pl011: Implement poll_init callback
    tty/serial/core: Introduce poll_init callback
    kdb: Turn KGDB_KDB=n stubs into static inlines
    kdb: Implement disable_nmi command
    kernel/debug: Mask KGDB NMI upon entry
    serial: pl011: handle corruption at high clock speeds
    serial: sccnxp: Make 'default' choice in switch last
    serial: sccnxp: Remove mask termios caps for SW flow control
    serial: sccnxp: Report actual baudrate back to core
    serial: samsung: Add poll_get_char & poll_put_char
    Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate
    Powerpc 8xx CPM_UART maxidl should not depend on fifo size
    Powerpc 8xx CPM_UART too many interrupts
    Powerpc 8xx CPM_UART desynchronisation
    serial: set correct baud_base for EXSYS EX-41092 Dual 16950
    serial: omap: fix the reciever line error case
    8250: blacklist Winbond CIR port
    8250_pnp: do pnp probe before legacy probe
    ...

    Linus Torvalds
     
  • Pull staging tree update from Greg Kroah-Hartman:
    "Here is the big staging tree update for the 3.7-rc1 merge window.

    There are a few patches in here that are outside of the staging area,
    namely HID and IIO patches, but all of them have been acked by the
    relevant subsystem maintainers. The IIO stuff is still coming in
    through this tree as it hasn't entirely moved out of the staging tree,
    but is almost there.

    Other than that, there wa a ton of work on the comedi drivers to make
    them more readable and the correct style. Doing that removed a lot of
    code, but we added a new driver to the staging tree, so we didn't end
    up with a net reduction this time around:

    662 files changed, 51649 insertions(+), 26582 deletions(-)

    All of these patches have been in the linux-next tree already.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'staging-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1094 commits)
    staging: comedi: jr3_pci: fix iomem dereference
    staging: comedi: drivers: use comedi_fc.h cmdtest helpers
    Staging: winbond: usb_free_urb(NULL) is safe
    Staging: winbond: checkpatch cleanup
    Staging: winbond: Removed undesired spaces, lines and tabs
    Staging: winbond: Typo corrections in comments
    Staging: winbond: Changed c99 comments to c89 comments
    staging: r8712u: Do not queue cloned skb
    staging: comedi: ni_mio_common: always lock in ni_ai_poll()
    staging: comedi: s626: add FIXME comment
    staging: comedi: s626: don't dereference insn->data
    staging: comedi: s526: fix if() check in s526_gpct_winsn()
    staging: comedi: s626: cleanup comments in s626_initialize()
    staging: comedi: s626: remove clear of kzalloc'ed data
    staging: comedi: s626: remove 'WDInterval' from private data
    staging: comedi: s626: remove 'ChargeEnabled' from private data
    staging: comedi: s626: remove 'IsBoardRevA' comment
    staging: comedi: s626: #if 0 out the "SAA7146 BUG WORKAROUND"
    staging: comedi: s626: remove 'allocatedBuf' from private data
    staging: comedi: s626: add final attach message
    ...

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Host bridge hotplug
    - Protect acpi_pci_drivers and acpi_pci_roots (Taku Izumi)
    - Clear host bridge resource info to avoid issue when releasing
    (Yinghai Lu)
    - Notify acpi_pci_drivers when hot-plugging host bridges (Jiang Liu)
    - Use standard list ops for acpi_pci_drivers (Jiang Liu)

    Device hotplug
    - Use pci_get_domain_bus_and_slot() to close hotplug races (Jiang
    Liu)
    - Remove fakephp driver (Bjorn Helgaas)
    - Fix VGA ref count in hotplug remove path (Yinghai Lu)
    - Allow acpiphp to handle PCIe ports without native hotplug (Jiang
    Liu)
    - Implement resume regardless of pciehp_force param (Oliver Neukum)
    - Make pci_fixup_irqs() work after init (Thierry Reding)

    Miscellaneous
    - Add pci_pcie_type(dev) and remove pci_dev.pcie_type (Yijing Wang)
    - Factor out PCI Express Capability accessors (Jiang Liu)
    - Add pcibios_window_alignment() so powerpc EEH can use generic
    resource assignment (Gavin Shan)
    - Make pci_error_handlers const (Stephen Hemminger)
    - Cleanup drivers/pci/remove.c (Bjorn Helgaas)
    - Improve Vendor-Specific Extended Capability support (Bjorn
    Helgaas)
    - Use standard list ops for bus->devices (Bjorn Helgaas)
    - Avoid kmalloc in pci_get_subsys() and pci_get_class() (Feng Tang)
    - Reassign invalid bus number ranges (Intel DP43BF workaround)
    (Yinghai Lu)"

    * tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (102 commits)
    PCI: acpiphp: Handle PCIe ports without native hotplug capability
    PCI/ACPI: Use acpi_driver_data() rather than searching acpi_pci_roots
    PCI/ACPI: Protect acpi_pci_roots list with mutex
    PCI/ACPI: Use acpi_pci_root info rather than looking it up again
    PCI/ACPI: Pass acpi_pci_root to acpi_pci_drivers' add/remove interface
    PCI/ACPI: Protect acpi_pci_drivers list with mutex
    PCI/ACPI: Notify acpi_pci_drivers when hot-plugging PCI root bridges
    PCI/ACPI: Use normal list for struct acpi_pci_driver
    PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots
    PCI: Fix default vga ref_count
    ia64/PCI: Clear host bridge aperture struct resource
    x86/PCI: Clear host bridge aperture struct resource
    PCI: Stop all children first, before removing all children
    Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()"
    PCI: Provide a default pcibios_update_irq()
    PCI: Discard __init annotations for pci_fixup_irqs() and related functions
    PCI: Use correct type when freeing bus resource list
    PCI: Check P2P bridge for invalid secondary/subordinate range
    PCI: Convert "new_id"/"remove_id" into generic pci_bus driver attributes
    xen-pcifront: Use hotplug-safe pci_get_domain_bus_and_slot()
    ...

    Linus Torvalds
     
  • Linux 3.6

    * tag 'v3.6': (562 commits)
    Linux 3.6
    vfs: dcache: fix deadlock in tree traversal
    mtdchar: fix offset overflow detection
    thp: avoid VM_BUG_ON page_count(page) false positives in __collapse_huge_page_copy
    iommu/amd: Fix wrong assumption in iommu-group specific code
    netdev: octeon: fix return value check in octeon_mgmt_init_phy()
    ALSA: snd-usb: fix next_packet_size calls for pause case
    inetpeer: fix token initialization
    qlcnic: Fix scheduling while atomic bug
    bnx2: Clean up remaining iounmap
    trivial select_parent documentation fix
    net: phy: smsc: Implement PHY config_init for LAN87xx
    smsc75xx: fix resume after device reset
    um: Preinclude include/linux/kern_levels.h
    um: Fix IPC on um
    netdev: pasemi: fix return value check in pasemi_mac_phy_init()
    team: fix return value check
    l2tp: fix return value check
    USB: Fix race condition when removing host controllers
    USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq
    ...

    Mauro Carvalho Chehab
     

29 Sep, 2012

1 commit

  • Conflicts:
    drivers/net/team/team.c
    drivers/net/usb/qmi_wwan.c
    net/batman-adv/bat_iv_ogm.c
    net/ipv4/fib_frontend.c
    net/ipv4/route.c
    net/l2tp/l2tp_netlink.c

    The team, fib_frontend, route, and l2tp_netlink conflicts were simply
    overlapping changes.

    qmi_wwan and bat_iv_ogm were of the "use HEAD" variety.

    With help from Antonio Quartulli.

    Signed-off-by: David S. Miller

    David S. Miller
     

28 Sep, 2012

1 commit

  • Correct a direct dereference of I/O memory to use an appropriate I/O
    memory access function. Note that the pointer being dereferenced is not
    currently tagged with `__iomem` but I plan to correct that for 3.7.

    Cc: stable
    Signed-off-by: Ian Abbott
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     

27 Sep, 2012

17 commits