09 Apr, 2014

2 commits

  • Pull more powerpc updates from Ben Herrenschmidt:
    "Here are a few more powerpc things for you.

    So you'll find here the conversion of the two new firmware sysfs
    interfaces to the new API for self-removing files that Greg and Tejun
    introduced, so they can finally remove the old one.

    I'm also reverting the hwmon driver for powernv. I shouldn't have
    merged it, I got a bit carried away here. I hadn't realized it was
    never CCed to the relevant maintainer(s) and list(s), and happens to
    have some issues so I'm taking it out and it will come back via the
    proper channels.

    The rest is a bunch of LE fixes (argh, some of the new stuff was
    broken on LE, I really need to start testing LE myself !) and various
    random fixes here and there.

    Finally one bit that's not strictly a fix, which is the HVC OPAL
    change to "kick" the HVC thread when the firmware tells us there is
    new incoming data. I don't feel like waiting for this one, it's
    simple enough, and it makes a big difference in console responsiveness
    which is good for my nerves"

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (26 commits)
    powerpc/powernv Adapt opal-elog and opal-dump to new sysfs_remove_file_self
    Revert "powerpc/powernv: hwmon driver for power values, fan rpm and temperature"
    power, sched: stop updating inside arch_update_cpu_topology() when nothing to be update
    powerpc/le: Avoid creatng R_PPC64_TOCSAVE relocations for modules.
    arch/powerpc: Use RCU_INIT_POINTER(x, NULL) in platforms/cell/spu_syscalls.c
    powerpc/opal: Add missing include
    powerpc: Convert last uses of __FUNCTION__ to __func__
    powerpc: Add lq/stq emulation
    powerpc/powernv: Add invalid OPAL call
    powerpc/powernv: Add OPAL message log interface
    powerpc/book3s: Fix mc_recoverable_range buffer overrun issue.
    powerpc: Remove dead code in sycall entry
    powerpc: Use of_node_init() for the fakenode in msi_bitmap.c
    powerpc/mm: NUMA pte should be handled via slow path in get_user_pages_fast()
    powerpc/powernv: Fix endian issues with sensor code
    powerpc/powernv: Fix endian issues with OPAL async code
    tty/hvc_opal: Kick the HVC thread on OPAL console events
    powerpc/powernv: Add opal_notifier_unregister() and export to modules
    powerpc/ppc64: Do not turn AIL (reloc-on interrupts) too early
    powerpc/ppc64: Gracefully handle early interrupts
    ...

    Linus Torvalds
     
  • This reverts commit 0de7f8a917b5202014430e0055c0e1db0348bd62.

    This driver wasn't merged via the proper maintainers (my fault ... ooops !)
    and has serious issues so let's take it out for now and have a new better
    one be merged the right way

    Signed-off-by: Benjamin Herrenschmidt
    ---

    Benjamin Herrenschmidt
     

08 Apr, 2014

1 commit

  • Pull CPU hotplug notifiers registration fixes from Rafael Wysocki:
    "The purpose of this single series of commits from Srivatsa S Bhat
    (with a small piece from Gautham R Shenoy) touching multiple
    subsystems that use CPU hotplug notifiers is to provide a way to
    register them that will not lead to deadlocks with CPU online/offline
    operations as described in the changelog of commit 93ae4f978ca7f ("CPU
    hotplug: Provide lockless versions of callback registration
    functions").

    The first three commits in the series introduce the API and document
    it and the rest simply goes through the users of CPU hotplug notifiers
    and converts them to using the new method"

    * tag 'cpu-hotplug-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (52 commits)
    net/iucv/iucv.c: Fix CPU hotplug callback registration
    net/core/flow.c: Fix CPU hotplug callback registration
    mm, zswap: Fix CPU hotplug callback registration
    mm, vmstat: Fix CPU hotplug callback registration
    profile: Fix CPU hotplug callback registration
    trace, ring-buffer: Fix CPU hotplug callback registration
    xen, balloon: Fix CPU hotplug callback registration
    hwmon, via-cputemp: Fix CPU hotplug callback registration
    hwmon, coretemp: Fix CPU hotplug callback registration
    thermal, x86-pkg-temp: Fix CPU hotplug callback registration
    octeon, watchdog: Fix CPU hotplug callback registration
    oprofile, nmi-timer: Fix CPU hotplug callback registration
    intel-idle: Fix CPU hotplug callback registration
    clocksource, dummy-timer: Fix CPU hotplug callback registration
    drivers/base/topology.c: Fix CPU hotplug callback registration
    acpi-cpufreq: Fix CPU hotplug callback registration
    zsmalloc: Fix CPU hotplug callback registration
    scsi, fcoe: Fix CPU hotplug callback registration
    scsi, bnx2fc: Fix CPU hotplug callback registration
    scsi, bnx2i: Fix CPU hotplug callback registration
    ...

    Linus Torvalds
     

06 Apr, 2014

1 commit

  • Pull hwmon updates from Jean Delvare:
    "This includes a number of driver conversions to
    devm_hwmon_device_register_with_groups, a few cleanups, and
    support for the ITE IT8623E"

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (it87) Add support for IT8623E
    hwmon: (it87) Fix IT8603E define name
    hwmon: (lm90) Convert to use hwmon_device_register_with_groups
    hwmon: (lm90) Create all sysfs groups in one call
    hwmon: (lm90) Always use the dev variable in the probe function
    hwmon: (lm90) Create most optional attributes with sysfs_create_group
    hwmon: Avoid initializing the same field twice
    hwmon: (pc87360) Avoid initializing the same field twice
    hwmon: (lm80) Convert to use devm_hwmon_device_register_with_groups
    hwmon: (adm1021) Convert to use devm_hwmon_device_register_with_groups
    hwmon: (lm63) Avoid initializing the same field twice
    hwmon: (lm63) Convert to use devm_hwmon_device_register_with_groups
    hwmon: (lm63) Create all sysfs groups in one call
    hwmon: (lm63) Introduce 'dev' variable to point to client->dev
    hwmon: (lm63) Add additional sysfs group for temp2_type attribute
    hwmon: (f71805f) Fix author's address

    Linus Torvalds
     

05 Apr, 2014

16 commits


03 Apr, 2014

2 commits

  • Adding new PCI ID to support AMD F16 M30h processor (Mullins).
    While at it, modify Kconfig and Doc files to reflect the
    support for newer processors

    Note: PCI ID for this processor will make it into pci_ids.h
    as part of this patch:
    http://marc.info/?l=linux-kernel&m=139291362126057&w=2
    which should be pulled into 3.15 when merge window opens
    (It currently sits in 'for-next' branch of bp.git-
    https://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/log/?h=for-next)

    Signed-off-by: Aravind Gopalakrishnan
    Signed-off-by: Guenter Roeck

    Aravind Gopalakrishnan
     
  • Pull main powerpc updates from Ben Herrenschmidt:
    "This time around, the powerpc merges are going to be a little bit more
    complicated than usual.

    This is the main pull request with most of the work for this merge
    window. I will describe it a bit more further down.

    There is some additional cpuidle driver work, however I haven't
    included it in this tree as it depends on some work in tip/timer-core
    which Thomas accidentally forgot to put in a topic branch. Since I
    didn't want to carry all of that tip timer stuff in powerpc -next, I
    setup a separate branch on top of Thomas tree with just that cpuidle
    driver in it, and Stephen has been carrying that in next separately
    for a while now. I'll send a separate pull request for it.

    Additionally, two new pieces in this tree add users for a sysfs API
    that Tejun and Greg have been deprecating in drivers-core-next.
    Thankfully Greg reverted the patch that removes the old API so this
    merge can happen cleanly, but once merged, I will send a patch
    adjusting our new code to the new API so that Greg can send you the
    removal patch.

    Now as for the content of this branch, we have a lot of perf work for
    power8 new counters including support for our new "nest" counters
    (also called 24x7) under pHyp (not natively yet).

    We have new functionality when running under the OPAL firmware
    (non-virtualized or KVM host), such as access to the firmware error
    logs and service processor dumps, system parameters and sensors, along
    with a hwmon driver for the latter.

    There's also a bunch of bug fixes accross the board, some LE fixes,
    and a nice set of selftests for validating our various types of copy
    loops.

    On the Freescale side, we see mostly new chip/board revisions, some
    clock updates, better support for machine checks and debug exceptions,
    etc..."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (70 commits)
    powerpc/book3s: Fix CFAR clobbering issue in machine check handler.
    powerpc/compat: 32-bit little endian machine name is ppcle, not ppc
    powerpc/le: Big endian arguments for ppc_rtas()
    powerpc: Use default set of netfilter modules (CONFIG_NETFILTER_ADVANCED=n)
    powerpc/defconfigs: Enable THP in pseries defconfig
    powerpc/mm: Make sure a local_irq_disable prevent a parallel THP split
    powerpc: Rate-limit users spamming kernel log buffer
    powerpc/perf: Fix handling of L3 events with bank == 1
    powerpc/perf/hv_{gpci, 24x7}: Add documentation of device attributes
    powerpc/perf: Add kconfig option for hypervisor provided counters
    powerpc/perf: Add support for the hv 24x7 interface
    powerpc/perf: Add support for the hv gpci (get performance counter info) interface
    powerpc/perf: Add macros for defining event fields & formats
    powerpc/perf: Add a shared interface to get gpci version and capabilities
    powerpc/perf: Add 24x7 interface headers
    powerpc/perf: Add hv_gpci interface header
    powerpc: Add hvcalls for 24x7 and gpci (Get Performance Counter Info)
    sysfs: create bin_attributes under the requested group
    powerpc/perf: Enable BHRB access for EBB events
    powerpc/perf: Add BHRB constraint and IFM MMCRA handling for EBB
    ...

    Linus Torvalds
     

24 Mar, 2014

1 commit


20 Mar, 2014

3 commits

  • Subsystems that want to register CPU hotplug callbacks, as well as perform
    initialization for the CPUs that are already online, often do it as shown
    below:

    get_online_cpus();

    for_each_online_cpu(cpu)
    init_cpu(cpu);

    register_cpu_notifier(&foobar_cpu_notifier);

    put_online_cpus();

    This is wrong, since it is prone to ABBA deadlocks involving the
    cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
    with CPU hotplug operations).

    Instead, the correct and race-free way of performing the callback
    registration is:

    cpu_notifier_register_begin();

    for_each_online_cpu(cpu)
    init_cpu(cpu);

    /* Note the use of the double underscored version of the API */
    __register_cpu_notifier(&foobar_cpu_notifier);

    cpu_notifier_register_done();

    Fix the hwmon via-cputemp code by using this latter form of callback
    registration.

    Cc: Jean Delvare
    Cc: Ingo Molnar
    Acked-by: Guenter Roeck
    Signed-off-by: Srivatsa S. Bhat
    Signed-off-by: Rafael J. Wysocki

    Srivatsa S. Bhat
     
  • Subsystems that want to register CPU hotplug callbacks, as well as perform
    initialization for the CPUs that are already online, often do it as shown
    below:

    get_online_cpus();

    for_each_online_cpu(cpu)
    init_cpu(cpu);

    register_cpu_notifier(&foobar_cpu_notifier);

    put_online_cpus();

    This is wrong, since it is prone to ABBA deadlocks involving the
    cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
    with CPU hotplug operations).

    Instead, the correct and race-free way of performing the callback
    registration is:

    cpu_notifier_register_begin();

    for_each_online_cpu(cpu)
    init_cpu(cpu);

    /* Note the use of the double underscored version of the API */
    __register_cpu_notifier(&foobar_cpu_notifier);

    cpu_notifier_register_done();

    Fix the hwmon coretemp code by using this latter form of callback
    registration.

    Cc: Fenghua Yu
    Cc: Jean Delvare
    Cc: Ingo Molnar
    Acked-by: Guenter Roeck
    Signed-off-by: Srivatsa S. Bhat
    Signed-off-by: Rafael J. Wysocki

    Srivatsa S. Bhat
     
  • The chip's programming interface is quite similar to LTC3880
    and supports the same set of sensors.

    Reviewed-by: Robert Coulson
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

06 Mar, 2014

1 commit


04 Mar, 2014

13 commits