09 Jun, 2017

1 commit


23 Feb, 2017

1 commit


24 Oct, 2016

1 commit

  • Pull IPMI updates from Corey Minyard:
    "A small bug fix and a new driver for acting as an IPMI device.

    I was on vacation during the merge window (a long vacation) but this
    is a bug fix that should go in and a new driver that shouldn't hurt
    anything.

    This has been in linux-next for a month or so"

    * tag 'for-linus-4.9-2' of git://git.code.sf.net/p/openipmi/linux-ipmi:
    ipmi: fix crash on reading version from proc after unregisted bmc
    ipmi/bt-bmc: remove redundant return value check of platform_get_resource()
    ipmi/bt-bmc: add a dependency on ARCH_ASPEED
    ipmi: Fix ioremap error handling in bt-bmc
    ipmi: add an Aspeed BT IPMI BMC driver

    Linus Torvalds
     

30 Sep, 2016

1 commit

  • This patch adds a simple device driver to expose the iBT interface on
    Aspeed SOCs (AST2400 and AST2500) as a character device. Such SOCs are
    commonly used as BMCs (BaseBoard Management Controllers) and this
    driver implements the BMC side of the BT interface.

    The BT (Block Transfer) interface is used to perform in-band IPMI
    communication between a host and its BMC. Entire messages are buffered
    before sending a notification to the other end, host or BMC, that
    there is data to be read. Usually, the host emits requests and the BMC
    responses but the specification provides a mean for the BMC to send
    SMS Attention (BMC-to-Host attention or System Management Software
    attention) messages.

    For this purpose, the driver introduces a specific ioctl on the
    device: 'BT_BMC_IOCTL_SMS_ATN' that can be used by the system running
    on the BMC to signal the host of such an event.

    The device name defaults to '/dev/ipmi-bt-host'

    Signed-off-by: Alistair Popple
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Joel Stanley
    [clg: - checkpatch fixes
    - added a devicetree binding documentation
    - replace 'bt_host' by 'bt_bmc' to reflect that the driver is
    the BMC side of the IPMI BT interface
    - renamed the device to 'ipmi-bt-host'
    - introduced a temporary buffer to copy_{to,from}_user
    - used platform_get_irq()
    - moved the driver under drivers/char/ipmi/ but kept it as a misc
    device
    - changed the compatible cell to "aspeed,ast2400-bt-bmc"
    ]
    Signed-off-by: Cédric Le Goater
    Acked-by: Arnd Bergmann
    [clg: - checkpatch --strict fixes
    - removed the use of devm_iounmap, devm_kfree in cleanup paths
    - introduced an atomic-t to limit opens to 1
    - introduced a mutex to protect write/read operations]
    Acked-by: Rob Herring
    Signed-off-by: Cédric Le Goater
    Signed-off-by: Corey Minyard

    Alistair Popple
     

23 Sep, 2016

1 commit

  • Several SoCs implement platform drivers for clocks rather than
    CLK_OF_DECLARE(). Clocks should come earlier because they are
    prerequisites for many of other drivers. It will help to mitigate
    EPROBE_DEFER issues.

    Also, drop the comment since it does not carry much value.

    Signed-off-by: Masahiro Yamada
    Acked-by: Michael Turquette
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     

06 Aug, 2016

1 commit

  • Pull virtio/vhost updates from Michael Tsirkin:

    - new vsock device support in host and guest

    - platform IOMMU support in host and guest, including compatibility
    quirks for legacy systems.

    - misc fixes and cleanups.

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    VSOCK: Use kvfree()
    vhost: split out vringh Kconfig
    vhost: detect 32 bit integer wrap around
    vhost: new device IOTLB API
    vhost: drop vringh dependency
    vhost: convert pre sorted vhost memory array to interval tree
    vhost: introduce vhost memory accessors
    VSOCK: Add Makefile and Kconfig
    VSOCK: Introduce vhost_vsock.ko
    VSOCK: Introduce virtio_transport.ko
    VSOCK: Introduce virtio_vsock_common.ko
    VSOCK: defer sock removal to transports
    VSOCK: transport-specific vsock_transport functions
    vhost: drop vringh dependency
    vop: pull in vhost Kconfig
    virtio: new feature to detect IOMMU device quirk
    balloon: check the number of available pages in leak balloon
    vhost: lockless enqueuing
    vhost: simplify work flushing

    Linus Torvalds
     

02 Aug, 2016

1 commit


28 Jul, 2016

2 commits

  • Pull HSI updates from Sebastian Reichel:

    - proper runtime pm support for omap-ssi and ssi-protocol

    - misc fixes

    * tag 'hsi-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi: (24 commits)
    HSI: omap_ssi: drop pm_runtime_irq_safe
    HSI: omap_ssi_port: use rpm autosuspend API
    HSI: omap_ssi: call msg->complete() from process context
    HSI: omap_ssi_port: ensure clocks are kept enabled during transfer
    HSI: omap_ssi_port: replace pm_runtime_put_sync with non-sync variant
    HSI: omap_ssi_port: avoid calling runtime_pm_*_sync inside spinlock
    HSI: omap_ssi_port: avoid pm_runtime_get_sync in ssi_start_dma and ssi_start_pio
    HSI: omap_ssi_port: switch to threaded pio irq
    HSI: omap_ssi_core: remove pm_runtime_get_sync call from tasklet
    HSI: omap_ssi_core: use pm_runtime_put instead of pm_runtime_put_sync
    HSI: omap_ssi_port: prepare start_tx/stop_tx for blocking pm_runtime calls
    HSI: core: switch port event notifier from atomic to blocking
    HSI: omap_ssi_port: replace wkin_cken with atomic bitmap operations
    HSI: omap_ssi: convert cawake irq handler to thread
    HSI: ssi_protocol: fix ssip_xmit invocation
    HSI: ssi_protocol: replace spin_lock with spin_lock_bh
    HSI: ssi_protocol: avoid ssi_waketest call with held spinlock
    HSI: omap_ssi: do not reset module
    HSI: omap_ssi_port: remove useless newline
    hsi: Only descend into hsi directory when CONFIG_HSI is set
    ...

    Linus Torvalds
     
  • Pull LED updates from Jacek Anaszewski:
    "New LED class driver:
    - LED driver for TI LP3952 6-Channel Color LED

    LED core improvements:
    - Only descend into leds directory when CONFIG_NEW_LEDS is set
    - Add no-op gpio_led_register_device when LED subsystem is disabled
    - MAINTAINERS: Add file patterns for led device tree bindings

    LED Trigger core improvements:
    - return error if invalid trigger name is provided via sysfs

    LED class drivers improvements
    - is31fl32xx: define complete i2c_device_id table
    - is31fl32xx: fix typo in id and match table names
    - leds-gpio: Set of_node for created LED devices
    - pca9532: Add device tree support

    Conversion of IDE trigger to common disk trigger:
    - leds: convert IDE trigger to common disk trigger
    - leds: documentation: 'ide-disk' to 'disk-activity'
    - unicore32: use the new LED disk activity trigger
    - parisc: use the new LED disk activity trigger
    - mips: use the new LED disk activity trigger
    - arm: use the new LED disk activity trigger
    - powerpc: use the new LED disk activity trigger"

    * tag 'leds_for_4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
    leds: is31fl32xx: define complete i2c_device_id table
    leds: is31fl32xx: fix typo in id and match table names
    leds: LED driver for TI LP3952 6-Channel Color LED
    leds: leds-gpio: Set of_node for created LED devices
    leds: triggers: return error if invalid trigger name is provided via sysfs
    leds: Only descend into leds directory when CONFIG_NEW_LEDS is set
    leds: Add no-op gpio_led_register_device when LED subsystem is disabled
    unicore32: use the new LED disk activity trigger
    parisc: use the new LED disk activity trigger
    mips: use the new LED disk activity trigger
    arm: use the new LED disk activity trigger
    powerpc: use the new LED disk activity trigger
    leds: documentation: 'ide-disk' to 'disk-activity'
    leds: convert IDE trigger to common disk trigger
    leds: pca9532: Add device tree support
    MAINTAINERS: Add file patterns for led device tree bindings

    Linus Torvalds
     

27 Jul, 2016

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.8 kernel cycle. The big
    news is the completion of the chardev ABI which I'm very happy about
    and apart from that it's an ordinary, quite busy cycle. The details
    are below.

    The patches are tested in linux-next for some time, patches to other
    subsystem mostly have ACKs.

    I got overly ambitious with configureing lines as input for IRQ lines
    but it turns out that some controllers have their interrupt-enable and
    input-enabling in orthogonal settings so the assumption that all IRQ
    lines are input lines does not hold. Oh well, revert and back to the
    drawing board with that.

    Core changes:

    - The big item is of course the completion of the character device
    ABI. It has now replaced and surpassed the former unmaintainable
    sysfs ABI: we can now hammer (bitbang) individual lines or sets of
    lines and read individual lines or sets of lines from userspace,
    and we can also register to listen to GPIO events from userspace.

    As a tie-in we have two new tools in tools/gpio: gpio-hammer and
    gpio-event-mon that illustrate the proper use of the new ABI. As
    someone said: the wild west days of GPIO are now over.

    - Continued to remove the pointless ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
    Kconfig symbols. I'm patching hexagon, openrisc, powerpc, sh,
    unicore, ia64 and microblaze. These are either ACKed by their
    maintainers or patched anyways after a grace period and no response
    from maintainers.

    Some archs (ARM) come in from their trees, and others (x86) are
    still not fixed, so I might send a second pull request to root it
    out later in this merge window, or just defer to v4.9.

    - The GPIO tools are moved to the tools build system.

    New drivers:

    - New driver for the MAX77620/MAX20024.

    - New driver for the Intel Merrifield.

    - Enabled PCA953x for the TI PCA9536.

    - Enabled PCA953x for the Intel Edison.

    - Enabled R8A7792 in the RCAR driver.

    Driver improvements:

    - The STMPE and F7188x now supports the .get_direction() callback.

    - The Xilinx driver supports setting multiple lines at once.

    - ACPI support for the Vulcan GPIO controller.

    - The MMIO GPIO driver supports device tree probing.

    - The Acer One 10 is supported through the _DEP ACPI attribute.

    Cleanups:

    - A major cleanup of the OF/DT support code. It is way easier to
    read and understand now, probably this improves performance too.

    - Drop a few redundant .owner assignments.

    - Remove CLPS711x boardfile support: we are 100% DT"

    * tag 'gpio-v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (67 commits)
    MAINTAINERS: Add INTEL MERRIFIELD GPIO entry
    gpio: dwapb: add missing fwnode_handle_put() in dwapb_gpio_get_pdata()
    gpio: merrifield: Protect irq_ack() and gpio_set() by lock
    gpio: merrifield: Introduce GPIO driver to support Merrifield
    gpio: intel-mid: Make it depend to X86_INTEL_MID
    gpio: intel-mid: Sort header block alphabetically
    gpio: intel-mid: Remove potentially harmful code
    gpio: rcar: add R8A7792 support
    gpiolib: remove duplicated include from gpiolib.c
    Revert "gpio: convince line to become input in irq helper"
    gpiolib: of_find_gpio(): Don't discard errors
    gpio: of: Allow overriding the device node
    gpio: free handles in fringe cases
    gpio: tps65218: Add platform_device_id table
    gpio: max77620: get gpio value based on direction
    gpio: lynxpoint: avoid potential warning on error path
    tools/gpio: add install section
    tools/gpio: move to tools buildsystem
    gpio: intel-mid: switch to devm_gpiochip_add_data()
    gpio: 74x164: Use spi_write() helper instead of open coding
    ...

    Linus Torvalds
     

27 Jun, 2016

1 commit


15 Jun, 2016

1 commit


14 Jun, 2016

1 commit


30 May, 2016

1 commit

  • Since commits 71d076ceb245f0d9 ("ARM: shmobile: Enable PM and
    PM_GENERIC_DOMAINS for SoCs with PM Domains") and 2ee98234b88174f2
    ("arm64: renesas: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM
    Domains"), CONFIG_PM and CONFIG_PM_GENERIC_DOMAINS are enabled
    unconditionally for Renesas ARM-based SoCs. Hence the legacy clock
    domain is no longer used on these SoCs.

    Remove the related support code, and stop entering drivers/sh/ on ARM.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Simon Horman

    Geert Uytterhoeven
     

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
     

08 Dec, 2015

1 commit

  • Currently the reset/power off handlers (POWER_RESET) and Adaptive Voltage
    Scaling class (POWER_AVS) are not built when POWER_SUPPLY is disabled.
    The POWER_RESET is also not visible in drivers main section of config.

    However they do not really depend on power supply so they can be built
    always. The objects for power supply drivers already depend on
    particular Kconfig symbols so there is no need for any changes in
    drivers/power/Makefile.

    This allows selecting POWER_RESET from main drivers config section and
    fixes following build warning (encountered on ARM exynos defconfig when
    POWER_SUPPLY is disabled manually):

    warning: (ARCH_HISI && ARCH_INTEGRATOR && ARCH_EXYNOS && ARCH_VEXPRESS && REALVIEW_DT) selects POWER_RESET which has unmet direct dependencies (POWER_SUPPLY)
    warning: (ARCH_EXYNOS) selects POWER_RESET_SYSCON which has unmet direct dependencies (POWER_SUPPLY && POWER_RESET && OF)
    warning: (ARCH_EXYNOS) selects POWER_RESET_SYSCON_POWEROFF which has unmet direct dependencies (POWER_SUPPLY && POWER_RESET && OF)

    Reported-by: Pavel Fedin
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Sebastian Reichel

    Krzysztof Kozlowski
     

17 Nov, 2015

1 commit

  • Add support for registering as a LightNVM device. This allows us to
    evaluate the performance of the LightNVM subsystem.

    In /drivers/Makefile, LightNVM is moved above block device drivers
    to make sure that the LightNVM media managers have been initialized
    before drivers under /drivers/block are initialized.

    Signed-off-by: Matias Bjørling
    Fix by Jens Axboe to remove unneeded slab cache and the following
    memory leak.
    Signed-off-by: Jens Axboe

    Matias Bjørling
     

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
     

05 Sep, 2015

1 commit

  • Pull pin control updates from Linus Walleij:
    "This is the bulk of pin control changes for the v4.3 development
    cycle.

    Like with GPIO it's a lot of stuff. If my subsystems are any sign of
    the overall tempo of the kernel v4.3 will be a gigantic diff.

    [ It looks like 4.3 is calmer than 4.2 in most other subsystems, but
    we'll see - Linus ]

    Core changes:

    - It is possible configure groups in debugfs.

    - Consolidation of chained IRQ handler install/remove replacing all
    call sites where irq_set_handler_data() and
    irq_set_chained_handler() were done in succession with a combined
    call to irq_set_chained_handler_and_data(). This series was
    created by Thomas Gleixner after the problem was observed by
    Russell King.

    - Tglx also made another series of patches switching
    __irq_set_handler_locked() for irq_set_handler_locked() which is
    way cleaner.

    - Tglx also wrote a good bunch of patches to make use of
    irq_desc_get_xxx() accessors and avoid looking up irq_descs from
    IRQ numbers. The goal is to get rid of the irq number from the
    handlers in the IRQ flow which is nice.

    Driver feature enhancements:

    - Power management support for the SiRF SoC Atlas 7.

    - Power down support for the Qualcomm driver.

    - Intel Cherryview and Baytrail: switch drivers to use raw spinlocks
    in IRQ handlers to play nice with the realtime patch set.

    - Rework and new modes handling for Qualcomm SPMI-MPP.

    - Pinconf power source config for SH PFC.

    New drivers and subdrivers:

    - A new driver for Conexant Digicolor CX92755.

    - A new driver for UniPhier PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5,
    ProXtream2 and PH1-LD6b SoC pin control support.

    - Reverse-egineered the S/PDIF settings for the Allwinner sun4i
    driver.

    - Support for Qualcomm Technologies QDF2xxx ARM64 SoCs

    - A new Freescale i.mx6ul subdriver.

    Cleanup:

    - Remove platform data support in a number of SH PFC subdrivers"

    * tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (95 commits)
    pinctrl: at91: fix null pointer dereference
    pinctrl: mediatek: Implement wake handler and suspend resume
    pinctrl: mediatek: Fix multiple registration issue.
    pinctrl: sh-pfc: r8a7794: add USB pin groups
    pinctrl: at91: Use generic irq_{request,release}_resources()
    pinctrl: cherryview: Use raw_spinlock for locking
    pinctrl: baytrail: Use raw_spinlock for locking
    pinctrl: imx6ul: Remove .owner field
    pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp
    pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching
    clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks
    pinctrl: sun4i: add spdif to pin description.
    pinctrl: atlas7: clear ugly branch statements for pull and drivestrength
    pinctrl: baytrail: Serialize all register access
    pinctrl: baytrail: Drop FSF mailing address
    pinctrl: rockchip: only enable gpio clock when it setting
    pinctrl/mediatek: fix spelling mistake in dev_err error message
    pinctrl: cherryview: Serialize all register access
    pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting
    pinctrl: nomadik: reflect current input value
    ...

    Linus Torvalds
     

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
     

16 Jul, 2015

1 commit


30 Jun, 2015

1 commit

  • Pull libnvdimm subsystem from Dan Williams:
    "The libnvdimm sub-system introduces, in addition to the
    libnvdimm-core, 4 drivers / enabling modules:

    NFIT:
    Instantiates an "nvdimm bus" with the core and registers memory
    devices (NVDIMMs) enumerated by the ACPI 6.0 NFIT (NVDIMM Firmware
    Interface table).

    After registering NVDIMMs the NFIT driver then registers "region"
    devices. A libnvdimm-region defines an access mode and the
    boundaries of persistent memory media. A region may span multiple
    NVDIMMs that are interleaved by the hardware memory controller. In
    turn, a libnvdimm-region can be carved into a "namespace" device and
    bound to the PMEM or BLK driver which will attach a Linux block
    device (disk) interface to the memory.

    PMEM:
    Initially merged in v4.1 this driver for contiguous spans of
    persistent memory address ranges is re-worked to drive
    PMEM-namespaces emitted by the libnvdimm-core.

    In this update the PMEM driver, on x86, gains the ability to assert
    that writes to persistent memory have been flushed all the way
    through the caches and buffers in the platform to persistent media.
    See memcpy_to_pmem() and wmb_pmem().

    BLK:
    This new driver enables access to persistent memory media through
    "Block Data Windows" as defined by the NFIT. The primary difference
    of this driver to PMEM is that only a small window of persistent
    memory is mapped into system address space at any given point in
    time.

    Per-NVDIMM windows are reprogrammed at run time, per-I/O, to access
    different portions of the media. BLK-mode, by definition, does not
    support DAX.

    BTT:
    This is a library, optionally consumed by either PMEM or BLK, that
    converts a byte-accessible namespace into a disk with atomic sector
    update semantics (prevents sector tearing on crash or power loss).

    The sinister aspect of sector tearing is that most applications do
    not know they have a atomic sector dependency. At least today's
    disk's rarely ever tear sectors and if they do one almost certainly
    gets a CRC error on access. NVDIMMs will always tear and always
    silently. Until an application is audited to be robust in the
    presence of sector-tearing the usage of BTT is recommended.

    Thanks to: Ross Zwisler, Jeff Moyer, Vishal Verma, Christoph Hellwig,
    Ingo Molnar, Neil Brown, Boaz Harrosh, Robert Elliott, Matthew Wilcox,
    Andy Rudoff, Linda Knippers, Toshi Kani, Nicholas Moulin, Rafael
    Wysocki, and Bob Moore"

    * tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm: (33 commits)
    arch, x86: pmem api for ensuring durability of persistent memory updates
    libnvdimm: Add sysfs numa_node to NVDIMM devices
    libnvdimm: Set numa_node to NVDIMM devices
    acpi: Add acpi_map_pxm_to_online_node()
    libnvdimm, nfit: handle unarmed dimms, mark namespaces read-only
    pmem: flag pmem block devices as non-rotational
    libnvdimm: enable iostat
    pmem: make_request cleanups
    libnvdimm, pmem: fix up max_hw_sectors
    libnvdimm, blk: add support for blk integrity
    libnvdimm, btt: add support for blk integrity
    fs/block_dev.c: skip rw_page if bdev has integrity
    libnvdimm: Non-Volatile Devices
    tools/testing/nvdimm: libnvdimm unit test infrastructure
    libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory
    nd_btt: atomic sector updates
    libnvdimm: infrastructure for btt devices
    libnvdimm: write blk label set
    libnvdimm: write pmem label set
    libnvdimm: blk labels and namespace instantiation
    ...

    Linus Torvalds
     

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
     

25 May, 2015

1 commit

  • Remove the last reference on menuconfig I20 that has been removed by
    commit 4a72a7af462d ("staging: remove i2o subsystem").

    Signed-off-by: Valentin Rothberg
    Signed-off-by: Greg Kroah-Hartman

    Valentin Rothberg
     

03 Apr, 2015

1 commit

  • Keeping drivers related to HW tracing on ARM, i.e coresight,
    under "drivers/coresight" doesn't make sense when other
    architectures start rolling out technologies of the same
    nature.

    As such creating a new "drivers/hwtracing" directory where all
    drivers of the same kind can reside, reducing namespace
    pollution under "drivers/".

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     

22 Dec, 2014

1 commit

  • AMD GPU devices are dependent on AMD IOMMU controller functionality to allow
    the GPU to access a process's virtual memory address space, without the need
    for pinning the memory.

    This patch changes the order in the drivers makefile, so iommu/ subsystem is
    linked before gpu/ subsystem. That way, if the gpu and iommu drivers are
    compiled inside the kernel image (not as modules), the correct order of device
    loading is still maintained (iommu module is loaded before gpu module).

    Signed-off-by: Oded Gabbay
    Reviewed-by: Christian König

    Oded Gabbay
     

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
     

08 Nov, 2014

1 commit

  • CoreSight components are compliant with the ARM CoreSight
    architecture specification and can be connected in various
    topologies to suit a particular SoC tracing needs. These trace
    components can generally be classified as sources, links and
    sinks. Trace data produced by one or more sources flows through
    the intermediate links connecting the source to the currently
    selected sink.

    The CoreSight framework provides an interface for the CoreSight trace
    drivers to register themselves with. It's intended to build up a
    topological view of the CoreSight components and configure the
    correct serie of components on user input via sysfs.

    For eg., when enabling a source, the framework builds up a path
    consisting of all the components connecting the source to the
    currently selected sink(s) and enables all of them.

    The framework also supports switching between available sinks
    and provides status information to user space applications
    through the debugfs interface.

    Signed-off-by: Pratik Patel
    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Pratik Patel
     

20 Oct, 2014

1 commit


05 Aug, 2014

2 commits

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

    Largest thing in here is the dma-buf rework and fence code, that
    touched many different subsystems so it was agreed it should go
    through this tree to handle merge issues. There's also some firmware
    loading updates, as well as tests added, and a few other tiny changes,
    the changelog has the details.

    All have been in linux-next for a long time"

    * tag 'driver-core-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
    ARM: imx: Remove references to platform_bus in mxc code
    firmware loader: Fix _request_firmware_load() return val for fw load abort
    platform: Remove most references to platform_bus device
    test: add firmware_class loader test
    doc: fix minor typos in firmware_class README
    staging: android: Cleanup style issues
    Documentation: devres: Sort managed interfaces
    Documentation: devres: Add devm_kmalloc() et al
    fs: debugfs: remove trailing whitespace
    kernfs: kernel-doc warning fix
    debugfs: Fix corrupted loop in debugfs_remove_recursive
    stable_kernel_rules: Add pointer to netdev-FAQ for network patches
    driver core: platform: add device binding path 'driver_override'
    driver core/platform: remove unused implicit padding in platform_object
    firmware loader: inform direct failure when udev loader is disabled
    firmware: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN
    firmware: read firmware size using i_size_read()
    firmware loader: allow disabling of udev as firmware loader
    reservation: add suppport for read-only access using rcu
    reservation: update api and add some helpers
    ...

    Conflicts:
    drivers/base/platform.c

    Linus Torvalds
     
  • 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
     

09 Jul, 2014

1 commit


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