30 Jul, 2018

1 commit


08 Jan, 2018

1 commit

  • Add code implementing managed version of serdev_device_open() for
    serdev device drivers that "open" the device during driver's lifecycle
    only once (e.g. opened in .probe() and closed in .remove()).

    Acked-by: Philippe Ombredanne
    Acked-by: Pavel Machek
    Acked-by: Rob Herring
    Reviewed-by: Sebastian Reichel
    Reviewed-by: Guenter Roeck
    Signed-off-by: Andrey Smirnov
    Signed-off-by: Lee Jones

    Andrey Smirnov
     

18 Nov, 2017

1 commit

  • Pull clk updates from Stephen Boyd:
    "We have two changes to the core framework this time around.

    The first being a large change that introduces runtime PM support to
    the clk framework. Now we properly call runtime PM operations on the
    device providing a clk when the clk is in use. This helps on SoCs
    where the clks provided by a device need something to be powered on
    before using the clks, like power domains or regulators. It also helps
    power those things down when clks aren't in use.

    The other core change is a devm API addition for clk providers so we
    can get rid of a bunch of clk driver remove functions that are just
    doing of_clk_del_provider().

    Outside of the core, we have the usual addition of clk drivers and
    smattering of non-critical fixes to existing drivers. The biggest diff
    is support for Mediatek MT2712 and MT7622 SoCs, but those patches
    really just add a bunch of data.

    By the way, we're trying something new here where we build the tree up
    with topic branches. We plan to work this into our workflow so that we
    don't step on each other's toes, and so the fixes branch can be merged
    on an as-needed basis.

    Summary:

    Core:
    - runtime PM support for clk providers
    - devm API for of_clk_add_hw_provider()

    New Drivers:
    - Mediatek MT2712 and MT7622
    - Renesas R-Car V3M SoC

    Updates:
    - runtime PM support for Samsung exynos5433/exynos4412 providers
    - removal of clkdev aliases on Samsung SoCs
    - convert clk-gpio to use gpio descriptors
    - various driver cleanups to match kernel coding style
    - Amlogic Video Processing Unit VPU and VAPB clks
    - sigma-delta modulation for Allwinner audio PLLs
    - Allwinner A83t Display clks
    - support for the second display unit clock on Renesas RZ/G1E
    - suspend/resume support for Renesas R-Car Gen3 CPG/MSSR
    - new clock ids for Rockchip rk3188 and rk3368 SoCs
    - various 'const' markings on clk_ops structures
    - RPM clk support on Qualcomm MSM8996/MSM8660 SoCs"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (137 commits)
    clk: stm32h7: fix test of clock config
    clk: pxa: fix building on older compilers
    clk: sunxi-ng: a83t: Fix i2c buses bits
    clk: ti: dra7-atl-clock: fix child-node lookups
    clk: qcom: common: fix legacy board-clock registration
    clk: uniphier: fix DAPLL2 clock rate of Pro5
    clk: uniphier: fix parent of miodmac clock data
    clk: hi3798cv200: correct parent mux clock for 'clk_sdio0_ciu'
    clk: hisilicon: Delete an error message for a failed memory allocation in hisi_register_clkgate_sep()
    clk: hi3660: fix incorrect uart3 clock freqency
    clk: kona-setup: Delete error messages for failed memory allocations
    ARC: clk: fix spelling mistake: "configurarion" -> "configuration"
    clk: cdce925: remove redundant check for non-null parent_name
    clk: versatile: Improve sizeof() usage
    clk: versatile: Delete error messages for failed memory allocations
    clk: ux500: Improve sizeof() usage
    clk: ux500: Delete error messages for failed memory allocations
    clk: spear: Delete error messages for failed memory allocations
    clk: ti: Delete error messages for failed memory allocations
    clk: mmp: Adjust checks for NULL pointers
    ...

    Linus Torvalds
     

02 Nov, 2017

1 commit


19 Sep, 2017

1 commit

  • DRIVER_ATTR is no longer in use, and driver authors should be using
    DRIVER_ATTR_RW() or DRIVER_ATTR_RO() or DRIVER_ATTR_WO() instead in
    order to always get the permissions correct. So remove it so that no
    one can use it anymore.

    Acked-by: Alan Tull
    Reviewed-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

16 Aug, 2017

1 commit

  • Add a resource managed version of irq_sim_init(). This can be
    conveniently used in device drivers.

    Signed-off-by: Bartosz Golaszewski
    Acked-by: Jonathan Cameron
    Cc: Lars-Peter Clausen
    Cc: Jonathan Corbet
    Cc: Marc Zyngier
    Cc: Linus Walleij
    Cc: linux-doc@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Cc: Bamvor Jian Zhang
    Cc: Jonathan Cameron
    Link: http://lkml.kernel.org/r/20170814145318.6495-3-brgl@bgdev.pl
    Signed-off-by: Thomas Gleixner

    Bartosz Golaszewski
     

09 Jul, 2017

1 commit

  • Pull PCI updates from Bjorn Helgaas:

    - add sysfs max_link_speed/width, current_link_speed/width (Wong Vee
    Khee)

    - make host bridge IRQ mapping much more generic (Matthew Minter,
    Lorenzo Pieralisi)

    - convert most drivers to pci_scan_root_bus_bridge() (Lorenzo
    Pieralisi)

    - mutex sriov_configure() (Jakub Kicinski)

    - mutex pci_error_handlers callbacks (Christoph Hellwig)

    - split ->reset_notify() into ->reset_prepare()/reset_done()
    (Christoph Hellwig)

    - support multiple PCIe portdrv interrupts for MSI as well as MSI-X
    (Gabriele Paoloni)

    - allocate MSI/MSI-X vector for Downstream Port Containment (Gabriele
    Paoloni)

    - fix MSI IRQ affinity pre/post/min_vecs issue (Michael Hernandez)

    - test INTx masking during enumeration, not at run-time (Piotr Gregor)

    - avoid using device_may_wakeup() for runtime PM (Rafael J. Wysocki)

    - restore the status of PCI devices across hibernation (Chen Yu)

    - keep parent resources that start at 0x0 (Ard Biesheuvel)

    - enable ECRC only if device supports it (Bjorn Helgaas)

    - restore PRI and PASID state after Function-Level Reset (CQ Tang)

    - skip DPC event if device is not present (Keith Busch)

    - check domain when matching SMBIOS info (Sujith Pandel)

    - mark Intel XXV710 NIC INTx masking as broken (Alex Williamson)

    - avoid AMD SB7xx EHCI USB wakeup defect (Kai-Heng Feng)

    - work around long-standing Macbook Pro poweroff issue (Bjorn Helgaas)

    - add Switchtec "running" status flag (Logan Gunthorpe)

    - fix dra7xx incorrect RW1C IRQ register usage (Arvind Yadav)

    - modify xilinx-nwl IRQ chip for legacy interrupts (Bharat Kumar
    Gogada)

    - move VMD SRCU cleanup after bus, child device removal (Jon Derrick)

    - add Faraday clock handling (Linus Walleij)

    - configure Rockchip MPS and reorganize (Shawn Lin)

    - limit Qualcomm TLP size to 2K (hardware issue) (Srinivas Kandagatla)

    - support Tegra MSI 64-bit addressing (Thierry Reding)

    - use Rockchip normal (not privileged) register bank (Shawn Lin)

    - add HiSilicon Kirin SoC PCIe controller driver (Xiaowei Song)

    - add Sigma Designs Tango SMP8759 PCIe controller driver (Marc
    Gonzalez)

    - add MediaTek PCIe host controller support (Ryder Lee)

    - add Qualcomm IPQ4019 support (John Crispin)

    - add HyperV vPCI protocol v1.2 support (Jork Loeser)

    - add i.MX6 regulator support (Quentin Schulz)

    * tag 'pci-v4.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (113 commits)
    PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support
    PCI: Add DT binding for Sigma Designs Tango PCIe controller
    PCI: rockchip: Use normal register bank for config accessors
    dt-bindings: PCI: Add documentation for MediaTek PCIe
    PCI: Remove __pci_dev_reset() and pci_dev_reset()
    PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done()
    PCI: xilinx: Make of_device_ids const
    PCI: xilinx-nwl: Modify IRQ chip for legacy interrupts
    PCI: vmd: Move SRCU cleanup after bus, child device removal
    PCI: vmd: Correct comment: VMD domains start at 0x10000, not 0x1000
    PCI: versatile: Add local struct device pointers
    PCI: tegra: Do not allocate MSI target memory
    PCI: tegra: Support MSI 64-bit addressing
    PCI: rockchip: Use local struct device pointer consistently
    PCI: rockchip: Check for clk_prepare_enable() errors during resume
    MAINTAINERS: Remove Wenrui Li as Rockchip PCIe driver maintainer
    PCI: rockchip: Configure RC's MPS setting
    PCI: rockchip: Reconfigure configuration space header type
    PCI: rockchip: Split out rockchip_pcie_cfg_configuration_accesses()
    PCI: rockchip: Move configuration accesses into rockchip_pcie_cfg_atu()
    ...

    Linus Torvalds
     

07 Jul, 2017

1 commit

  • Pull dma-mapping infrastructure from Christoph Hellwig:
    "This is the first pull request for the new dma-mapping subsystem

    In this new subsystem we'll try to properly maintain all the generic
    code related to dma-mapping, and will further consolidate arch code
    into common helpers.

    This pull request contains:

    - removal of the DMA_ERROR_CODE macro, replacing it with calls to
    ->mapping_error so that the dma_map_ops instances are more self
    contained and can be shared across architectures (me)

    - removal of the ->set_dma_mask method, which duplicates the
    ->dma_capable one in terms of functionality, but requires more
    duplicate code.

    - various updates for the coherent dma pool and related arm code
    (Vladimir)

    - various smaller cleanups (me)"

    * tag 'dma-mapping-4.13' of git://git.infradead.org/users/hch/dma-mapping: (56 commits)
    ARM: dma-mapping: Remove traces of NOMMU code
    ARM: NOMMU: Set ARM_DMA_MEM_BUFFERABLE for M-class cpus
    ARM: NOMMU: Introduce dma operations for noMMU
    drivers: dma-mapping: allow dma_common_mmap() for NOMMU
    drivers: dma-coherent: Introduce default DMA pool
    drivers: dma-coherent: Account dma_pfn_offset when used with device tree
    dma: Take into account dma_pfn_offset
    dma-mapping: replace dmam_alloc_noncoherent with dmam_alloc_attrs
    dma-mapping: remove dmam_free_noncoherent
    crypto: qat - avoid an uninitialized variable warning
    au1100fb: remove a bogus dma_free_nonconsistent call
    MAINTAINERS: add entry for dma mapping helpers
    powerpc: merge __dma_set_mask into dma_set_mask
    dma-mapping: remove the set_dma_mask method
    powerpc/cell: use the dma_supported method for ops switching
    powerpc/cell: clean up fixed mapping dma_ops initialization
    tile: remove dma_supported and mapping_error methods
    xen-swiotlb: remove xen_swiotlb_set_dma_mask
    arm: implement ->dma_supported instead of ->set_dma_mask
    mips/loongson64: implement ->dma_supported instead of ->set_dma_mask
    ...

    Linus Torvalds
     

04 Jul, 2017

1 commit

  • Pull char/misc updates from Greg KH:
    "Here is the "big" char/misc driver patchset for 4.13-rc1.

    Lots of stuff in here, a large thunderbolt update, w1 driver header
    reorg, the new mux driver subsystem, google firmware driver updates,
    and a raft of other smaller things. Full details in the shortlog.

    All of these have been in linux-next for a while with the only
    reported issue being a merge problem with this tree and the jc-docs
    tree in the w1 documentation area"

    * tag 'char-misc-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (147 commits)
    misc: apds990x: Use sysfs_match_string() helper
    mei: drop unreachable code in mei_start
    mei: validate the message header only in first fragment.
    DocBook: w1: Update W1 file locations and names in DocBook
    mux: adg792a: always require I2C support
    nvmem: rockchip-efuse: add support for rk322x-efuse
    nvmem: core: add locking to nvmem_find_cell
    nvmem: core: Call put_device() in nvmem_unregister()
    nvmem: core: fix leaks on registration errors
    nvmem: correct Broadcom OTP controller driver writes
    w1: Add subsystem kernel public interface
    drivers/fsi: Add module license to core driver
    drivers/fsi: Use asynchronous slave mode
    drivers/fsi: Add hub master support
    drivers/fsi: Add SCOM FSI client device driver
    drivers/fsi/gpio: Add tracepoints for GPIO master
    drivers/fsi: Add GPIO based FSI master
    drivers/fsi: Document FSI master sysfs files in ABI
    drivers/fsi: Add error handling for slave
    drivers/fsi: Add tracepoints for low-level operations
    ...

    Linus Torvalds
     

29 Jun, 2017

1 commit

  • Struct pci_host_bridge can be allocated by PCI host bridge drivers which
    usually allocate and map memory through devm managed interfaces.

    Add a devm version for the pci_alloc_host_bridge() interface to simplify
    PCI host controller driver porting and simplify the driver failure paths.

    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Bjorn Helgaas
    Cc: Arnd Bergmann

    Lorenzo Pieralisi
     

28 Jun, 2017

2 commits


21 Jun, 2017

2 commits


03 Jun, 2017

2 commits

  • Add a new minimalistic subsystem that handles multiplexer controllers.
    When multiplexers are used in various places in the kernel, and the
    same multiplexer controller can be used for several independent things,
    there should be one place to implement support for said multiplexer
    controller.

    A single multiplexer controller can also be used to control several
    parallel multiplexers, that are in turn used by different subsystems
    in the kernel, leading to a need to coordinate multiplexer accesses.
    The multiplexer subsystem handles this coordination.

    Thanks go out to Lars-Peter Clausen, Jonathan Cameron, Rob Herring,
    Wolfram Sang, Paul Gortmaker, Dan Carpenter, Colin Ian King, Greg
    Kroah-Hartman and last but certainly not least to Philipp Zabel for
    helpful comments, reviews, patches and general encouragement!

    Reviewed-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Reviewed-by: Philipp Zabel
    Tested-by: Philipp Zabel
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     
  • Everything else is indented with two spaces, so fix the odd one out.

    Acked-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     

25 Apr, 2017

1 commit

  • The introduction of the pci_remap_cfgspace() interface allows PCI host
    controller drivers to map PCI config space through a dedicated kernel
    interface. Current PCI host controller drivers use the devm_ioremap_*()
    devres interfaces to map PCI configuration space regions so in order to
    update them to the new pci_remap_cfgspace() mapping interface a new set of
    devres interfaces should be implemented so that PCI host controller drivers
    can make use of them.

    Introduce two new functions in the PCI kernel layer and Devres
    documentation:

    - devm_pci_remap_cfgspace()
    - devm_pci_remap_cfg_resource()

    so that PCI host controller drivers can make use of them to map PCI
    configuration space regions.

    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Bjorn Helgaas
    Cc: Jonathan Corbet

    Lorenzo Pieralisi
     

10 Feb, 2017

1 commit


16 Nov, 2016

1 commit


07 Oct, 2016

1 commit

  • Pull power supply and reset updates from Sebastian Reichel:
    - move power supply drivers to drivers/power/supply
    - unify location of power supply DT documentation
    - tps65217-charger: IRQ support
    - act8945a-charger: misc. cleanups & improvements
    - sbs-battery cleanup
    - fix users of deprecated create_singlethread_workqueue()
    - misc fixes.

    * tag 'for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (46 commits)
    power: supply: bq27xxx_battery: allow kernel poll_interval parameter runtime update
    power: supply: sbs-battery: Cleanup removal of chip->pdata
    power: reset: st: Remove obsolete platforms from dt doc
    power: reset: st-poweroff: Remove obsolete platforms.
    power: reset: zx-reboot: Unmap region obtained by of_iomap
    power: reset: xgene-reboot: Unmap region obtained by of_iomap
    power: supply: ab8500: cleanup with list_first_entry_or_null()
    power: reset: add in missing white space in error message text
    sbs-battery: make writes to ManufacturerAccess optional
    power: bq24257: Fix use of uninitialized pointer bq->charger
    power: supply: sbs-battery: simplify DT parsing
    power: supply: bq24735-charger: Request status GPIO with initial input setup
    power: supply: sbs-battery: Use gpio_desc and sleeping calls for battery detect
    power: supply: act8945a_charger: Add max current property
    power: supply: act8945a_charger: Add capacity level property
    doc: bindings: power: act8945a-charger: Update properties.
    power: supply: act8945a_charger: Fix the power supply type
    power: supply: act8945a_charger: Add status change update support
    power: supply: act8945a_charger: Improve state handling
    power: supply: act8945a_charger: Remove "battery_temperature"
    ...

    Linus Torvalds
     

06 Oct, 2016

1 commit

  • Pull staging and IIO updates from Greg KH:
    "Here is the big staging and IIO driver pull request for 4.9-rc1.

    There are a lot of patches in here, the majority due to the
    drivers/staging/greybus/ subsystem being merged in with full
    development history that went back a few years, in order to preserve
    the work that those developers did over time.

    Lots and lots of tiny cleanups happened in the tree as well, due to
    the Outreachy application process and lots of other developers showing
    up for the first time to clean code up. Along with those changes, we
    deleted a wireless driver, and added a raspberrypi driver (currently
    marked broken), and lots of new iio drivers.

    Overall the tree still shrunk with more lines removed than added,
    about 10 thousand lines removed in total. Full details are in the very
    long shortlog below.

    All of this has been in the linux-next tree with no issues. There will
    be some merge problems with other subsystem trees, but those are all
    minor problems and shouldn't be hard to work out when they happen
    (MAINTAINERS and some lustre build problems with the IB tree)"

    And furter from me asking for clarification about greybus:
    "Right now there is a phone from Motorola shipping with this code (a
    slightly older version, but the same tree), so even though Ara is not
    alive in the same form, the functionality is happening. We are working
    with the developers of that phone to merge the newer stuff in with
    their fork so they can use the upstream version in future versions of
    their phone product line.

    Toshiba has at least one chip shipping in their catalog that
    needs/uses this protocol over a Unipro link, and rumor has it that
    there might be more in the future.

    There are also other users of the greybus protocols, there is a talk
    next week at ELC that shows how it is being used across a network
    connection to control a device, and previous ELC talks have showed the
    protocol stack being used over USB to drive embedded Linux boards.
    I've also talked to some people who are starting to work to add a host
    controller driver to control arduinos as the greybus PHY protocols are
    very useful to control a serial/i2c/spio/whatever device across a
    random physical link, as it is a way to have a self-describing device
    be attached to a host without needing manual configuration.

    So yes, people are using it, and there is still the chance that it
    will show up in a phone/laptop/tablet/whatever from Google in the
    future as well, the tech isn't dead, even if the original large phone
    project happens to be"

    * tag 'staging-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (3703 commits)
    Staging: fbtft: Fix bug in fbtft-core
    staging: rtl8188eu: fix double unlock error in rtw_resume_process()
    staging:r8188eu: remove GEN_MLME_EXT_HANDLER macro
    staging:r8188eu: remove GEN_DRV_CMD_HANDLER macro
    staging:r8188eu: remove GEN_EVT_CODE macro
    staging:r8188eu: remove GEN_CMD_CODE macro
    staging:r8188eu: remove pkt_newalloc member of the recv_buf structure
    staging:r8188eu: remove rtw_handle_dualmac declaration
    staging:r8188eu: remove (RGTRY|BSSID)_(OFT|SZ) macros
    staging:r8188eu: change rtl8188e_process_phy_info function argument type
    Staging: fsl-mc: Remove blank lines
    Staging: fsl-mc: Fix unaligned * in block comments
    Staging: comedi: Align the * in block comments
    Staging : ks7010 : Fix block comments warninig
    Staging: vt6655: Remove explicit NULL comparison using Coccinelle
    staging: rtl8188eu: core: rtw_xmit: Use macros instead of constants
    staging: rtl8188eu: core: rtw_xmit: Move constant of the right side
    staging: dgnc: Fix lines longer than 80 characters
    Staging: dgnc: constify attribute_group structures
    Staging: most: hdm-dim2: constify attribute_group structures
    ...

    Linus Torvalds
     

17 Sep, 2016

1 commit


04 Sep, 2016

2 commits


16 Aug, 2016

1 commit


02 Aug, 2016

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs.

    A slew of changes this release cycle. The reset driver tree, that we
    merge through arm-soc for historical reasons, is also sizable this
    time around.

    Among the changes:

    - clps711x: Treewide changes to compatible strings, merged here for simplicity.
    - Qualcomm: SCM firmware driver cleanups, move to platform driver
    - ux500: Major cleanups, removal of old mach-specific infrastructure.
    - Atmel external bus memory driver
    - Move of brcmstb platform to the rest of bcm
    - PMC driver updates for tegra, various fixes and improvements
    - Samsung platform driver updates to support 64-bit Exynos platforms
    - Reset controller cleanups moving to devm_reset_controller_register() APIs
    - Reset controller driver for Amlogic Meson
    - Reset controller driver for Hisilicon hi6220
    - ARM SCPI power domain support"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (100 commits)
    ARM: ux500: consolidate base platform files
    ARM: ux500: move soc_id driver to drivers/soc
    ARM: ux500: call ux500_setup_id later
    ARM: ux500: consolidate soc_device code in id.c
    ARM: ux500: remove cpu_is_u* helpers
    ARM: ux500: use CLK_OF_DECLARE()
    ARM: ux500: move l2x0 init to .init_irq
    mfd: db8500 stop passing around platform data
    ASoC: ab8500-codec: remove platform data based probe
    ARM: ux500: move ab8500_regulator_plat_data into driver
    ARM: ux500: remove unused regulator data
    soc: raspberrypi-power: add CONFIG_OF dependency
    firmware: scpi: add CONFIG_OF dependency
    video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip
    input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip
    pwm: clps711x: Changing the compatibility string to match with the smallest supported chip
    serial: clps711x: Changing the compatibility string to match with the smallest supported chip
    irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip
    clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip
    clk: clps711x: Changing the compatibility string to match with the smallest supported chip
    ...

    Linus Torvalds
     

18 Jul, 2016

1 commit


30 May, 2016

1 commit


21 May, 2016

3 commits

  • Pull staging and IIO driver updates from Greg KH:
    "Here's the big staging and iio driver update for 4.7-rc1.

    I think we almost broke even with this release, only adding a few more
    lines than we removed, which isn't bad overall given that there's a
    bunch of new iio drivers added.

    The Lustre developers seem to have woken up from their sleep and have
    been doing a great job in cleaning up the code and pruning unused or
    old cruft, the filesystem is almost readable :)

    Other than that, just a lot of basic coding style cleanups in the
    churn. All have been in linux-next for a while with no reported
    issues"

    * tag 'staging-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (938 commits)
    Staging: emxx_udc: emxx_udc: fixed coding style issue
    staging/gdm724x: fix "alignment should match open parenthesis" issues
    staging/gdm724x: Fix avoid CamelCase
    staging: unisys: rename misleading var ii with frag
    staging: unisys: visorhba: switch success handling to error handling
    staging: unisys: visorhba: main path needs to flow down the left margin
    staging: unisys: visorinput: handle_locking_key() simplifications
    staging: unisys: visorhba: fail gracefully for thread creation failures
    staging: unisys: visornic: comment restructuring and removing bad diction
    staging: unisys: fix format string %Lx to %llx for u64
    staging: unisys: remove unused struct members
    staging: unisys: visorchannel: correct variable misspelling
    staging: unisys: visorhba: replace functionlike macro with function
    staging: dgnc: Need to check for NULL of ch
    staging: dgnc: remove redundant condition check
    staging: dgnc: fix 'line over 80 characters'
    staging: dgnc: clean up the dgnc_get_modem_info()
    staging: lustre: lnet: enable configuration per NI interface
    staging: lustre: o2iblnd: properly set ibr_why
    staging: lustre: o2iblnd: remove last of kiblnd_tunables_fini
    ...

    Linus Torvalds
     
  • Pull clk updates from Stephen Boyd:
    "It's the usual big pile of driver updates and additions, but we do
    have a couple core changes in here as well.

    Core:

    - CLK_IS_CRITICAL support has been added. This should allow drivers
    to properly express that a certain clk should stay on even if their
    prepare/enable count drops to 0 (and in turn the parents of these
    clks should stay enabled).

    - A clk registration API has been added, clk_hw_register(), and an OF
    clk provider API has been added, of_clk_add_hw_provider(). These
    APIs have been put in place to further split clk providers from clk
    consumers, with the goal being to have clk providers never deal
    with struct clk pointers at all. Conversion of provider drivers is
    on going. clkdev has also gained support for registering clk_hw
    pointers directly so we can convert drivers that don't use
    devicetree.

    New Drivers:

    - Marvell ap806 and cp110 system controllers (with clks inside!)
    - Hisilicon Hi3519 clock and reset controller
    - Axis ARTPEC-6 clock controllers
    - Oxford Semiconductor OXNAS clock controllers
    - AXS10X I2S PLL
    - Rockchip RK3399 clock and reset controller

    Updates:

    - MMC2 and UART2 clks on Samsung Exynos 3250, ACLK on Samsung Exynos
    542x SoCs, and some more clk ID exporting for bus frequency scaling
    - Proper BCM2835 PCM clk support and various other clks
    - i.MX clk updates for i.MX6SX, i.MX7, and VF610
    - Renesas updates for R-Car H3
    - Tegra210 got updates for DisplayPort and HDMI 2.0
    - Rockchip driver refactorings and fixes due to adding RK3399 support"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (139 commits)
    clk: fix critical clock locking
    clk: qcom: mmcc-8996: Remove clocks that should be controlled by RPM
    clk: ingenic: Allow divider value to be divided
    clk: sunxi: Add display and TCON0 clocks driver
    clk: rockchip: drop old_rate calculation on pll rate changes
    clk: rockchip: simplify GRF handling in pll clocks
    clk: rockchip: lookup General Register Files in rockchip_clk_init
    clk: rockchip: fix the rk3399 sdmmc sample / drv name
    clk: mvebu: new driver for Armada CP110 system controller
    dt-bindings: arm: add DT binding for Marvell CP110 system controller
    clk: mvebu: new driver for Armada AP806 system controller
    clk: hisilicon: add CRG driver for hi3519 soc
    clk: hisilicon: export some hisilicon APIs to modules
    reset: hisilicon: add reset controller driver for hisilicon SOCs
    clk: bcm/kona: Do not use sizeof on pointer type
    clk: qcom: msm8916: Fix crypto clock flags
    clk: nxp: lpc18xx: Initialize clk_init_data::flags to 0
    clk/axs10x: Add I2S PLL clock driver
    clk: imx7d: fix ahb clock mux 1
    clk: fix comment of devm_clk_hw_register()
    ...

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add new driver for MAXIM MAX77620/MAX20024 PMIC
    - Add new driver for Hisilicon HI665X PMIC

    New Device Support:
    - Add support for AXP809 in axp20x-rsb
    - Add support for Power Supply in axp20x

    New core features:
    - devm_mfd_* managed resources

    Fix-ups:
    - Remove unused code (da9063-irq, wm8400-core, tps6105x,
    smsc-ece1099, twl4030-power)
    - Improve clean-up in error path (intel_quark_i2c_gpio)
    - Explicitly include headers (syscon.h)
    - Allow building as modules (max77693)
    - Use IS_ENABLED() instead of rolling your own (dm355evm_msp,
    wm8400-core)
    - DT adaptions (axp20x, hi655x, arizona, max77620)
    - Remove CLK_IS_ROOT flag (intel-lpss, intel_quark)
    - Move to gpiochip API (asic3, dm355evm_msp, htc-egpio, htc-i2cpld,
    sm501, tc6393xb, tps65010, ucb1x00, vexpress)
    - Make use of devm_mfd_* calls (act8945a, as3711, atmel-hlcdc,
    bcm590xx, hi6421-pmic-core, lp3943, menf21bmc, mt6397, rdc321x,
    rk808, rn5t618, rt5033, sky81452, stw481x, tps6507x, tps65217,
    wm8400)

    Bug Fixes"
    - Fix ACPI child matching (mfd-core)
    - Fix start-up ordering issues (mt6397-core, arizona-core)
    - Fix forgotten register state on resume (intel-lpss)
    - Fix Clock related issues (twl6040)
    - Fix scheduling whilst atomic (omap-usb-tll)
    - Kconfig changes (vexpress)"

    * tag 'mfd-for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits)
    mfd: hi655x: Add MFD driver for hi655x
    mfd: ab8500-debugfs: Trivial fix of spelling mistake on "between"
    mfd: vexpress: Add !ARCH_USES_GETTIMEOFFSET dependency
    mfd: Add device-tree binding doc for PMIC MAX77620/MAX20024
    mfd: max77620: Add core driver for MAX77620/MAX20024
    mfd: arizona: Add defines for GPSW values that can be used from DT
    mfd: omap-usb-tll: Fix scheduling while atomic BUG
    mfd: wm5110: ARIZONA_CLOCK_CONTROL should be volatile
    mfd: axp20x: Add a cell for the ac power_supply part of the axp20x PMICs
    mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly
    mfd: wl1273-core: Use devm_mfd_add_devices() for mfd_device registration
    mfd: tps65910: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq
    mfd: max77686: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: as3722: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: twl4030-power: Remove driver path in file comment
    MAINTAINERS: Add entry for X-Powers AXP family PMIC drivers
    mfd: smsc-ece1099: Remove unnecessarily remove callback
    mfd: Use IS_ENABLED(CONFIG_FOO) instead of checking FOO || FOO_MODULE
    ...

    Linus Torvalds
     

20 May, 2016

1 commit

  • Pull Documentation updates from Jon Corbet:
    "A bit busier this time around.

    The most interesting thing (IMO) this time around is some beginning
    infrastructural work to allow documents to be written using
    restructured text. Maybe someday, in a galaxy far far away, we'll be
    able to eliminate the DocBook dependency and have a much better
    integrated set of kernel docs. Someday.

    Beyond that, there's a new document on security hardening from Kees,
    the movement of some sample code over to samples/, a number of
    improvements to the serial docs from Geert, and the usual collection
    of corrections, typo fixes, etc"

    * tag 'docs-for-linus' of git://git.lwn.net/linux: (55 commits)
    doc: self-protection: provide initial details
    serial: doc: Use port->state instead of info
    serial: doc: Always refer to tty_port->mutex
    Documentation: vm: Spelling s/paltform/platform/g
    Documentation/memcg: update kmem limit doc as codes behavior
    docproc: print a comment about autogeneration for rst output
    docproc: add support for reStructuredText format via --rst option
    docproc: abstract terminating lines at first space
    docproc: abstract docproc directive detection
    docproc: reduce unnecessary indentation
    docproc: add variables for subcommand and filename
    kernel-doc: use rst C domain directives and references for types
    kernel-doc: produce RestructuredText output
    kernel-doc: rewrite usage description, remove duplicated comments
    Doc: correct the location of sysrq.c
    Documentation: fix common spelling mistakes
    samples: v4l: from Documentation to samples directory
    samples: connector: from Documentation to samples directory
    Documentation: xillybus: fix spelling mistake
    Documentation: x86: fix spelling mistakes
    ...

    Linus Torvalds
     

28 Apr, 2016

1 commit

  • devm_input_allocate_device() got introduced with commit 2be975c6d920
    ("Input: introduce managed input devices (add devres support)").
    Add this function to the list of managed interfaces within the
    devres documentation.

    Signed-off-by: Alexander Kurz
    Acked-by: Tejun Heo
    Signed-off-by: Jonathan Corbet

    Alexander Kurz
     

21 Apr, 2016

1 commit


20 Apr, 2016

2 commits

  • We've largely split the clk consumer and provider APIs along
    struct clk and struct clk_hw, but clk_register() still returns a
    struct clk pointer for each struct clk_hw that's registered.
    Eventually we'd like to only allocate struct clks when there's a
    user, because struct clk is per-user now, so clk_register() needs
    to change.

    Let's add new APIs to register struct clk_hws, but this time
    we'll hide the struct clk from the caller by returning an int
    error code. Also add an unregistration API that takes the clk_hw
    structure that was passed to the registration API. This way
    provider drivers never have to deal with a struct clk pointer
    unless they're using the clk consumer APIs.

    Signed-off-by: Stephen Boyd

    Stephen Boyd
     
  • Add following APIs in the list of managed resources of IIO:
    devm_iio_channel_get()
    devm_iio_channel_get_all()
    devm_iio_channel_release()
    devm_iio_channel_release_all()

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Jonathan Cameron

    Laxman Dewangan
     

19 Apr, 2016

1 commit


20 Mar, 2016

1 commit

  • Pull ARM updates from Russell King:
    "Another mixture of changes this time around:

    - Split XIP linker file from main linker file to make it more
    maintainable, and various XIP fixes, and clean up a resulting
    macro.

    - Decompressor cleanups from Masahiro Yamada

    - Avoid printing an error for a missing L2 cache

    - Remove some duplicated symbols in System.map, and move
    vectors/stubs back into kernel VMA

    - Various low priority fixes from Arnd

    - Updates to allow bus match functions to return negative errno
    values, touching some drivers and the driver core. Greg has acked
    these changes.

    - Virtualisation platform udpates form Jean-Philippe Brucker.

    - Security enhancements from Kees Cook

    - Rework some Kconfig dependencies and move PSCI idle management code
    out of arch/arm into drivers/firmware/psci.c

    - ARM DMA mapping updates, touching media, acked by Mauro.

    - Fix places in ARM code which should be using virt_to_idmap() so
    that Keystone2 can work.

    - Fix Marvell Tauros2 to work again with non-DT boots.

    - Provide a delay timer for ARM Orion platforms"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (45 commits)
    ARM: 8546/1: dma-mapping: refactor to fix coherent+cma+gfp=0
    ARM: 8547/1: dma-mapping: store buffer information
    ARM: 8543/1: decompressor: rename suffix_y to compress-y
    ARM: 8542/1: decompressor: merge piggy.*.S and simplify Makefile
    ARM: 8541/1: decompressor: drop redundant FORCE in Makefile
    ARM: 8540/1: decompressor: use clean-files instead of extra-y to clean files
    ARM: 8539/1: decompressor: drop more unneeded assignments to "targets"
    ARM: 8538/1: decompressor: drop unneeded assignments to "targets"
    ARM: 8532/1: uncompress: mark putc as inline
    ARM: 8531/1: turn init_new_context into an inline function
    ARM: 8530/1: remove VIRT_TO_BUS
    ARM: 8537/1: drop unused DEBUG_RODATA from XIP_KERNEL
    ARM: 8536/1: mm: hide __start_rodata_section_aligned for non-debug builds
    ARM: 8535/1: mm: DEBUG_RODATA makes no sense with XIP_KERNEL
    ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
    ARM: make the physical-relative calculation more obvious
    ARM: 8512/1: proc-v7.S: Adjust stack address when XIP_KERNEL
    ARM: 8411/1: Add default SPARSEMEM settings
    ARM: 8503/1: clk_register_clkdev: remove format string interface
    ARM: 8529/1: remove 'i' and 'zi' targets
    ...

    Linus Torvalds
     

18 Mar, 2016

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for kernel v4.6. There is quite a
    lot of interesting stuff going on.

    The patches to other subsystems and arch-wide are ACKed as far as
    possible, though I consider things like per-arch as
    essentially a part of the GPIO subsystem so it should not be needed.

    Core changes:

    - The gpio_chip is now a *real device*. Until now the gpio chips
    were just piggybacking the parent device or (gasp) floating in
    space outside of the device model.

    We now finally make GPIO chips devices. The gpio_chip will create
    a gpio_device which contains a struct device, and this gpio_device
    struct is kept private. Anything that needs to be kept private
    from the rest of the kernel will gradually be moved over to the
    gpio_device.

    - As a result of making the gpio_device a real device, we have added
    resource management, so devm_gpiochip_add_data() will cut down on
    overhead and reduce code lines. A huge slew of patches convert
    almost all drivers in the subsystem to use this.

    - Building on making the GPIO a real device, we add the first step of
    a new userspace ABI: the GPIO character device. We take small
    steps here, so we first add a pure *information* ABI and the tool
    "lsgpio" that will list all GPIO devices on the system and all
    lines on these devices.

    We can now discover GPIOs properly from userspace. We still have
    not come up with a way to actually *use* GPIOs from userspace.

    - To encourage people to use the character device for the future, we
    have it always-enabled when using GPIO. The old sysfs ABI is still
    opt-in (and can be used in parallel), but is marked as deprecated.

    We will keep it around for the foreseeable future, but it will not
    be extended to cover ever more use cases.

    Cleanup:

    - Bjorn Helgaas removed a whole slew of per-architecture
    includes.

    This dates back to when GPIO was an opt-in feature and no shared
    library even existed: just a header file with proper prototypes was
    provided and all semantics were up to the arch to implement. These
    patches make the GPIO chip even more a proper device and cleans out
    leftovers of the old in-kernel API here and there.

    Still some cruft is left but it's very little now.

    - There is still some clamping of return values for .get() going on,
    but we now return sane values in the vast majority of drivers and
    the errorpath is sanitized. Some patches for powerpc, blackfin and
    unicore still drop in.

    - We continue to switch the ARM, MIPS, blackfin, m68k local GPIO
    implementations to use gpiochip_add_data() and cut down on code
    lines.

    - MPC8xxx is converted to use the generic GPIO helpers.

    - ATH79 is converted to use the generic GPIO helpers.

    New drivers:

    - WinSystems WS16C48

    - Acces 104-DIO-48E

    - F81866 (a F7188x variant)

    - Qoric (a MPC8xxx variant)

    - TS-4800

    - SPI serializers (pisosr): simple 74xx shift registers connected to
    SPI to obtain a dirt-cheap output-only GPIO expander.

    - Texas Instruments TPIC2810

    - Texas Instruments TPS65218

    - Texas Instruments TPS65912

    - X-Gene (ARM64) standby GPIO controller"

    * tag 'gpio-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (194 commits)
    Revert "Share upstreaming patches"
    gpio: mcp23s08: Fix clearing of interrupt.
    gpiolib: Fix comment referring to gpio_*() in gpiod_*()
    gpio: pca953x: Fix pca953x_gpio_set_multiple() on 64-bit
    gpio: xgene: Fix kconfig for standby GIPO contoller
    gpio: Add generic serializer DT binding
    gpio: uapi: use 0xB4 as ioctl() major
    gpio: tps65912: fix bad merge
    Revert "gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free"
    gpio: omap: drop dev field from gpio_bank structure
    gpio: mpc8xxx: Slightly update the code for better readability
    gpio: mpc8xxx: Remove *read_reg and *write_reg from struct mpc8xxx_gpio_chip
    gpio: mpc8xxx: Fixup setting gpio direction output
    gpio: mcp23s08: Add support for mcp23s18
    dt-bindings: gpio: altera: Fix altr,interrupt-type property
    gpio: add driver for MEN 16Z127 GPIO controller
    gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free
    gpio: timberdale: Switch to devm_ioremap_resource()
    gpio: ts4800: Add IMX51 dependency
    gpiolib: rewrite gpiodev_add_to_list
    ...

    Linus Torvalds
     

23 Feb, 2016

1 commit