Commits on Jul 12, 2013
  1. TEMP: mailbox/omap: fix driver for wkup_m3 suspend

    This is a temporary staging patch for achieving the
    AM335 suspend functionality. The changes rely on
    using the same Tx and Rx ids for the wkup_m3 mailbox
    and adjusting the driver logic to use the MPU user
    id for dealing with Tx-ready interrupts, and the
    WkupM3 user id for dealing with Rx interrupts.
    The changes themselves are hacky and the code needs
    to be fixed up to use separate link ops for AM335
    Wkup_M3 for better streamlined code.
    Signed-off-by: Dave Gerlach <>
    Signed-off-by: Suman Anna <>
    committed Jul 12, 2013
Commits on Jun 28, 2013
  1. Makefile: Build a uImage with dtb already appended

    Do not commit to mainline; this is a useful hack only for now.
    Signed-off-by: R Sricharan <>
    Signed-off-by: Grant Likely <>
    Signed-off-by: Lokesh Vutla <>
    glikely committed with Apr 24, 2012
  2. HACK: tidspbridge: enable the build for testing

    Signed-off-by: Suman Anna <>
    committed May 17, 2013
  3. ARM: dts: AM33xx: Add mailbox node

    The mailbox DT node data has been added for AM33xx device.
    Signed-off-by: Suman Anna <>
    committed Apr 23, 2013
  4. TEMP: mailbox/omap: add support for AM335x wkupm3 mbox

    The WakeM3 can only receive the interrupt in AM335x, but cannot
    read the mailbox message. The MPU needs to read back the message.
    The current solution writes the message and waits for 100us before
    reading back the message, since we do not want to expose a new
    OMAP specific API for dealing with this.
    Signed-off-by: Suman Anna <>
    committed Jun 28, 2013
  5. mailbox/omap: adapt to the new mailbox API & framework

    The OMAP mailbox driver and its existing clients (remoteproc
    for OMAP4+ and TI DSP/Bridge for OMAP3) are adapted to use
    the generic mailbox framework.
    The main changes for the adaptation are:
      - The generic OMAP mailbox driver module is absorbed into the
        individual modules for OMAP1 and OMAP2+ (no more omap-mailbox.ko)
        The file is reused for supplying the common functionality between
        OMAP1 and OMAP2.
      - The tasklet used for Tx is replaced with the state machine from
        the generic mailbox framework. The workqueue used for processing
        the received messages stays intact for minimizing the effects on
        the mailbox clients.
      - The existing omap_mbox_ops are pruned to supply the abstraction to
        the common layer. This functionality is achieved through the
        ipc_link_ops from the new framework.
      - The remoteproc and tidspbridge drivers (current clients) are adapted
        to use the new API. The notifier callbacks used within these clients
        are replaced with the regular callbacks from the newer framework.
      - The exported OMAP mailbox API are limited to omap_mbox_save_ctx,
        omap_mbox_restore_ctx, omap_mbox_enable_irq & omap_mbox_disable_irq.
        The first 2 will be removed when the OMAP mailbox driver is adapted
        to runtime_pm.
    Signed-off-by: Suman Anna <>
    committed Feb 2, 2013
  6. mailbox: move the internal definitions into a private file

    This is needed for extracting the omap_mbox. The OMAP mailbox
    code has a need for exporting some pre-existing API to not
    break the current clients.
    Signed-off-by: Suman Anna <>
    committed May 16, 2013
  7. mailbox: pl320: Introduce common API driver

    Convert the PL320 controller driver to work with the common
    mailbox API. Also convert the only user of PL320, highbank-cpufreq.c
    to work with thee API. Drop the obsoleted driver pl320-ipc.c
    Signed-off-by: Jassi Brar <>
    Jassi Brar committed with Apr 26, 2013
  8. mailbox: Introduce a new common API

    Introduce common framework for client/protocol drivers and
    controller drivers of Inter-Processor-Communication (IPC).
    Client driver developers should have a look at
     include/linux/mailbox_client.h to understand the part of
    the API exposed to client drivers.
    Similarly controller driver developers should have a look
    at include/linux/mailbox_controller.h
    Signed-off-by: Jassi Brar <>
    Jassi Brar committed with Apr 26, 2013
  9. mailbox: rename pl320-ipc specific mailbox.h

    The patch 3005867 "ARM / highbank: add support for pl320 IPC"
    added a pl320 IPC specific header file as a generic mailbox.h.
    This file has been renamed appropriately to allow the
    introduction of the generic mailbox API framework.
    Acked-by: Mark Langsdorf <>
    Cc: Rafael J. Wysocki <>
    Signed-off-by: Suman Anna <>
    committed Mar 6, 2013
  10. mailbox/omap: remove omap_mbox_type_t from mailbox ops

    The type definition omap_mbox_type_t used for distinguishing
    OMAP1 from OMAP2+ mailboxes does not really belong to the
    ops, and has been cleaned up.
    Signed-off-by: Loic Pallardy <>
    Signed-off-by: Suman Anna <>
    committed May 13, 2013
  11. ARM: dts: OMAP2+: Add mailbox nodes

    The mailbox DT node data has been added for OMAP2420,
    OMAP2430, OMAP3430/OMAP3630, OMAP44xx devices. Data for
    OMAP5 is skipped for now since the corresponding hwmod
    entry is not present.
    The mailbox static device initialization logic is also
    adjusted for a DT boot.
    Signed-off-by: Suman Anna <>
    committed Apr 23, 2013
  12. mailbox/omap: add support for parsing dt devices

    Logic has been added to the OMAP2+ mailbox code to
    parse the mailbox dt nodes and construct the different
    mailboxes associated with the instance. The design is
    based on gathering the same information that was being
    passed previously through the platform data, except for
    the interrupt type configuration information.
    Signed-off-by: Suman Anna <>
    committed Apr 25, 2013
  13. mailbox/omap: add a parent structure common to all mboxes

    A new structure, omap_mbox_device, is added to contain
    the global variables pertinent to a mailbox h/w IP block.
    This enables the support for having multiple instances of
    the same h/w IP block in the SoC. The startup sequence for
    each mailbox is also simplified along the way, removing the
    usage of single global configuration variables for all h/w
    Reviewed-by: Russ Dill <>
    Signed-off-by: Suman Anna <>
    committed May 15, 2013
Commits on Jun 18, 2013
  1. Merge branch 'for_3.11/dts' of git://…

    …nel/git/bcousson/linux-omap-dt into tony-3.11-merge2-dts
    committed Jun 18, 2013
Commits on Jun 11, 2013
  1. mailbox/omap: move the OMAP mailbox framework to drivers

    The mailbox hardware (in OMAP) uses a queued mailbox interrupt
    mechanism that provides a communication channel between processors
    through a set of registers and their associated interrupt signals
    by sending and receiving messages.
    The OMAP mailbox framework/driver code is moved to be under
    drivers/mailbox, in preparation for adapting to a common mailbox
    driver framework. This allows the build for OMAP mailbox to be
    enabled (it was disabled during the multi-platform support).
    As part of the migration from plat and mach code:
    - Kconfig symbols have been renamed to build OMAP1 or OMAP2+ drivers.
    - mailbox.h under plat-omap/plat/include has been split into a public
      and private header files. The public header has only the API related
      functions and types.
    - The module name mailbox.ko from plat-omap is changed to
    - The module name mailbox_mach.ko from mach-omapX is changed as
        mailbox_omap1.ko for OMAP1
        mailbox_omap2.ko for OMAP2+
    Cc: Tony Lindgren <>
    [ ack for staging part]
    Acked-by: Greg Kroah-Hartman <>
    Signed-off-by: Omar Ramirez Luna <>
    Signed-off-by: Suman Anna <>
    committed Mar 12, 2013
  2. ARM: OMAP2+: add user and fifo info to mailbox platform data

    The different generations of OMAP2+ SoCs have almost the same
    mailbox IP, but the IP has configurable parameters for number
    of users (interrupts it can generate out towards processors)
    and number of fifos (the base unidirectional h/w communication
    channel). This data cannot be read from any registers, and so
    has been added to the platform data.
    This data together with the interrupt-type configuration can be
    used in properly figuring out the number of registers to save
    and restore in the OMAP mailbox driver code.
    Cc: Paul Walmsley <>
    Signed-off-by: Suman Anna <>
    committed May 7, 2013
  3. ARM: OMAP2+: mbox: remove dependencies with soc.h

    The OMAP mailbox platform driver code has been cleaned up to
    remove the dependencies with soc.h in preparation for moving
    the mailbox code to drivers folder.
    The code relied on cpu_is_xxx/soc_is_xxx macros previously to
    pick the the right set of mailbox devices and register with the
    mailbox driver. This data is now represented in a concise format
    and moved to the respective omap_hwmod data files and published
    to the driver through the platform data.
    Cc: Paul Walmsley <>
    Signed-off-by: Suman Anna <>
    committed Jan 28, 2013
  4. omap: mailbox: correct the argument type for irq ops

    The argument type used in the actual individual omap_mbox_ops
    for irqs should be omap_mbox_irq_t instead of omap_mbox_type_t.
    Signed-off-by: Suman Anna <>
    committed Jun 7, 2013
  5. omap: mailbox: call request_irq after mbox queues are allocated

    The OMAP mailbox startup code is enabling the interrupt before any
    of the associated mailbox queues are allocated. Move this code so
    that the interrupt configuration for a mailbox is together.
    Signed-off-by: Fernando Guzman Lugo <>
    Signed-off-by: Suman Anna <>
    committed Feb 2, 2013
  6. omap: mailbox: check iomem resource before dereferencing it

    Add a NULL check for iomem resource in mailbox probe functions.
    Signed-off-by: Fernando Guzman Lugo <>
    Signed-off-by: Suman Anna <>
    committed Feb 2, 2013
Commits on Jun 9, 2013
  1. Linux 3.10-rc5

    torvalds committed Jun 9, 2013
  2. hpfs: fix warnings when the filesystem fills up

    This patch fixes warnings due to missing lock on write error path.
      WARNING: at fs/hpfs/hpfs_fn.h:353 hpfs_truncate+0x75/0x80 [hpfs]()
      Hardware name: empty
      Pid: 26563, comm: dd Tainted: P           O 3.9.4 #12
      Call Trace:
        hpfs_truncate+0x75/0x80 [hpfs]
        hpfs_write_begin+0x84/0x90 [hpfs]
        _hpfs_bmap+0x10/0x10 [hpfs]
        hpfs_file_write+0xd/0x50 [hpfs]
    Signed-off-by: Mikulas Patocka <>
    Cc:  # 2.6.39+
    Signed-off-by: Linus Torvalds <>
    Mikulas Patocka committed with torvalds Jun 8, 2013
Commits on Jun 8, 2013
  1. Merge branch 'timers-urgent-for-linus' of git://…

    Pull timer fixes from Thomas Gleixner:
     - Trivial: unused variable removal
     - Posix-timers: Add the clock ID to the new proc interface to make it
       useful.  The interface is new and should be functional when we reach
       the final 3.10 release.
     - Cure a false positive warning in the tick code introduced by the
       overhaul in 3.10
     - Fix for a persistent clock detection regression introduced in this
    * 'timers-urgent-for-linus' of git://
      timekeeping: Correct run-time detection of persistent_clock.
      ntp: Remove unused variable flags in __hardpps
      posix-timers: Show clock ID in proc file
      tick: Cure broadcast false positive pending bit warning
    torvalds committed Jun 8, 2013
  2. Merge tag 'irqdomain-for-linus' of git://

    Pull irqdomain bug fixes from Grant Likely:
     "This branch contains a set of straight forward bug fixes to the
      irqdomain code and to a couple of drivers that make use of it."
    * tag 'irqdomain-for-linus' of git://
      irqchip: Return -EPERM for reserved IRQs
      irqdomain: document the simple domain first_irq
      kernel/irq/irqdomain.c: before use 'irq_data', need check it whether valid.
      irqdomain: export irq_domain_add_simple
    torvalds committed Jun 8, 2013
  3. irqchip: Return -EPERM for reserved IRQs

    The irqdomain core will report a log message for any attempted map call
    that fails unless the error code is -EPERM. This patch changes the
    Versatile irq controller drivers to use -EPERM because it is normal for
    a subset of the IRQ inputs to be marked as reserved on the various
    Versatile platforms.
    Signed-off-by: Grant Likely <>
    glikely committed Jun 6, 2013
  4. irqdomain: document the simple domain first_irq

    The first_irq needs to be zero to get a linear domain and that
    comes with special semantics. We want to simplify this going
    forward but some documentation never hurts.
    Signed-off-by: Linus Walleij <>
    Signed-off-by: Grant Likely <>
    linusw committed with glikely Jun 6, 2013
  5. kernel/irq/irqdomain.c: before use 'irq_data', need check it whether …

    Since irq_data may be NULL, if so, we WARN_ON(), and continue, 'hwirq'
    which related with 'irq_data' has to initialize later, or it will cause
    Signed-off-by: Chen Gang <>
    Signed-off-by: Grant Likely <>
    Chen Gang committed with glikely May 14, 2013
  6. irqdomain: export irq_domain_add_simple

    All other irq_domain_add_* functions are exported already, and apparently
    this one got left out by mistake, which causes build errors for ARM
    allmodconfig kernels:
    ERROR: "irq_domain_add_simple" [drivers/gpio/gpio-rcar.ko] undefined!
    ERROR: "irq_domain_add_simple" [drivers/gpio/gpio-em.ko] undefined!
    Signed-off-by: Arnd Bergmann <>
    Acked-by: Simon Horman <>
    Signed-off-by: Grant Likely <>
    arndb committed with glikely Apr 25, 2013
  7. Merge tag 'fixes-for-linus' of git://…

    Pull ARM SoC fixes from Olof Johansson:
     "Another week, another batch of fixes for arm-soc platforms.
      Nothing controversial here, a handful of fixes for regressions and/or
      serious problems across several of the platforms.  Things are slowing
      down nicely on fix rates for 3.10"
    * tag 'fixes-for-linus' of git://
      ARM: exynos: add debug_ll_io_init() call in exynos_init_io()
      ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined
      ARM: shmobile: sh73a0: Update CMT clockevent rating to 80
      sh-pfc: r8a7779: Don't group USB OVC and PENC pins
      ARM: mxs: icoll: Fix interrupts gpio bank 0
      ARM: imx: clk-imx6q: AXI clock select index is incorrect
      ARM: bcm2835: override the HW UART periphid
      ARM: mvebu: Fix bug in coherency fabric low level init function
      ARM: Kirkwood: TS219: Fix crash by double PCIe instantiation
      ARM: ux500: Provide supplies for AUX1, AUX2 and AUX3
      ARM: ux500: Only configure wake-up reasons on ux500 based platforms
      ARM: dts: imx: fix clocks for cspi
      ARM i.MX6q: fix for ldb_di_sels
    torvalds committed Jun 8, 2013
  8. Merge branch 'upstream' of git://…

    Pull MIPS fixes from Ralf Baechle:
     "MIPS fixes across the field.  The only area that's standing out is the
      exception handling which received it's dose of breakage as part of the
      microMIPS patchset"
    * 'upstream' of git://
      MIPS: ralink: add missing SZ_1M multiplier
      MIPS: Compat: Fix cputime_to_timeval() arguments in compat binfmt_elf.
      MIPS: OCTEON: Improve _machine_halt implementation.
      MIPS: rtlx: Fix implicit declaration of function set_vi_handler()
      MIPS: Trap exception handling fixes
      MIPS: Quit exposing Kconfig symbols in uapi headers.
      MIPS: Remove duplicate definition of check_for_high_segbits.
    torvalds committed Jun 8, 2013
  9. Merge branch 'for-linus' of git://…

    Pull m68knommu fix from Greg Ungerer:
     "A single fix for compilation breakage to many of the ColdFire CPU
    * 'for-linus' of git://
      m68k: only use local gpio_request_one if not using GPIOLIB
    torvalds committed Jun 8, 2013
  10. Merge branch 'drm-fixes' of git://

    Pull drm fixes from Dave Airlie:
     "Regression fixers for the big 3:
       - nouveau: hdmi audio, dac load detect, s/r regressions fixed
       - radeon: long standing system hang fixed, hdmi audio and rs780 fast
         fb fixes
       - intel: one old regression, a WARN removal, and a stop X dying fix
      Otherwise one mgag200 fix, a couple of arm build fixes, and a core use
      after free fix."
    * 'drm-fixes' of git://
      drm/nv50/kms: use dac loadval from vbios, where it's available
      drm/nv50/disp: force dac power state during load detect
      drm/nv50-nv84/fifo: fix resume regression introduced by playlist race fix
      drm/nv84/disp: Fix HDMI audio regression
      drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC.
      drm/radeon: don't allow audio on DCE6
      drm/radeon: Use direct mapping for fast fb access on RS780/RS880 (v2)
      radeon: Fix system hang issue when using KMS with older cards
      drm/i915: no lvds quirk for hp t5740
      drm/i915: Quirk the pipe A quirk in the modeset state checker
      drm/i915: Fix spurious -EIO/SIGBUS on wedged gpus
      drm/mgag200: Add missing write to index before accessing data register
      drm/nouveau: use mdelay instead of large udelay constants
      drm/tilcd: select BACKLIGHT_LCD_SUPPORT
      drm: fix a use-after-free when GPU acceleration disabled
    torvalds committed Jun 8, 2013
  11. Merge branch 'fixes' of git://

    Pull slave-dmaengine fixes from Vinod Koul:
     "Fix from Andy is for dmatest regression reported by Will and Rabin has
      fixed runtime ref counting for st_dma40"
    * 'fixes' of git://
      dmatest: do not allow to interrupt ongoing tests
      dmaengine: ste_dma40: fix pm runtime ref counting
    torvalds committed Jun 8, 2013
  12. Merge tag 'trace-fixes-v3.10-rc3-v3' of git://…

    Pull tracing fixes from Steven Rostedt:
     "This contains 4 fixes.
      The first two fix the case where full RCU debugging is enabled,
      enabling function tracing causes a live lock of the system.  This is
      due to the added debug checks in rcu_dereference_raw() that is used by
      the function tracer.  These checks are also traced by the function
      tracer as well as cause enough overhead to the function tracer to slow
      down the system enough that the time to finish an interrupt can take
      longer than when the next interrupt is triggered, causing a live lock
      from the timer interrupt.
      Talking this over with Paul McKenney, we came up with a fix that adds
      a new rcu_dereference_raw_notrace() that does not perform these added
      checks, and let the function tracer use that.
      The third commit fixes a failed compile when branch tracing is
      enabled, due to the conversion of the trace_test_buffer() selftest
      that the branch trace wasn't converted for.
      The forth patch fixes a bug caught by the RCU lockdep code where a
      rcu_read_lock() is performed when rcu is disabled (either going to or
      from idle, or user space).  This happened on the irqsoff tracer as it
      calls task_uid().  The fix here was to use current_uid() when possible
      that doesn't use rcu locking.  Which luckily, is always used when
      irqsoff calls this code."
    * tag 'trace-fixes-v3.10-rc3-v3' of git://
      tracing: Use current_uid() for critical time tracing
      tracing: Fix bad parameter passed in branch selftest
      ftrace: Use the rcu _notrace variants for rcu_dereference_raw() and friends
      rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu()
    torvalds committed Jun 8, 2013