12 Mar, 2010

1 commit


11 Mar, 2010

1 commit

  • Fix:

    arch/powerpc/kernel/perf_event.c:1334: error: 'power_pmu_notifier' undeclared (first use in this function)
    arch/powerpc/kernel/perf_event.c:1334: error: (Each undeclared identifier is reported only once
    arch/powerpc/kernel/perf_event.c:1334: error: for each function it appears in.)
    arch/powerpc/kernel/perf_event.c:1334: error: implicit declaration of function 'power_pmu_notifier'
    arch/powerpc/kernel/perf_event.c:1334: error: implicit declaration of function 'register_cpu_notifier'

    Due to commit 3f6da390 (perf: Rework and fix the arch CPU-hotplug hooks).

    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

10 Mar, 2010

9 commits

  • Drop the obsolete "profile" naming used by perf for trace events.
    Perf can now do more than simple events counting, so generalize
    the API naming.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Steven Rostedt
    Cc: Masami Hiramatsu
    Cc: Jason Baron

    Frederic Weisbecker
     
  • We are taking a wrong regs snapshot when a trace event triggers.
    Either we use get_irq_regs(), which gives us the interrupted
    registers if we are in an interrupt, or we use task_pt_regs()
    which gives us the state before we entered the kernel, assuming
    we are lucky enough to be no kernel thread, in which case
    task_pt_regs() returns the initial set of regs when the kernel
    thread was started.

    What we want is different. We need a hot snapshot of the regs,
    so that we can get the instruction pointer to record in the
    sample, the frame pointer for the callchain, and some other
    things.

    Let's use the new perf_fetch_caller_regs() for that.

    Comparison with perf record -e lock: -R -a -f -g
    Before:

    perf [kernel] [k] __do_softirq
    |
    --- __do_softirq
    |
    |--55.16%-- __open
    |
    --44.84%-- __write_nocancel

    After:

    perf [kernel] [k] perf_tp_event
    |
    --- perf_tp_event
    |
    |--41.07%-- lock_acquire
    | |
    | |--39.36%-- _raw_spin_lock
    | | |
    | | |--7.81%-- hrtimer_interrupt
    | | | smp_apic_timer_interrupt
    | | | apic_timer_interrupt

    The old case was producing unreliable callchains. Now having
    right frame and instruction pointers, we have the trace we
    want.

    Also syscalls and kprobe events already have the right regs,
    let's use them instead of wasting a retrieval.

    v2: Follow the rename perf_save_regs() -> perf_fetch_caller_regs()

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: H. Peter Anvin
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Steven Rostedt
    Cc: Arnaldo Carvalho de Melo
    Cc: Masami Hiramatsu
    Cc: Jason Baron
    Cc: Archs

    Frederic Weisbecker
     
  • Events that trigger overflows by interrupting a context can
    use get_irq_regs() or task_pt_regs() to retrieve the state
    when the event triggered. But this is not the case for some
    other class of events like trace events as tracepoints are
    executed in the same context than the code that triggered
    the event.

    It means we need a different api to capture the regs there,
    namely we need a hot snapshot to get the most important
    informations for perf: the instruction pointer to get the
    event origin, the frame pointer for the callchain, the code
    segment for user_mode() tests (we always use __KERNEL_CS as
    trace events always occur from the kernel) and the eflags
    for further purposes.

    v2: rename perf_save_regs to perf_fetch_caller_regs as per
    Masami's suggestion.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: H. Peter Anvin
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Steven Rostedt
    Cc: Arnaldo Carvalho de Melo
    Cc: Masami Hiramatsu
    Cc: Jason Baron
    Cc: Archs

    Frederic Weisbecker
     
  • Use the LBR to fix up the PEBS IP+1 issue.

    As said, PEBS reports the next instruction, here we use the LBR to find
    the last branch and from that construct the actual IP. If the IP matches
    the LBR-TO, we use LBR-FROM, otherwise we use the LBR-TO address as the
    beginning of the last basic block and decode forward.

    Once we find a match to the current IP, we use the previous location.

    This patch introduces a new ABI element: PERF_RECORD_MISC_EXACT, which
    conveys that the reported IP (PERF_SAMPLE_IP) is the exact instruction
    that caused the event (barring CPU errata).

    The fixup can fail due to various reasons:

    1) LBR contains invalid data (quite possible)
    2) part of the basic block got paged out
    3) the reported IP isn't part of the basic block (see 1)

    Signed-off-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Masami Hiramatsu
    Cc: "Zhang, Yanmin"
    Cc: paulus@samba.org
    Cc: eranian@google.com
    Cc: robert.richter@amd.com
    Cc: fweisbec@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Implement simple suport Intel Last-Branch-Record, it supports all
    hardware that implements FREEZE_LBRS_ON_PMI, but does not (yet) implement
    the LBR config register.

    The Intel LBR is a FIFO of From,To addresses describing the last few
    branches the hardware took.

    This patch does not add perf interface to the LBR, but merely provides an
    interface for internal use.

    Signed-off-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: paulus@samba.org
    Cc: eranian@google.com
    Cc: robert.richter@amd.com
    Cc: fweisbec@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • This patch implements support for Intel Precise Event Based Sampling,
    which is an alternative counter mode in which the counter triggers a
    hardware assist to collect information on events. The hardware assist
    takes a trap like snapshot of a subset of the machine registers.

    This data is written to the Intel Debug-Store, which can be programmed
    with a data threshold at which to raise a PMI.

    With the PEBS hardware assist being trap like, the reported IP is always
    one instruction after the actual instruction that triggered the event.

    This implements a simple PEBS model that always takes a single PEBS event
    at a time. This is done so that the interaction with the rest of the
    system is as expected (freq adjust, period randomization, lbr,
    callchains, etc.).

    It adds an ABI element: perf_event_attr::precise, which indicates that we
    wish to use this (constrained, but precise) mode.

    Signed-off-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: paulus@samba.org
    Cc: eranian@google.com
    Cc: robert.richter@amd.com
    Cc: fweisbec@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Remove the hw_perf_event_*() hotplug hooks in favour of per PMU hotplug
    notifiers. This has the advantage of reducing the static weak interface
    as well as exposing all hotplug actions to the PMU.

    Use this to fix x86 hotplug usage where we did things in ONLINE which
    should have been done in UP_PREPARE or STARTING.

    Signed-off-by: Peter Zijlstra
    Cc: Paul Mundt
    Cc: paulus@samba.org
    Cc: eranian@google.com
    Cc: robert.richter@amd.com
    Cc: fweisbec@gmail.com
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • This makes it easier to extend perf_sample_data and fixes a bug on arm
    and sparc, which failed to set ->raw to NULL, which can cause crashes
    when combined with PERF_SAMPLE_RAW.

    It also optimizes PowerPC and tracepoint, because the struct
    initialization is forced to zero out the whole structure.

    Signed-off-by: Peter Zijlstra
    Acked-by: Jean Pihet
    Reviewed-by: Frederic Weisbecker
    Acked-by: David S. Miller
    Cc: Jamie Iles
    Cc: Paul Mackerras
    Cc: Stephane Eranian
    Cc: stable@kernel.org
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Conflicts:
    tools/perf/util/probe-event.c

    Merge reason: Pick up -rc1 and resolve the conflict as well.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

09 Mar, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits)
    msi-laptop: depends on RFKILL
    msi-laptop: Detect 3G device exists by standard ec command
    msi-laptop: Add resume method for set the SCM load again
    msi-laptop: Support some MSI 3G netbook that is need load SCM
    msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
    msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
    Driver core: create lock/unlock functions for struct device
    sysfs: fix for thinko with sysfs_bin_attr_init()
    sysfs: Kill unused sysfs_sb variable.
    sysfs: Pass super_block to sysfs_get_inode
    driver core: Use sysfs_rename_link in device_rename
    sysfs: Implement sysfs_rename_link
    sysfs: Pack sysfs_dirent more tightly.
    sysfs: Serialize updates to the vfs inode
    sysfs: windfarm: init sysfs attributes
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
    sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
    sysfs: Use one lockdep class per sysfs attribute.
    sysfs: Only take active references on attributes.
    ...

    Linus Torvalds
     

08 Mar, 2010

28 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (26 commits)
    ALSA: hdmi - show debug message on changing audio infoframe
    ALSA: hdmi - merge common code for intelhdmi and nvhdmi
    ALSA: hda - Add ASRock mobo to MSI blacklist
    ALSA: hda: uninitialized variable fix
    ALSA: hda: Use LPIB for a Biostar Microtech board
    ALSA: usb/audio.h: Fix field order
    ALSA: fix jazz16 compile (udelay)
    ALSA: hda: Use LPIB for Dell Latitude 131L
    ALSA: hda - Build hda_eld into snd-hda-codec module
    ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
    ALSA: hda - Support max codecs to 8 for nvidia hda controller
    ALSA: riptide: clean up while loop
    ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line
    ALSA: timer - pass real event in snd_timer_notify1() to instance callback
    ALSA: oxygen: change || to &&
    ALSA: opti92x: use PnP data to select Master Control port
    ASoC: fix ak4104 register array access
    ASoC: soc_pcm_open: Add missing bailout tag
    ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
    ALSA: ua101: removing debugging code
    ...

    Linus Torvalds
     
  • Takashi Iwai
     
  • In the future, we are going to be changing the lock type for struct
    device (once we get the lockdep infrastructure properly worked out) To
    make that changeover easier, and to possibly burry the lock in a
    different part of struct device, let's create some functions to lock and
    unlock a device so that no out-of-core code needs to be changed in the
    future.

    This patch creates the device_lock/unlock/trylock() functions, and
    converts all in-tree users to them.

    Cc: Thomas Gleixner
    Cc: Jean Delvare
    Cc: Dave Young
    Cc: Ming Lei
    Cc: Jiri Kosina
    Cc: Phil Carmody
    Cc: Arjan van de Ven
    Cc: Cornelia Huck
    Cc: Rafael J. Wysocki
    Cc: Pavel Machek
    Cc: Len Brown
    Cc: Magnus Damm
    Cc: Alan Stern
    Cc: Randy Dunlap
    Cc: Stefan Richter
    Cc: David Brownell
    Cc: Vegard Nossum
    Cc: Jesse Barnes
    Cc: Alex Chiang
    Cc: Kenji Kaneshige
    Cc: Andrew Morton
    Cc: Andrew Patterson
    Cc: Yu Zhao
    Cc: Dominik Brodowski
    Cc: Samuel Ortiz
    Cc: Wolfram Sang
    Cc: CHENG Renquan
    Cc: Oliver Neukum
    Cc: Frans Pop
    Cc: David Vrabel
    Cc: Kay Sievers
    Cc: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • After merging the final tree, today's linux-next build (powerpc
    allyesconfig) failed like this:

    drivers/pci/pci-sysfs.c: In function 'pci_create_legacy_files':
    drivers/pci/pci-sysfs.c:645: error: lvalue required as unary '&' operand
    drivers/pci/pci-sysfs.c:658: error: lvalue required as unary '&' operand

    Caused by commit "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on
    dynamic attributes" interacting with commit "sysfs: Use one lockdep
    class per sysfs attribute") both from the driver-core tree.

    Signed-off-by: Stephen Rothwell
    Cc: "Eric W. Biederman"
    Signed-off-by: Greg Kroah-Hartman

    Stephen Rothwell
     
  • Because of rename ordering problems we occassionally give false
    warnings about invalid sysfs operations. So using sysfs_rename
    create a sysfs_rename_link function that doesn't need strange
    workarounds.

    Cc: Benjamin Thery
    Cc: Daniel Lezcano
    Acked-by: Serge Hallyn
    Acked-by: Tejun Heo
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • I have added a new requirement to the external sysfs interface
    that dynamically allocated sysfs attributes must call sysfs_attr_init
    if lockdep is enabled. For the time being callying sysfs_attr_init
    is only mandatory if lockdep is enabled, so we can live with a few
    unconverted instances until we find them all. As this is part of
    the public interface of sysfs it is a good idea to document these
    pseudo functions so someone inspeciting the code can find out
    what has happened.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Acknowledge that the logical sysfs rwsem has one instance per
    sysfs attribute with different locking depencencies for different
    attributes.

    There is a sysfs idiom where writing to one sysfs file causes the
    addition or removal of other sysfs files. Lumping all of the
    sysfs attributes together in one lock class causes lockdep to
    generate lots of false positives.

    This introduces the requirement that non-static sysfs attributes
    need to be initialized with sysfs_attr_init or sysfs_bin_attr_init.
    Strictly speaking this requirement only exists when lockdep is
    enabled, and when lockdep is enabled we get a bit fat warning
    if this requirement is not met.

    Signed-off-by: Eric W. Biederman
    Acked-by: WANG Cong
    Cc: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • This fixes a warning on several pxa based machines:

    arch/arm/mach-pxa/ssp.c:475: warning: initialization discards qualifiers from pointer target type

    Signed-off-by: Uwe Kleine-König
    Acked-by: Vikram Dhillon
    Acked-by: Eric Miao
    Signed-off-by: Greg Kroah-Hartman

    Uwe Kleine-König
     
  • Constify struct sysfs_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Acked-by: David Teigland
    Acked-by: Matt Domsch
    Acked-by: Maciej Sosnowski
    Acked-by: Hans J. Koch
    Acked-by: Pekka Enberg
    Acked-by: Jens Axboe
    Acked-by: Stephen Hemminger
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     
  • Constify struct kset_uevent_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     
  • Several drivers just export a static string as class attributes.

    Use the new extensible attribute support to define a simple
    CLASS_ATTR_STRING() macro for this.

    This will allow to remove code from drivers in followon patches.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • Passing the attribute to the low level IO functions allows all kinds
    of cleanups, by sharing low level IO code without requiring
    an own function for every piece of data.

    Also drivers can extend the attributes with own data fields
    and use that in the low level function.

    This makes the class attributes the same as sysdev_class attributes
    and plain attributes.

    This will allow further cleanups in drivers.

    Full tree sweep converting all users.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • Allow to create/remove arrays of sysdev attributes

    Just wrappers around sysfs_create/move_files

    Will be used later to clean up some drivers.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • Add a attribute array that is automatically registered and unregistered
    to struct sysdev_class. This is similar to what struct class has.

    A lot of drivers add list of attributes, so it's better to do
    this easily in the common sysdev layer.

    This adds a new field to struct sysdev_class. I audited the
    whole tree and there are no dynamically allocated sysdev classes,
    so this is fully compatible.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • Adding/Removing a whole array of attributes is very common. Add a standard
    utility function to do this with a simple function call, instead of
    requiring drivers to open code this.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • Passing the attribute to the low level IO functions allows all kinds
    of cleanups, by sharing low level IO code without requiring
    an own function for every piece of data.

    Also drivers can extend the attributes with own data fields
    and use that in the low level function.

    Similar to sysdev_attributes and normal attributes.

    This is a tree-wide sweep, converting everything in one go.

    No functional changes in this patch other than passing the new
    argument everywhere.

    Tested on x86, the non x86 parts are uncompiled.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • The platform ID table is normally const, force that by adding the attribute.

    Signed-off-by: Eric Miao
    Signed-off-by: Greg Kroah-Hartman

    Eric Miao
     
  • Many legacy-style module create singleton platform devices themselves,
    along with corresponding platform driver. Instead of replicating error
    handling code in all such drivers, provide a helper that allocates and
    registers a single platform device and a driver and binds them together.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Torokhov
     
  • * 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
    x86, mrst: Fix whitespace breakage in apb_timer.c
    x86, mrst: Fix APB timer per cpu clockevent
    x86, mrst: Remove X86_MRST dependency on PCI_IOAPIC
    x86, olpc: Use pci subarch init for OLPC
    x86, pci: Add arch_init to x86_init abstraction
    x86, mrst: Add Kconfig dependencies for Moorestown
    x86, pci: Exclude Moorestown PCI code if CONFIG_X86_MRST=n
    x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI
    x86, pci: Add sanity check for PCI fixed bar probing
    x86, legacy_irq: Remove duplicate vector assigment
    x86, legacy_irq: Remove left over nr_legacy_irqs
    x86, mrst: Platform clock setup code
    x86, apbt: Moorestown APB system timer driver
    x86, mrst: Add vrtc platform data setup code
    x86, mrst: Add platform timer info parsing code
    x86, mrst: Fill in PCI functions in x86_init layer
    x86, mrst: Add dummy legacy pic to platform setup
    x86/PCI: Moorestown PCI support
    x86, ioapic: Add dummy ioapic functions
    x86, ioapic: Early enable ioapic for timer irq
    ...

    Fixed up semantic conflict of new clocksources due to commit
    17622339af25 ("clocksource: add argument to resume callback").

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (66 commits)
    mfd: Fix ucb1x00 build failure for collie_defconfig
    mfd: Fix lpc_sch related depends/selects, fix build error
    gpio: Fix sch_gpio warning
    gpio: add Intel SCH GPIO controller driver
    i2c: convert i2c-isch to platform_device
    mfd: Use completion interrupt for WM831x AUXADC
    mfd: Use completion interrupt for WM835x AUXADC
    mfd: Introduce remove_script function for twl4030
    mfd/mmc: SDHI Kconfig update
    mfd: sh_mobile_sdhi MMC_CAP_MMC_HIGHSPEED support
    gpiolib: Force wm831x GPIOs into GPIO mode when requested
    mfd: Add WM831x revision B support
    gpiolib: Correct debugfs display of WM831x GPIO inversion
    gpiolib: Actually set output state in wm831x_gpio_direction_output()
    tmio_mmc: Balance cell enable()/disable() calls
    tmio_mmc: Remove const from platform data V3
    tmio_mmc: Use 100ms mmc_detect_change() delay
    tmio_mmc: Add MMC_CAP_MMC_HIGHSPEED support V2
    tmio_mmc: Keep card-detect interrupts enabled
    mfd: Add twl6030 base addr for ID0, ID1, ID2
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits)
    sh: Convert sh to use read/update_persistent_clock
    sh: Move PMB debugfs entry initialization to later stage
    sh: Fix up flush_cache_vmap() on SMP.
    sh: fix up MMU reset with variable PMB mapping sizes.
    sh: establish PMB mappings for NUMA nodes.
    sh: check for existing mappings for bolted PMB entries.
    sh: fixed virt/phys mapping helpers for PMB.
    sh: make pmb iomapping configurable.
    sh: reworked dynamic PMB mapping.
    sh: Fix up cpumask_of_pcibus() for the NUMA build.
    serial: sh-sci: Tidy up build warnings.
    sh: Fix up ctrl_read/write stragglers in migor setup.
    serial: sh-sci: Add DMA support.
    dmaengine: shdma: extend .device_terminate_all() to record partial transfer
    sh: merge sh7722 and sh7724 DMA register definitions
    sh: activate runtime PM for dmaengine on sh7722 and sh7724
    dmaengine: shdma: add runtime PM support.
    dmaengine: shdma: separate DMA headers.
    dmaengine: shdma: convert to platform device resources
    dmaengine: shdma: fix DMA error handling.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Provide generic subsystem-level callbacks
    PM / Runtime: Document power.runtime_auto and related functions

    Linus Torvalds
     
  • This patch fixes a build failure[1], by adding the missing semaphore.h include

    References:
    [1] http://kisskb.ellerman.id.au/kisskb/buildresult/2234322/

    Signed-off-by: Peter Huewe
    Signed-off-by: Samuel Ortiz

    Peter Huewe
     
  • Use the completion interrupt generated by the device rather than
    polling for conversions to complete. As a backup we still check
    the status of the AUXADC if we don't get a completion, mostly for
    systems that don't have the WM831x interrupt infrastructure hooked
    up.

    Also reduce the timeout for completion of conversions to 5ms from
    the previous 10ms, the lower timeout should be sufficient.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Use the completion interrupt generated by the device rather than
    polling for conversions to complete. As a backup we still check
    the state of the AUXADC if we don't get a completion, mostly for
    systems that don't have the WM8350 interrupt infrastructure hooked
    up.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • New function twl4030_remove_script(u8 flags) takes a script type as
    defined in twl.h and prevents any script already loaded in that position
    from running. This is accomplished by programming SEQ_ADD_* to 0x3f,
    the END_OF_SCRIPT value, where SEQ_ADD_* is determined by flags.

    (Future) users of this function include OMAP board files for machines
    facing a race condition between sleep and warm reset.

    Signed-off-by: Mike Turquette
    Signed-off-by: Samuel Ortiz

    Mike Turquette
     
  • Revision B of the WM831x devices changes the sense of the tristate
    bit for GPIO configuration, inverting it to become an enable instead.
    Take account of this in the gpiolib driver.

    A current sink regulation status bit has also been added in revision B,
    add a flag indicating if it's present but don't use it yet.

    This revision also adds an interrupt on key up for the ON pin event
    which the existing code is able to take advantage of.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Remove const from the tmio-mmc platform data hclk V3.
    This change makes it possible to remove the type cast
    from the sh_mobile_sdhi driver which is using the clock
    framework to get the clock rate.

    Signed-off-by: Magnus Damm
    Signed-off-by: Samuel Ortiz

    Magnus Damm