23 Feb, 2017

1 commit


24 May, 2016

1 commit

  • Pull libnvdimm updates from Dan Williams:
    "The bulk of this update was stabilized before the merge window and
    appeared in -next. The "device dax" implementation was revised this
    week in response to review feedback, and to address failures detected
    by the recently expanded ndctl unit test suite.

    Not included in this pull request are two dax topic branches (dax
    error handling, and dax radix-tree locking). These topics were
    deferred to get a few more days of -next integration testing, and to
    coordinate a branch baseline with Ted and the ext4 tree. Vishal and
    Ross will send the error handling and locking topics respectively in
    the next few days.

    This branch has received a positive build result from the kbuild robot
    across 226 configs.

    Summary:

    - Device DAX for persistent memory: Device DAX is the device-centric
    analogue of Filesystem DAX (CONFIG_FS_DAX). It allows memory
    ranges to be allocated and mapped without need of an intervening
    file system. Device DAX is strict, precise and predictable.
    Specifically this interface:

    a) Guarantees fault granularity with respect to a given page size
    (pte, pmd, or pud) set at configuration time.

    b) Enforces deterministic behavior by being strict about what
    fault scenarios are supported.

    Persistent memory is the first target, but the mechanism is also
    targeted for exclusive allocations of performance/feature
    differentiated memory ranges.

    - Support for the HPE DSM (device specific method) command formats.
    This enables management of these first generation devices until a
    unified DSM specification materializes.

    - Further ACPI 6.1 compliance with support for the common dimm
    identifier format.

    - Various fixes and cleanups across the subsystem"

    * tag 'libnvdimm-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (40 commits)
    libnvdimm, dax: fix deletion
    libnvdimm, dax: fix alignment validation
    libnvdimm, dax: autodetect support
    libnvdimm: release ida resources
    Revert "block: enable dax for raw block devices"
    /dev/dax, core: file operations and dax-mmap
    /dev/dax, pmem: direct access to persistent memory
    libnvdimm: stop requiring a driver ->remove() method
    libnvdimm, dax: record the specified alignment of a dax-device instance
    libnvdimm, dax: reserve space to store labels for device-dax
    libnvdimm, dax: introduce device-dax infrastructure
    nfit: add sysfs dimm 'family' and 'dsm_mask' attributes
    tools/testing/nvdimm: ND_CMD_CALL support
    nfit: disable vendor specific commands
    nfit: export subsystem ids as attributes
    nfit: fix format interface code byte order per ACPI6.1
    nfit, libnvdimm: limited/whitelisted dimm command marshaling mechanism
    nfit, libnvdimm: clarify "commands" vs "_DSMs"
    libnvdimm: increase max envelope size for ioctl
    acpi/nfit: Add sysfs "id" for NVDIMM ID
    ...

    Linus Torvalds
     

21 May, 2016

1 commit

  • Device DAX is the device-centric analogue of Filesystem DAX
    (CONFIG_FS_DAX). It allows memory ranges to be allocated and mapped
    without need of an intervening file system. Device DAX is strict,
    precise and predictable. Specifically this interface:

    1/ Guarantees fault granularity with respect to a given page size (pte,
    pmd, or pud) set at configuration time.

    2/ Enforces deterministic behavior by being strict about what fault
    scenarios are supported.

    For example, by forcing MADV_DONTFORK semantics and omitting MAP_PRIVATE
    support device-dax guarantees that a mapping always behaves/performs the
    same once established. It is the "what you see is what you get" access
    mechanism to differentiated memory vs filesystem DAX which has
    filesystem specific implementation semantics.

    Persistent memory is the first target, but the mechanism is also
    targeted for exclusive allocations of performance differentiated memory
    ranges.

    This commit is limited to the base device driver infrastructure to
    associate a dax device with pmem range.

    Cc: Jeff Moyer
    Cc: Christoph Hellwig
    Cc: Andrew Morton
    Cc: Dave Hansen
    Cc: Ross Zwisler
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Dan Williams

    Dan Williams
     

30 Apr, 2016

1 commit


05 Nov, 2015

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver update for 4.4-rc1. Lots of
    different driver and subsystem updates, hwtracing being the largest
    with the addition of some new platforms that are now supported. Full
    details in the shortlog.

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits)
    fpga: socfpga: Fix check of return value of devm_request_irq
    lkdtm: fix ACCESS_USERSPACE test
    mcb: Destroy IDA on module unload
    mcb: Do not return zero on error path in mcb_pci_probe()
    mei: bus: set the device name before running fixup
    mei: bus: use correct lock ordering
    mei: Fix debugfs filename in error output
    char: ipmi: ipmi_ssif: Replace timeval with timespec64
    fpga: zynq-fpga: Fix issue with drvdata being overwritten.
    fpga manager: remove unnecessary null pointer checks
    fpga manager: ensure lifetime with of_fpga_mgr_get
    fpga: zynq-fpga: Change fw format to handle bin instead of bit.
    fpga: zynq-fpga: Fix unbalanced clock handling
    misc: sram: partition base address belongs to __iomem space
    coresight: etm3x: adding documentation for sysFS's cpu interface
    vme: 8-bit status/id takes 256 values, not 255
    fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000
    ARM: zynq: dt: Updated devicetree for Zynq 7000 platform.
    ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager.
    ver_linux: proc/modules, limit text processing to 'sed'
    ...

    Linus Torvalds
     

29 Oct, 2015

1 commit

  • Open-channel SSDs are devices that share responsibilities with the host
    in order to implement and maintain features that typical SSDs keep
    strictly in firmware. These include (i) the Flash Translation Layer
    (FTL), (ii) bad block management, and (iii) hardware units such as the
    flash controller, the interface controller, and large amounts of flash
    chips. In this way, Open-channels SSDs exposes direct access to their
    physical flash storage, while keeping a subset of the internal features
    of SSDs.

    LightNVM is a specification that gives support to Open-channel SSDs
    LightNVM allows the host to manage data placement, garbage collection,
    and parallelism. Device specific responsibilities such as bad block
    management, FTL extensions to support atomic IOs, or metadata
    persistence are still handled by the device.

    The implementation of LightNVM consists of two parts: core and
    (multiple) targets. The core implements functionality shared across
    targets. This is initialization, teardown and statistics. The targets
    implement the interface that exposes physical flash to user-space
    applications. Examples of such targets include key-value store,
    object-store, as well as traditional block devices, which can be
    application-specific.

    Contributions in this patch from:

    Javier Gonzalez
    Dongsheng Yang
    Jesper Madsen

    Signed-off-by: Matias Bjørling
    Signed-off-by: Jens Axboe

    Matias Bjørling
     

10 Oct, 2015

1 commit

  • This patch moves the NVMe driver from drivers/block/ to its own new
    drivers/nvme/host/ directory. This is in preparation of splitting the
    current monolithic driver up and add support for the upcoming NVMe
    over Fabrics standard. The drivers/nvme/host/ is chose to leave space
    for a NVMe target implementation in addition to this host side driver.

    Signed-off-by: Jay Sternberg
    [hch: rebased, renamed core.c to pci.c, slight tweaks]
    Signed-off-by: Christoph Hellwig
    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jay Sternberg
     

08 Oct, 2015

1 commit

  • API to support programming FPGA's.

    The following functions are exported as GPL:
    * fpga_mgr_buf_load
    Load fpga from image in buffer

    * fpga_mgr_firmware_load
    Request firmware and load it to the FPGA.

    * fpga_mgr_register
    * fpga_mgr_unregister
    FPGA device drivers can be added by calling
    fpga_mgr_register() to register a set of
    fpga_manager_ops to do device specific stuff.

    * of_fpga_mgr_get
    * fpga_mgr_put
    Get/put a reference to a fpga manager.

    The following sysfs files are created:
    * /sys/class/fpga_manager//name
    Name of low level driver.

    * /sys/class/fpga_manager//state
    State of fpga manager

    Signed-off-by: Alan Tull
    Acked-by: Michal Simek
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     

05 Oct, 2015

2 commits

  • Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
    produce, switch and output trace data from multiple hardware and
    software sources over several types of trace output ports encoded
    in System Trace Protocol (MIPI STPv2) and is intended to perform
    full system debugging.

    For these subdevices, we create a bus, where they can be discovered
    and configured by userspace software.

    This patch creates this bus infrastructure, three types of devices
    (source, output, switch), resource allocation, some callback mechanisms
    to facilitate communication between the subdevices' drivers and some
    common sysfs attributes.

    Signed-off-by: Alexander Shishkin
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shishkin
     
  • A System Trace Module (STM) is a device exporting data in System Trace
    Protocol (STP) format as defined by MIPI STP standards. Examples of such
    devices are Intel(R) Trace Hub and Coresight STM.

    This abstraction provides a unified interface for software trace sources
    to send their data over an STM device to a debug host. In order to do
    that, such a trace source needs to be assigned a pair of master/channel
    identifiers that all the data from this source will be tagged with. The
    STP decoder on the debug host side will use these master/channel tags to
    distinguish different trace streams from one another inside one STP
    stream.

    This abstraction provides a configfs-based policy management mechanism
    for dynamic allocation of these master/channel pairs based on trace
    source-supplied string identifier. It has the flexibility of being
    defined at runtime and at the same time (provided that the policy
    definition is aligned with the decoding end) consistency.

    For userspace trace sources, this abstraction provides write()-based and
    mmap()-based (if the underlying stm device allows this) output mechanism.

    For kernel-side trace sources, we provide "stm_source" device class that
    can be connected to an stm device at run time.

    Cc: linux-api@vger.kernel.org
    Reviewed-by: Mathieu Poirier
    Signed-off-by: Alexander Shishkin
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shishkin
     

04 Sep, 2015

1 commit

  • Pull ARM development updates from Russell King:
    "Included in this update:

    - moving PSCI code from ARM64/ARM to drivers/

    - removal of some architecture internals from global kernel view

    - addition of software based "privileged no access" support using the
    old domains register to turn off the ability for kernel
    loads/stores to access userspace. Only the proper accessors will
    be usable.

    - addition of early fixup support for early console

    - re-addition (and reimplementation) of OMAP special interconnect
    barrier

    - removal of finish_arch_switch()

    - only expose cpuX/online in sysfs if hotpluggable

    - a number of code cleanups"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits)
    ARM: software-based priviledged-no-access support
    ARM: entry: provide uaccess assembly macro hooks
    ARM: entry: get rid of multiple macro definitions
    ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die()
    ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore()
    ARM: mm: improve do_ldrd_abort macro
    ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit()
    ARM: entry: efficiency cleanups
    ARM: entry: get rid of asm_trace_hardirqs_on_cond
    ARM: uaccess: simplify user access assembly
    ARM: domains: remove DOMAIN_TABLE
    ARM: domains: keep vectors in separate domain
    ARM: domains: get rid of manager mode for user domain
    ARM: domains: move initial domain setting value to asm/domains.h
    ARM: domains: provide domain_mask()
    ARM: domains: switch to keeping domain value in register
    ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE
    ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD()
    ARM: 8416/1: Feroceon: use of_iomap() to map register base
    ARM: 8415/1: early fixmap support for earlycon
    ...

    Linus Torvalds
     

06 Aug, 2015

1 commit

  • This patch adds just providers part of the framework just to enable easy
    review.

    Up until now, NVMEM drivers like eeprom were stored in drivers/misc,
    where they all had to duplicate pretty much the same code to register
    a sysfs file, allow in-kernel users to access the content of the devices
    they were driving, etc.

    This was also a problem as far as other in-kernel users were involved,
    since the solutions used were pretty much different from on driver to
    another, there was a rather big abstraction leak.

    This introduction of this framework aims at solving this. It also
    introduces DT representation for consumer devices to go get the data
    they require (MAC Addresses, SoC/Revision ID, part numbers, and so on)
    from the nvmems.

    Having regmap interface to this framework would give much better
    abstraction for nvmems on different buses.

    Signed-off-by: Maxime Ripard
    [Maxime Ripard: intial version of eeprom framework]
    Signed-off-by: Srinivas Kandagatla
    Tested-by: Stefan Wahren
    Tested-by: Philipp Zabel
    Tested-by: Rajendra Nayak
    Signed-off-by: Greg Kroah-Hartman

    Srinivas Kandagatla
     

31 Jul, 2015

1 commit

  • To enable sharing of the arm_pmu code with arm64, this patch factors it
    out to drivers/perf/. A new drivers/perf directory is added for
    performance monitor drivers to live under.

    MAINTAINERS is updated accordingly. Files added previously without a
    corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and
    perf_event.h) are also added.

    Cc: Arnaldo Carvalho de Melo
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: Linus Walleij
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Will Deacon
    Signed-off-by: Mark Rutland
    [will: augmented Kconfig help slightly]
    Signed-off-by: Will Deacon

    Mark Rutland
     

25 Jun, 2015

1 commit

  • A struct nvdimm_bus is the anchor device for registering nvdimm
    resources and interfaces, for example, a character control device,
    nvdimm devices, and I/O region devices. The ACPI NFIT (NVDIMM Firmware
    Interface Table) is one possible platform description for such
    non-volatile memory resources in a system. The nfit.ko driver attaches
    to the "ACPI0012" device that indicates the presence of the NFIT and
    parses the table to register a struct nvdimm_bus instance.

    Cc:
    Cc: Lv Zheng
    Cc: Robert Moore
    Cc: Rafael J. Wysocki
    Acked-by: Jeff Moyer
    Acked-by: Christoph Hellwig
    Acked-by: Rafael J. Wysocki
    Tested-by: Toshi Kani
    Signed-off-by: Dan Williams

    Dan Williams
     

04 Feb, 2015

1 commit

  • The I2O layer deals with a technology that to say the least didn't catch on
    in the market.

    The only relevant products are some of the AMI MegaRAID - which supported I2O
    and its native mode (The native mode is faster and runs on Linux), an
    obscure crypto ethernet card that's now so many years out of date nobody
    would use it, the old DPT controllers, which speak their own dialect and
    have their own driver - and ermm.. thats about it.

    We also know the code isn't in good shape as recently a patch was proposed
    and queried as buggy, which in turn showed the existing code was broken
    already by prior "clean up" and nobody had noticed that either.

    It's coding style robot code nothing more. Like some forgotten corridor
    cleaned relentlessly by a lost Roomba but where no user has trodden in years.

    Move it to staging and then to /dev/null.

    The headers remain as they are shared with dpt_i2o.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     

25 Jan, 2015

1 commit


16 Dec, 2014

1 commit

  • Pull staging driver updates from Greg KH:
    "Here's the big staging tree pull request for 3.19-rc1.

    We continued to delete more lines than were added, always a good
    thing, but not at a huge rate this release, only about 70k lines
    removed overall mostly from removing the horrid bcm driver.

    Lots of normal staging driver cleanups and fixes all over the place,
    well over a thousand of them, the shortlog shows all the horrid
    details.

    The "contentious" thing here is the movement of the Android binder
    code out of staging into the "real" part of the kernel. This is code
    that has been stable for a few years now and is working as-is in the
    tens of millions of devices with no issues. Yes, the code is horrid,
    and the userspace api leaves a lot to be desired, but it's not going
    to change due to legacy issues that we have no control over. Because
    so many devices and companies rely on this, and the code is stable,
    might as well promote it out of staging.

    This was all discussed at the Linux Plumbers conference, and everyone
    participating agreed that this was the best way forward.

    There is work happening to replace the binder code with something new
    that is happening right now, but I don't expect to see the results of
    that work for another year at the earliest. If that ever happens, and
    Android switches over to it, I'll gladly remove this version.

    As for maintainers, I'll be glad to maintain this code, I've been
    doing it for the past few years with no problems. I'll send a
    MAINTAINERS entry for it before 3.19-final is out, still need to talk
    to the Google developers about if they are willing to help with it or
    not, last I checked they were, which was good.

    All of these patches have been in linux-next for a while with no
    reported issues"

    * tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1382 commits)
    Staging: slicoss: Fix long line issues in slicoss.c
    staging: rtl8712: remove unnecessary else after return
    staging: comedi: change some printk calls to pr_err
    staging: rtl8723au: hal: Removed the extra semicolon
    lustre: Deletion of unnecessary checks before three function calls
    staging: lustre: fix sparse warnings: static function declaration
    staging: lustre: fixed sparse warnings related to static declarations
    staging: unisys: remove duplicate header
    staging: unisys: remove unneeded structure
    staging: ft1000 : replace __attribute ((__packed__) with __packed
    drivers: staging: rtl8192e: Include "asm/unaligned.h" instead of "access_ok.h" in "rtl819x_BAProc.c"
    Drivers:staging:rtl8192e: Fixed checkpatch warning
    Drivers:staging:clocking-wizard: Added a newline
    staging: clocking-wizard: check for a valid clk_name pointer
    staging: rtl8723au: Hal_InitPGData() avoid unnecessary typecasts
    staging: rtl8723au: _DisableAnalog(): Avoid zero-init variables unnecessarily
    staging: rtl8723au: Remove unnecessary wrapper _ResetDigitalProcedure1()
    staging: rtl8723au: _ResetDigitalProcedure1_92C() reduce code obfuscation
    staging: rtl8723au: Remove unnecessary wrapper _DisableRFAFEAndResetBB()
    staging: rtl8723au: _DisableRFAFEAndResetBB8192C(): Reduce code obfuscation
    ...

    Linus Torvalds
     

26 Nov, 2014

1 commit


20 Oct, 2014

1 commit


24 Sep, 2014

1 commit

  • The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
    the main hardware sub system which forms the backbone of the Keystone
    Multi-core Navigator. QMSS consist of queue managers, packed-data structure
    processors(PDSP), linking RAM, descriptor pools and infrastructure
    Packet DMA.

    The Queue Manager is a hardware module that is responsible for accelerating
    management of the packet queues. Packets are queued/de-queued by writing or
    reading descriptor address to a particular memory mapped location. The PDSPs
    perform QMSS related functions like accumulation, QoS, or event management.
    Linking RAM registers are used to link the descriptors which are stored in
    descriptor RAM. Descriptor RAM is configurable as internal or external memory.

    The QMSS driver manages the PDSP setups, linking RAM regions,
    queue pool management (allocation, push, pop and notify) and descriptor
    pool management. The specifics on the device tree bindings for
    QMSS can be found in:
    Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt

    Cc: Greg Kroah-Hartman
    Cc: Kumar Gala
    Cc: Olof Johansson
    Cc: Arnd Bergmann
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Mark Rutland
    Signed-off-by: Sandeep Nair
    Signed-off-by: Santosh Shilimkar

    Sandeep Nair
     

05 Aug, 2014

1 commit

  • Pull char / misc driver patches from Greg KH:
    "Here's the big driver misc / char pull request for 3.17-rc1.

    Lots of things in here, the thunderbolt support for Apple laptops,
    some other new drivers, testing fixes, and other good things. All
    have been in linux-next for a long time"

    * tag 'char-misc-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (119 commits)
    misc: bh1780: Introduce the use of devm_kzalloc
    Lattice ECP3 FPGA: Correct endianness
    drivers/misc/ti-st: Load firmware from ti-connectivity directory.
    dt-bindings: extcon: Add support for SM5502 MUIC device
    extcon: sm5502: Change internal hardware switch according to cable type
    extcon: sm5502: Detect cable state after completing platform booting
    extcon: sm5502: Add support new SM5502 extcon device driver
    extcon: arizona: Get MICVDD against extcon device
    extcon: Remove unnecessary OOM messages
    misc: vexpress: Fix sparse non static symbol warnings
    mei: drop unused hw dependent fw status functions
    misc: bh1770glc: Use managed functions
    pcmcia: remove DEFINE_PCI_DEVICE_TABLE usage
    misc: remove DEFINE_PCI_DEVICE_TABLE usage
    ipack: Replace DEFINE_PCI_DEVICE_TABLE macro use
    drivers/char/dsp56k.c: drop check for negativity of unsigned parameter
    mei: fix return value on disconnect timeout
    mei: don't schedule suspend in pm idle
    mei: start disconnect request timer consistently
    mei: reset client connection state on timeout
    ...

    Linus Torvalds
     

24 Jun, 2014

1 commit

  • To avoid confuision and conflict of usage for RAS related trace event,
    add an unified RAS trace event stub.

    Start a RAS subsystem menu which will be fleshed out in time, when more
    features get added to it.

    Signed-off-by: Chen, Gong
    Link: http://lkml.kernel.org/r/1402475691-30045-2-git-send-email-gong.chen@linux.intel.com
    Signed-off-by: Borislav Petkov
    Signed-off-by: Tony Luck

    Chen, Gong
     

20 Jun, 2014

1 commit

  • Thunderbolt hotplug is supposed to be handled by the firmware. But Apple
    decided to implement thunderbolt at the operating system level. The
    firmare only initializes thunderbolt devices that are present at boot
    time. This driver enables hotplug of thunderbolt of non-chained
    thunderbolt devices on Apple systems with a cactus ridge controller.

    This first patch adds the Kconfig file as well the parts of the driver
    which talk directly to the hardware (that is pci device setup, interrupt
    handling and RX/TX ring management).

    Signed-off-by: Andreas Noever
    Signed-off-by: Greg Kroah-Hartman

    Andreas Noever
     

24 May, 2014

1 commit

  • Based on earlier thread "https://lkml.org/lkml/2013/10/7/662" and
    discussion at Kernel Summit'2013, it was agreed to create
    'driver/soc' for drivers which are quite SOC specific.

    Further discussion on the subject is in response to
    the earlier version of the patch is here:
    http://lwn.net/Articles/588942/

    Cc: Greg Kroah-Hartman
    Cc: Kumar Gala
    Cc: Paul Walmsley
    Cc: Olof Johansson
    Cc: Arnd Bergmann
    Signed-off-by: Sandeep Nair
    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Kumar Gala

    Santosh Shilimkar
     

01 Mar, 2014

1 commit

  • The MCB (MEN Chameleon Bus) is a Bus specific to MEN Mikroelektronik
    FPGA based devices. It is used to identify MCB based IP-Cores within
    an FPGA and provide the necessary framework for instantiating drivers
    for these devices.

    Signed-off-by: Johannes Thumshirn
    Signed-off-by: Greg Kroah-Hartman

    Johannes Thumshirn
     

16 Feb, 2014

1 commit

  • System Power Management Interface (SPMI) is a specification
    developed by the MIPI (Mobile Industry Process Interface) Alliance
    optimized for the real time control of Power Management ICs (PMIC).

    SPMI is a two-wire serial interface that supports up to 4 master
    devices and up to 16 logical slaves.

    The framework supports message APIs, multiple busses (1 controller
    per bus) and multiple clients/slave devices per controller.

    Signed-off-by: Kenneth Heitke
    Signed-off-by: Michael Bohan
    Signed-off-by: Josh Cartwright
    Signed-off-by: Greg Kroah-Hartman

    Kenneth Heitke
     

14 Nov, 2013

1 commit

  • Pull ACPI and power management updates from Rafael J Wysocki:

    - New power capping framework and the the Intel Running Average Power
    Limit (RAPL) driver using it from Srinivas Pandruvada and Jacob Pan.

    - Addition of the in-kernel switching feature to the arm_big_little
    cpufreq driver from Viresh Kumar and Nicolas Pitre.

    - cpufreq support for iMac G5 from Aaro Koskinen.

    - Baytrail processors support for intel_pstate from Dirk Brandewie.

    - cpufreq support for Midway/ECX-2000 from Mark Langsdorf.

    - ARM vexpress/TC2 cpufreq support from Sudeep KarkadaNagesha.

    - ACPI power management support for the I2C and SPI bus types from Mika
    Westerberg and Lv Zheng.

    - cpufreq core fixes and cleanups from Viresh Kumar, Srivatsa S Bhat,
    Stratos Karafotis, Xiaoguang Chen, Lan Tianyu.

    - cpufreq drivers updates (mostly fixes and cleanups) from Viresh
    Kumar, Aaro Koskinen, Jungseok Lee, Sudeep KarkadaNagesha, Lukasz
    Majewski, Manish Badarkhe, Hans-Christian Egtvedt, Evgeny Kapaev.

    - intel_pstate updates from Dirk Brandewie and Adrian Huang.

    - ACPICA update to version 20130927 includig fixes and cleanups and
    some reduction of divergences between the ACPICA code in the kernel
    and ACPICA upstream in order to improve the automatic ACPICA patch
    generation process. From Bob Moore, Lv Zheng, Tomasz Nowicki, Naresh
    Bhat, Bjorn Helgaas, David E Box.

    - ACPI IPMI driver fixes and cleanups from Lv Zheng.

    - ACPI hotplug fixes and cleanups from Bjorn Helgaas, Toshi Kani, Zhang
    Yanfei, Rafael J Wysocki.

    - Conversion of the ACPI AC driver to the platform bus type and
    multiple driver fixes and cleanups related to ACPI from Zhang Rui.

    - ACPI processor driver fixes and cleanups from Hanjun Guo, Jiang Liu,
    Bartlomiej Zolnierkiewicz, Mathieu Rhéaume, Rafael J Wysocki.

    - Fixes and cleanups and new blacklist entries related to the ACPI
    video support from Aaron Lu, Felipe Contreras, Lennart Poettering,
    Kirill Tkhai.

    - cpuidle core cleanups from Viresh Kumar and Lorenzo Pieralisi.

    - cpuidle drivers fixes and cleanups from Daniel Lezcano, Jingoo Han,
    Bartlomiej Zolnierkiewicz, Prarit Bhargava.

    - devfreq updates from Sachin Kamat, Dan Carpenter, Manish Badarkhe.

    - Operation Performance Points (OPP) core updates from Nishanth Menon.

    - Runtime power management core fix from Rafael J Wysocki and update
    from Ulf Hansson.

    - Hibernation fixes from Aaron Lu and Rafael J Wysocki.

    - Device suspend/resume lockup detection mechanism from Benoit Goby.

    - Removal of unused proc directories created for various ACPI drivers
    from Lan Tianyu.

    - ACPI LPSS driver fix and new device IDs for the ACPI platform scan
    handler from Heikki Krogerus and Jarkko Nikula.

    - New ACPI _OSI blacklist entry for Toshiba NB100 from Levente Kurusa.

    - Assorted fixes and cleanups related to ACPI from Andy Shevchenko, Al
    Stone, Bartlomiej Zolnierkiewicz, Colin Ian King, Dan Carpenter,
    Felipe Contreras, Jianguo Wu, Lan Tianyu, Yinghai Lu, Mathias Krause,
    Liu Chuansheng.

    - Assorted PM fixes and cleanups from Andy Shevchenko, Thierry Reding,
    Jean-Christophe Plagniol-Villard.

    * tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (386 commits)
    cpufreq: conservative: fix requested_freq reduction issue
    ACPI / hotplug: Consolidate deferred execution of ACPI hotplug routines
    PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
    ACPI / event: remove unneeded NULL pointer check
    Revert "ACPI / video: Ignore BIOS initial backlight value for HP 250 G1"
    ACPI / video: Quirk initial backlight level 0
    ACPI / video: Fix initial level validity test
    intel_pstate: skip the driver if ACPI has power mgmt option
    PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
    ACPI / hotplug: Do not execute "insert in progress" _OST
    ACPI / hotplug: Carry out PCI root eject directly
    ACPI / hotplug: Merge device hot-removal routines
    ACPI / hotplug: Make acpi_bus_hot_remove_device() internal
    ACPI / hotplug: Simplify device ejection routines
    ACPI / hotplug: Fix handle_root_bridge_removal()
    ACPI / hotplug: Refuse to hot-remove all objects with disabled hotplug
    ACPI / scan: Start matching drivers after trying scan handlers
    ACPI: Remove acpi_pci_slot_init() headers from internal.h
    ACPI / blacklist: fix name of ThinkPad Edge E530
    PowerCap: Fix build error with option -Werror=format-security
    ...

    Conflicts:
    arch/arm/mach-omap2/opp.c
    drivers/Kconfig
    drivers/spi/spi.c

    Linus Torvalds
     

17 Oct, 2013

1 commit


28 Sep, 2013

1 commit

  • The PHY framework provides a set of APIs for the PHY drivers to
    create/destroy a PHY and APIs for the PHY users to obtain a reference to the
    PHY with or without using phandle. For dt-boot, the PHY drivers should
    also register *PHY provider* with the framework.

    PHY drivers should create the PHY by passing id and ops like init, exit,
    power_on and power_off. This framework is also pm runtime enabled.

    The documentation for the generic PHY framework is added in
    Documentation/phy.txt and the documentation for dt binding can be found at
    Documentation/devicetree/bindings/phy/phy-bindings.txt

    Cc: Tomasz Figa
    Cc: Greg Kroah-Hartman
    Signed-off-by: Kishon Vijay Abraham I
    Acked-by: Felipe Balbi
    Tested-by: Sylwester Nawrocki
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I
     

11 Jul, 2013

1 commit

  • Pull MFD update from Samuel Ortiz:
    "For the 3.11 merge we only have one new MFD driver for the Kontron
    PLD.

    But we also have:
    - Support for the TPS659038 PMIC from the palmas driver.
    - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich
    driver.
    - RTL8411B support from the rtsx driver.
    - More DT support for the Arizona, max8998, twl4030-power and the
    ti_am335x_tsadc drivers.
    - The SSBI driver move under MFD.
    - A conversion to the devm_* API for most of the MFD drivers.
    - The twl4030-power got split from twl-core into its own module.
    - A major ti_am335x_adc cleanup, leading to a proper DT support.
    - Our regular arizona and wm* updates and cleanups from the Wolfson
    folks.
    - A better error handling and initialization, and a regulator
    subdevice addition for the 88pm80x driver.
    - A bulk platform_set_drvdata() call removal that's no longer need
    since commit 0998d0631001 ("device-core: Ensure drvdata = NULL when
    no driver is bound")

    * tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (102 commits)
    mfd: sec: Provide max_register to regmap
    mfd: wm8994: Remove duplicate check for active JACKDET
    MAINTAINERS: Add include directory to MFD file patterns
    mfd: sec: Remove fields not used since regmap conversion
    watchdog: Kontron PLD watchdog timer driver
    mfd: max8998: Add support for Device Tree
    regulator: max8998: Use arrays for specifying voltages in platform data
    mfd: max8998: Add irq domain support
    regulator: palmas: Add TPS659038 support
    mfd: Kontron PLD mfd driver
    mfd: palmas: Add TPS659038 PMIC support
    mfd: palmas: Add SMPS10_BOOST feature
    mfd: palmas: Check if irq is valid
    mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
    mfd: twl-core: Change TWL6025 references to TWL6032
    mfd: davinci_voicecodec: Fix build breakage
    mfd: vexpress: Make the driver optional for arm and arm64
    mfd: htc-egpio: Use devm_ioremap_nocache() instead of ioremap_nocache()
    mfd: davinci_voicecodec: Convert to use devm_* APIs
    mfd: twl4030-power: Fix relocking on error
    ...

    Linus Torvalds
     

18 Jun, 2013

1 commit

  • This commit creates the drivers/fmc directory and puts the necessary
    hooks for kbuild and kconfig. The code is currently a placeholder
    that only registers an empty bus.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     

12 Jun, 2013

1 commit

  • There is no reason for ssbi to have its own top-level driver directory
    when the only users of this interface are all MFD drivers. The only
    mainline driver using it at the moment (PM8921) is marked broken and in
    fact does not compile. I have verified that fixing the trivial build
    breakage in pm8921 links in the new ssbi code just fine, but that
    can be a separate patch.

    Signed-off-by: Arnd Bergmann
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: David Brown
    Signed-off-by: Samuel Ortiz

    Arnd Bergmann
     

05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

01 May, 2013

1 commit

  • Make virtualization drivers be logically grouped together (physically
    near each other) in the kconfig menu by moving "Virtualization drivers"
    to be near "Virtio drivers", Microsort Hyper-V, and Xen driver support.

    This is just a user-friendly, visual search change.

    Signed-off-by: Randy Dunlap
    Cc: Alexander Graf
    Cc: Stuart Yoder
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

12 Apr, 2013

1 commit

  • This adds a simple API for devices to request being reset
    by separate reset controller hardware and implements the
    reset signal device tree binding.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Stephen Warren
    Reviewed-by: Shawn Guo
    Reviewed-by: Marek Vasut
    Reviewed-by: Pavel Machek

    Philipp Zabel
     

26 Mar, 2013

1 commit

  • SSBI is the Qualcomm single-wire serial bus interface used to connect
    the MSM devices to the PMIC and other devices.

    Since SSBI only supports a single slave, the driver gets the name of the
    slave device passed in from the board file through the master device's
    platform data.

    SSBI registers pretty early (postcore), so that the PMIC can come up
    before the board init. This is useful if the board init requires the
    use of gpios that are connected through the PMIC.

    Based on a patch by Dima Zavin that can be found at:
    http://android.git.kernel.org/?p=kernel/msm.git;a=commitdiff;h=eb060bac4

    This patch adds PMIC Arbiter support for the MSM8660. The PMIC Arbiter
    is a hardware wrapper around the SSBI 2.0 controller that is designed to
    overcome concurrency issues and security limitations. A controller_type
    field is added to the platform data to specify the type of the SSBI
    controller (1.0, 2.0, or PMIC Arbiter).

    [davidb@codeaurora.org:
    I've moved this driver into drivers/ssbi/ and added an include for
    linux/module.h so that it will compile]

    Signed-off-by: Kenneth Heitke
    Signed-off-by: David Brown
    Signed-off-by: Greg Kroah-Hartman

    Kenneth Heitke
     

22 Feb, 2013

1 commit

  • Pull char/misc driver patches from Greg Kroah-Hartman:
    "Here's the big char/misc driver patches for 3.9-rc1.

    Nothing major here, just lots of different driver updates (mei,
    hyperv, ipack, extcon, vmci, etc.).

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

    * tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (209 commits)
    w1: w1_therm: Add force-pullup option for "broken" sensors
    w1: ds2482: Added 1-Wire pull-up support to the driver
    vme: add missing put_device() after device_register() fails
    extcon: max8997: Use workqueue to check cable state after completing boot of platform
    extcon: max8997: Set default UART/USB path on probe
    extcon: max8997: Consolidate duplicate code for checking ADC/CHG cable type
    extcon: max8997: Set default of ADC debounce time during initialization
    extcon: max8997: Remove duplicate code related to set H/W line path
    extcon: max8997: Move defined constant to header file
    extcon: max77693: Make max77693_extcon_cable static
    extcon: max8997: Remove unreachable code
    extcon: max8997: Make max8997_extcon_cable static
    extcon: max77693: Remove unnecessary goto statement to improve readability
    extcon: max77693: Convert to devm_input_allocate_device()
    extcon: gpio: Rename filename of extcon-gpio.c according to kernel naming style
    CREDITS: update email and address of Harald Hoyer
    extcon: arizona: Use MICDET for final microphone identification
    extcon: arizona: Always take the first HPDET reading as the final one
    extcon: arizona: Clear _trig_sts bits after jack detection
    extcon: arizona: Don't HPDET magic when headphones are enabled
    ...

    Linus Torvalds
     

02 Feb, 2013

1 commit

  • The pl320 IPC allows for interprocessor communication between the
    highbank A9 and the EnergyCore Management Engine. The pl320 implements
    a straightforward mailbox protocol.

    Signed-off-by: Mark Langsdorf
    Signed-off-by: Rob Herring
    Signed-off-by: Rafael J. Wysocki

    Rob Herring
     

18 Jan, 2013

1 commit

  • A PCI-Express non-transparent bridge (NTB) is a point-to-point PCIe bus
    connecting 2 systems, providing electrical isolation between the two subsystems.
    A non-transparent bridge is functionally similar to a transparent bridge except
    that both sides of the bridge have their own independent address domains. The
    host on one side of the bridge will not have the visibility of the complete
    memory or I/O space on the other side of the bridge. To communicate across the
    non-transparent bridge, each NTB endpoint has one (or more) apertures exposed to
    the local system. Writes to these apertures are mirrored to memory on the
    remote system. Communications can also occur through the use of doorbell
    registers that initiate interrupts to the alternate domain, and scratch-pad
    registers accessible from both sides.

    The NTB device driver is needed to configure these memory windows, doorbell, and
    scratch-pad registers as well as use them in such a way as they can be turned
    into a viable communication channel to the remote system. ntb_hw.[ch]
    determines the usage model (NTB to NTB or NTB to Root Port) and abstracts away
    the underlying hardware to provide access and a common interface to the doorbell
    registers, scratch pads, and memory windows. These hardware interfaces are
    exported so that other, non-mainlined kernel drivers can access these.
    ntb_transport.[ch] also uses the exported interfaces in ntb_hw.[ch] to setup a
    communication channel(s) and provide a reliable way of transferring data from
    one side to the other, which it then exports so that "client" drivers can access
    them. These client drivers are used to provide a standard kernel interface
    (i.e., Ethernet device) to NTB, such that Linux can transfer data from one
    system to the other in a standard way.

    Signed-off-by: Jon Mason
    Reviewed-by: Nicholas Bellinger
    Signed-off-by: Greg Kroah-Hartman

    Jon Mason
     

17 Nov, 2012

1 commit