15 Mar, 2012

1 commit

  • * 'ep93xx-for-arm-soc' of git://github.com/RyanMallon/linux-2.6:
    ep93xx: Remove unnecessary includes of ep93xx-regs.h
    ep93xx: Move EP93XX_SYSCON defines to SoC private header
    ep93xx: Move crunch code to mach-ep93xx directory
    ep93xx: Make syscon access functions private to SoC
    ep93xx: Configure GPIO ports in core code
    ep93xx: Move peripheral defines to local SoC header
    ep93xx: Convert the watchdog driver into a platform device.
    ep93xx: Use ioremap for backlight driver
    ep93xx: Move GPIO defines to gpio-ep93xx.h
    ep93xx: Don't use system controller defines in audio drivers
    ep93xx: Move PHYS_BASE defines to local SoC header file

    (update to v3.3-rc7)

    Conflicts:
    arch/arm/mach-s3c2440/common.h

    Arnd Bergmann
     

14 Mar, 2012

12 commits

  • Remove the include of ep93xx-regs.h from files which no longer need
    it, notably include/mach/hardware.h.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • The EP93XX_SYSCON defines are now no longer needed outside of the
    EP93xx SoC core code, so they can be moved to a private header.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • The crunch code in arch/arm/kernel is specific to the EP93xx. Move it
    to the mach-ep93xx directory. This removes the need for the
    EP93XX_SYSCON defines to be exported to arch/arm/kernel.

    Signed-off-by: Ryan Mallon
    Cc: Russell King
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • The syscon access functions are no longer used outside of the core
    EP93xx code. Move their definitions into the SoC code.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • Move the pinmux setting of the EP93xx GPIOs to the core code. This
    removes the need for the GPIO driver to have access to the system
    controller registers.

    Signed-off-by: Ryan Mallon
    Cc: Grant Likely
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • Move the AHB/APB peripheral defines to local SoC header since they are
    only needed by the core SoC code. The UART defines are not moved
    because they are used by the mach/uncompress.h header.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten
    Acked-by: Arnd Bergmann

    Ryan Mallon
     
  • Convert the ep93xx watchdog driver into a platform device and
    remove it's dependency on .

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Ryan Mallon
    Signed-off-by: Wim Van Sebroeck
    Reviewed-by: Mika Westerberg
    Acked-by: Arnd Bergmann

    H Hartley Sweeten
     
  • The ep93xx backlight driver uses a single register within the
    framebuffer's register space. Currently the backlight driver uses a
    static IO mapping for the register since the memory cannot be
    requested by both drivers.

    Convert the static mapping to use ioremap so that we can remove the
    dependency on mach/hardware.h. To do so, we need remove the
    request_mem_region from both the backlight and framebuffer drivers,
    since whichever driver is loaded second will fail with -EBUSY
    otherwise.

    A proper fix is still required, and a FIXME comment has been added to
    both drivers.

    Signed-off-by: Ryan Mallon
    Suggested-by: Arnd Bergmann
    Cc: Mika Westerberg
    Cc: Richard Purdie
    Cc: Florian Tobias Schandinat
    Acked-by: Arnd Bergmann
    Acked-by: H Hartley Sweeten

    Ryan Mallon
     
  • Move the GPIO related defines out of ep93xx-regs.h and into
    gpio-ep93xx.h where they belong.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • Both the Snapper CL15 and EDB93xx audio drivers set the same audio
    configuration in ep93xx_i2s_acquire. Remove the arguments to
    ep93xx_i2s_acquire so that the audio drivers no longer need the
    EP93XX_SYSCON defines exported.

    Signed-off-by: Ryan Mallon
    Cc: Liam Girdwood
    Cc: Mark Brown
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • The PHYS_BASE defines in arch/arm/mach-ep93xx/include/mach-ep93xx-regs.h are
    only used in the SoC code. Move the defines to a local header file.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Mika Westerberg
    Acked-by: Hartley Sweeten

    Ryan Mallon
     
  • …ernel/git/kgene/linux-samsung into next/cleanup

    * 'next/cleanup-exynos-clock' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver
    ARM: EXYNOS: add clock registers for exynos4x12-cpufreq
    PM / devfreq: update the name of EXYNOS clock registers that were omitted
    PM / devfreq: update the name of EXYNOS clock register
    ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock
    ARM: EXYNOS: use static declaration on regarding clock
    ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs
    (includes an update to v3.3-rc6)

    Olof Johansson
     

11 Mar, 2012

11 commits


10 Mar, 2012

7 commits

  • Current code has put_ioctx() called asynchronously from aio_fput_routine();
    that's done *after* we have killed the request that used to pin ioctx,
    so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
    from progressing. As the result, we can end up with async call of
    put_ioctx() being the last one and possibly happening during exit_mmap()
    or elf_core_dump(), neither of which expects stray munmap() being done
    to them...

    We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
    with that, but that's all we care about - neither io_destroy() nor
    exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
    does really_put_req(), so the ioctx teardown won't be done until then
    and we don't care about the contents of ioctx past that point.

    Since actual freeing of these suckers is RCU-delayed, we don't need to
    bump ioctx refcount when request goes into list for async removal.
    All we need is rcu_read_lock held just over the ->ctx_lock-protected
    area in aio_fput_routine().

    Signed-off-by: Al Viro
    Reviewed-by: Jeff Moyer
    Acked-by: Benjamin LaHaise
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Have ioctx_alloc() return an extra reference, so that caller would drop it
    on success and not bother with re-grabbing it on failure exit. The current
    code is obviously broken - io_destroy() from another thread that managed
    to guess the address io_setup() would've returned would free ioctx right
    under us; gets especially interesting if aio_context_t * we pass to
    io_setup() points to PROT_READ mapping, so put_user() fails and we end
    up doing io_destroy() on kioctx another thread has just got freed...

    Signed-off-by: Al Viro
    Acked-by: Benjamin LaHaise
    Reviewed-by: Jeff Moyer
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Pull btrfs updates from Chris Mason:
    "I have two additional and btrfs fixes in my for-linus branch. One is
    a casting error that leads to memory corruption on i386 during scrub,
    and the other fixes a corner case in the backref walking code (also
    triggered by scrub)."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix casting error in scrub reada code
    btrfs: fix locking issues in find_parent_nodes()

    Linus Torvalds
     
  • Respectfully revert commit e6ca7b89dc76 "memcg: fix mapcount check
    in move charge code for anonymous page" for the 3.3 release, so that
    it behaves exactly like releases 2.6.35 through 3.2 in this respect.

    Horiguchi-san's commit is correct in itself, 1 makes much more sense
    than 2 in that check; but it does not go far enough - swapcount
    should be considered too - if we really want such a check at all.

    We appear to have reached agreement now, and expect that 3.4 will
    remove the mapcount check, but had better not make 3.3 different.

    Signed-off-by: Hugh Dickins
    Reviewed-by: Naoya Horiguchi
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Commit f0fbf0abc093 ("x86: integrate delay functions") converted
    delay_tsc() into a random delay generator for 64 bit. The reason is
    that it merged the mostly identical versions of delay_32.c and
    delay_64.c. Though the subtle difference of the result was:

    static void delay_tsc(unsigned long loops)
    {
    - unsigned bclock, now;
    + unsigned long bclock, now;

    Now the function uses rdtscl() which returns the lower 32bit of the
    TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
    bit this fails when the lower 32bit are close to wrap around when
    bclock is read, because the following check

    if ((now - bclock) >= loops)
    break;

    evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
    because the unsigned long (now - bclock) of these values results in
    0xffffffff00000001 which is definitely larger than the loops
    value. That explains Tvortkos observation:

    "Because I am seeing udelay(500) (_occasionally_) being short, and
    that by delaying for some duration between 0us (yep) and 491us."

    Make those variables explicitely u32 again, so this works for both 32
    and 64 bit.

    Reported-by: Tvrtko Ursulin
    Signed-off-by: Thomas Gleixner
    Cc: stable@vger.kernel.org # >= 2.6.27
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Pull sound fixes from Takashi Iwai:
    "Nothing exciting here: just a few regression fixes for HD-audio and
    ASoC, also the support of missing 32bit compat ioctl for HDSPM."

    * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hdspm - Provide ioctl_compat
    ALSA: hda/realtek - Apply the coef-setup only to ALC269VB
    ALSA: hda - add quirk to detect CD input on Gigabyte EP45-DS3
    ASoC: neo1973: fix neo1973 wm8753 initialization

    Linus Torvalds
     
  • The msm git tree moved to

    git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git

    Signed-off-by: David Brown
    Signed-off-by: Linus Torvalds

    David Brown
     

09 Mar, 2012

9 commits

  • Pull C6X fix from Mark Salter:
    "Fix for C6X KSTK_EIP and KSTK_ESP macros."

    * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
    C6X: fix KSTK_EIP and KSTK_ESP macros

    Linus Torvalds
     
  • Pull two IOMMU fixes from Joerg Roedel:
    "The first is an additional fix for the OMAP initialization order issue
    and the second patch fixes a possible section mismatch which can lead
    to a kernel crash in the AMD IOMMU driver when suspend/resume is used
    and the compiler has not inlined the iommu_set_device_table function."

    * tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    x86/amd: iommu_set_device_table() must not be __init
    ARM: OMAP: fix iommu, not mailbox

    Linus Torvalds
     
  • Pull radeon drm stuff from Dave Airlie:
    "Just some radeon fixes, one is for an oops where we run out of ioremap
    space on some big hardware systems in 32-bit mode, stuff doesn't work
    properly but at least the machine will boot.

    One regression fix, and two bugs, one hw, one blit code."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms: fix hdmi duallink checks
    drm/radeon/kms: set SX_MISC in the r6xx blit code (v2)
    drm/radeon: deal with errors from framebuffer init path.
    drm/radeon: fix a semaphore deadlock on pre cayman asics

    Linus Torvalds
     
  • Pull networking from David Miller:

    1) IPV4 routing metrics can become stale when routes are changed by the
    administrator, fix from Steffen Klassert.

    2) atl1c does "val |= XXX;" where XXX is a bit number not a bit mask,
    fix by using set_bit. From Dan Carpenter.

    3) Memory accounting bug in carl9170 driver results in wedged TX queue.
    Fix from Nicolas Cavallari.

    4) iwlwifi accidently uses "sizeof(ptr)" instead of "sizeof(*ptr)", fix
    from Johannes Berg.

    5) Openvswitch doesn't honor dp_ifindex when doing vport lookups, fix
    from Ben Pfaff.

    6) ehea conversion to 64-bit stats lost multicast and rx_errors
    accounting, fix from Eric Dumazet.

    7) Bridge state transition logging in br_stp_disable_port() is busted,
    it's emitted at the wrong time and the message is in the wrong tense,
    fix from Paulius Zaleckas.

    8) mlx4 device erroneously invokes the queue resize firmware operation
    twice, fix from Jack Morgenstein.

    9) Fix deadlock in usbnet, need to drop lock when invoking usb_unlink_urb()
    otherwise we recurse into taking it again. Fix from Sebastian Siewior.

    10) hyperv network driver uses the wrong driver name string, fix from
    Haiyang Zhang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver
    net/usbnet: avoid recursive locking in usbnet_stop()
    route: Remove redirect_genid
    inetpeer: Invalidate the inetpeer tree along with the routing cache
    mlx4_core: fix bug in modify_cq wrapper for resize flow.
    atl1c: set ATL1C_WORK_EVENT_RESET bit correctly
    bridge: fix state reporting when port is disabled
    bridge: br_log_state() s/entering/entered/
    ehea: restore multicast and rx_errors fields
    openvswitch: Fix checksum update for actions on UDP packets.
    openvswitch: Honor dp_ifindex, when specified, for vport lookup by name.
    iwlwifi: fix wowlan suspend
    mwifiex: reset encryption mode flag before association
    carl9170: fix frame delivery if sta is in powersave mode
    carl9170: Fix memory accounting when sta is in power-save mode.

    Linus Torvalds
     
  • Pull last minute fixes from Olof Johansson:
    "One samsung build fix due to a mis-applied patch, and a small set of
    OMAP fixes. This should be the last from arm-soc for 3.3, hopefully."

    * tag 'fixes-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: S3C2440: Fixed build error for s3c244x
    ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688
    ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision
    ARM: OMAP2+: Remove apply_uV constraints for fixed regulator
    ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts

    Linus Torvalds
     
  • Pull regulator fix from Mark Brown:
    "Another small, clear fix in a specific driver."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: tps65910: Configure correct value for VDDCTRL vout reg

    Linus Torvalds
     
  • Pull minor devicetree bug fixes and documentation updates from Grant Likely:
    "Fixes up a duplicate #include, adds an empty implementation of
    of_find_compatible_node() and make git ignore .dtb files. And fix up
    bus name on OF described PHYs. Nothing exciting here."

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    doc: dt: Fix broken reference in gpio-leds documentation
    of/mdio: fix fixed link bus name
    of/fdt.c: asm/setup.h included twice
    of: add picochip vendor prefix
    dt: add empty of_find_compatible_node function
    ARM: devicetree: Add .dtb files to arch/arm/boot/.gitignore

    Linus Torvalds
     
  • Pull SPI section mismatch bug fix for v3.3-rc3 from Grant Likely:
    "Minor fix for pl022_dma_probe() function which was put in the wrong
    section."

    * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    Fix section mismatch in spi-pl022.c

    Linus Torvalds
     
  • Pull four hwmon patches from Guenter Roeck

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (jc42) Add support for AT30TS00, TS3000GB2, TSE2002GB2, and MCP9804
    hwmon: (zl6100) Maintain delay parameter in driver instance data
    hwmon: (pmbus_core) Fix maximum number of POUT alarm attributes
    hwmon: (jc42) Add support for ST Microelectronics STTS2002 and STTS3000

    Linus Torvalds