Skip to content
  1. Jun 24, 2018
  2. Jun 17, 2018
  3. Jun 10, 2018
    • Giulio Benetti's avatar
      staging: iio: adc: ad7606: fix function pointer parameter names missing. · 727198f9
      Giulio Benetti authored
      
      
      Checkpatch.pl complains about function pointer parameter names missing.
      
      Add parameter names.
      
      Signed-off-by: default avatarGiulio Benetti <giulio.benetti@micronovasrl.com>
      Reviewed-by: default avatarMartin Kelly <mkelly@xevo.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      727198f9
    • Stefan Popa's avatar
      iio:dac:ad5686: Add AD5311R support · d8084a04
      Stefan Popa authored
      
      
      AD5311R is a single channel DAC with 10-bit precision and i2c interface.
      The device includes a 2.5V internal reference which is enabled by default.
      
      This device is similar to AD5691R/AD5692R/AD5693/AD5693R, the only
      difference is that it has 10-bit precision.
      
      Datasheet:
      http://www.analog.com/media/en/technical-documentation/data-sheets/AD5310R_5311R.pdf
      
      Signed-off-by: default avatarStefan Popa <stefan.popa@analog.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      d8084a04
    • Eugen Hristev's avatar
      a591525f
    • Eugen Hristev's avatar
      input: touchscreen: resistive-adc-touch: add generic resistive ADC touchscreen · aa132ffb
      Eugen Hristev authored
      
      
      This adds a generic resistive touchscreen (GRTS) driver, which is based
      on an IIO device (an ADC). It must be connected to the channels of an ADC
      to receive touch data. Then it will feed the data into the input subsystem
      where it registers an input device.
      It uses an IIO callback buffer to register to the IIO device
      
      Some parts of this patch are based on initial original work by
      Mohamed Jamsheeth Hajanajubudeen and Bandaru Venkateswara Swamy
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      aa132ffb
    • Eugen Hristev's avatar
      iio: adc: at91-sama5d2_adc: add support for position and pressure channels · 23ec2774
      Eugen Hristev authored
      
      
      This implements the support for position and pressure for the included
      touchscreen support in the SAMA5D2 SOC ADC block.
      Two position channels are added and one for pressure.
      They can be read in raw format, or through a buffer.
      A normal use case is for a consumer driver to register a callback buffer
      for these channels.
      When the touchscreen channels are in the active scan mask,
      the driver will start the touchscreen sampling and push the data to the
      buffer.
      
      Some parts of this patch are based on initial original work by
      Mohamed Jamsheeth Hajanajubudeen and Bandaru Venkateswara Swamy
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@microchip.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      23ec2774
    • Eugen Hristev's avatar
      dt-bindings: input: touchscreen: resistive-adc-touch: create bindings · 1b5bd7d2
      Eugen Hristev authored
      
      
      Added bindings for generic resistive touchscreen ADC.
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      1b5bd7d2
    • Eugen Hristev's avatar
      dt-bindings: input: touchscreen: add minimum pressure touchscreen property · 15e20eab
      Eugen Hristev authored
      
      
      Add a common touchscreen optional property that will specify
      the minimum pressure applied to the screen that is needed
      such that the driver will report the touch event.
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      15e20eab
    • Eugen Hristev's avatar
      iio: Add channel for Position Relative · 3055a6cf
      Eugen Hristev authored
      
      
      Add new channel type for relative position on a pad.
      
      These type of analog sensor offers the position of a pen
      on a touchpad, and is represented as a voltage, which can be
      converted to a position on X and Y axis on the pad.
      The channel will hand the relative position on the pad in both directions.
      
      The channel can then be consumed by a touchscreen driver or
      read as-is for a raw indication of the touchpen on a touchpad.
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      3055a6cf
    • Eugen Hristev's avatar
      MAINTAINERS: add generic resistive touchscreen adc · d22cd4dd
      Eugen Hristev authored
      
      
      Add MAINTAINERS entry for generic resistive touchscreen adc
      
      Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      d22cd4dd
    • Jonathan Cameron's avatar
      staging: iio: Drop ADIS16060 driver from staging · adca2d68
      Jonathan Cameron authored
      
      
      This part has been declared "not for new designs". It is now
      difficult to obtain and we have had no-one come forward with hardware
      making it difficult to proceed with the necessary work to move this
      driver out of staging.
      
      The device uses two separate chip selects and would require locking
      between them which is thought to be difficult to enforce without
      non trivial changes in the SPI subsystem.  This work simply isn't worth
      doing given the status of the part and the fact no one seems to have
      gone for a similar hardware design since this one.
      
      If anyone does have access to one of these and is willing to contribute
      the time necessary then we can reevaluate dropping the driver.
      
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      adca2d68
    • Jean-Baptiste Maneyrol's avatar
      iio: imu: inv_mpu6050: new timestamp mechanism · 4bcc19f1
      Jean-Baptiste Maneyrol authored
      
      
      Check validity of interrupt timestamps by computing time between
      2 interrupts. If it matches the chip frequency modulo 4%, it is
      used as the data timestamp and also for estimating the chip
      frequency measured from the system. Otherwise timestamp is
      computed using the estimated chip frequency.
      
      Signed-off-by: default avatarJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      4bcc19f1
    • William Breathitt Gray's avatar
      iio: 104-quad-8: Provide defines for magic numbers · 17f03619
      William Breathitt Gray authored
      
      
      This patch adds several register and bit defines to help improve the
      clarity of the code by cleaning up magic numbers throughout the driver.
      
      Signed-off-by: default avatarWilliam Breathitt Gray <vilhelm.gray@gmail.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      17f03619
    • Jean-Baptiste Maneyrol's avatar
      iio: imu: inv_mpu6050: better fifo overflow handling · f5057e7b
      Jean-Baptiste Maneyrol authored
      
      
      Use fifo overflow bit from int status rather than using an
      arbitrary threshold.
      
      Signed-off-by: default avatarJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      f5057e7b
    • Jean-Baptiste Maneyrol's avatar
      iio: imu: inv_mpu6050: fix fifo count reading · 5cba7caa
      Jean-Baptiste Maneyrol authored
      
      
      Use unaligned access since buffer is a bytes table. Truncate fifo
      count to read only complete datum.
      
      Signed-off-by: default avatarJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      5cba7caa
    • Jean-Baptiste Maneyrol's avatar
      iio: imu: inv_mpu6050: switch to use sample rate divider · 7b782508
      Jean-Baptiste Maneyrol authored
      
      
      Instead of storing fifo rate in Hz, store the chip internal sample
      rate divider. This will be more useful for timestamping. There
      are both equivalent.
      
      Signed-off-by: default avatarJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      7b782508
    • Jean-Baptiste Maneyrol's avatar
      iio: imu: inv_mpu6050: replace timestamp fifo by generic timestamp · 3ca4fb43
      Jean-Baptiste Maneyrol authored
      
      
      Using a fifo for storing timestamps is useless since the interrupt
      is in one-shot mode, preventing the hard irq handler to be called
      when the irq thread is running. Instead use the generic timestamp
      function iio_pollfunc_store_time.
      
      Signed-off-by: default avatarJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      3ca4fb43
    • Arnd Bergmann's avatar
      iio: adc: sun4i-gpadc: select REGMAP_IRQ · c2c8406b
      Arnd Bergmann authored
      We can't call regmap_irq_get_virq() unless the regmap-irq support
      is enabled:
      
      drivers/iio/adc/sun4i-gpadc-iio.o: In function `sun4i_irq_init':
      sun4i-gpadc-iio.c:(.text+0x59c): undefined reference to `regmap_irq_get_virq'
      
      I came across this in a randconfig build now, but I guess this is
      a much older problem that I simply never hit before because regmap_irq
      is usually enabled by one of the other drivers that need it.
      
      Fixes: d1caa990
      
       ("iio: adc: add support for Allwinner SoCs ADC")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      c2c8406b
    • William Breathitt Gray's avatar
      iio: 104-quad-8: Fix off-by-one error in register selection · 2873c3f0
      William Breathitt Gray authored
      The reset flags operation is selected by bit 2 in the "Reset and Load
      Signals Decoders" register, not bit 1.
      
      Fixes: 28e5d3bb
      
       ("iio: 104-quad-8: Add IIO support for the ACCES 104-QUAD-8")
      Signed-off-by: default avatarWilliam Breathitt Gray <vilhelm.gray@gmail.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      2873c3f0
    • Linus Torvalds's avatar
      Merge branch 'proc-cmdline' · 3ca24ce9
      Linus Torvalds authored
      Merge proc_cmdline simplifications.
      
      This re-writes the get_mm_cmdline() logic to be rather simpler than it
      used to be, and makes the semantics for "cmdline goes past the end of
      the original area" more natural.
      
      You _can_ use prctl(PR_SET_MM) to just point your command line somewhere
      else entirely, but the traditional model is to just edit things in place
      and that still needs to continue to work.  At least this way the code
      makes some sense.
      
      * proc-cmdline:
        fs/proc: simplify and clarify get_mm_cmdline() function
        fs/proc: re-factor proc_pid_cmdline_read() a bit
      3ca24ce9
    • Mikulas Patocka's avatar
      hpfs: Use EUCLEAN for filesystem errors · f72328d2
      Mikulas Patocka authored
      
      
      Use the error code EUCLEAN for filesystem errors because other
      filesystems use this code too.
      
      [ And remove unused EMEMERROR  - Linus ]
      
      Signed-off-by: default avatarMikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f72328d2
    • Linus Torvalds's avatar
      Merge tag 'for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · a16afaf7
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       - bq27xxx: Add BQ27426 support
       - ab8500: Drop AB8540/9540 support
       - Introduced new usb_type property
       - Properly document the power-supply ABI
       - misc. cleanups and fixes
      
      * tag 'for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        MAINTAINERS: add entry for LEGO MINDSTORMS EV3
        power: supply: ab8500_charger: fix spelling mistake: "faile" -> "failed"
        power: supply: axp288_fuel_gauge: Remove polling from the driver
        power: supply: axp288_fuelguage: Do not bind when the fg function is not used
        power: supply: axp288_charger: Do not bind when the charge function is not used
        power: supply: axp288_charger: Support 3500 and 4000 mA input current limit
        power: supply: s3c-adc-battery: fix driver data initialization
        power: supply: charger-manager: Verify polling interval only when polling requested
        power: supply: sysfs: Use enum to specify property
        power: supply: ab8500: Drop AB8540/9540 support
        power: supply: ab8500_fg: fix spelling mistake: "Disharge" -> "Discharge"
        power: supply: simplify getting .drvdata
        power: supply: bq27xxx: Add support for BQ27426
        gpio-poweroff: Use gpiod_set_value_cansleep
      a16afaf7
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 2a70ea5c
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
       "Just one patch for the HSI subsystem this time: use the new vm_fault_t
        return type"
      
      * tag 'hsi-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        hsi: clients: Change return type to vm_fault_t
      2a70ea5c
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 6419945e
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This time we have a good set of changes to the core framework that do
        some general cleanups, but nothing too major. The majority of the diff
        goes to two SoCs, Actions Semi and Qualcomm. A brand new driver is
        introduced for Actions Semi so it takes up some lines to add all the
        different types, and the Qualcomm diff is there because we add support
        for two SoCs and it's quite a bit of data.
      
        Otherwise the big driver updates are on TI Davinci and Amlogic
        platforms. And then the long tail of driver updates for various fixes
        and stuff follows after that.
      
        Core:
         - debugfs cleanups removing error checking and an unused provider API
         - Removal of a clk init typedef that isn't used
         - Usage of match_string() to simplify parent string name matching
         - OF clk helpers moved to their own file (linux/of_clk.h)
         - Make clk warnings more readable across kernel versions
      
        New Drivers:
         - Qualcomm SDM845 GCC and Video clk controllers
         - Qualcomm MSM8998 GCC
         - Actions Semi S900 SoC support
         - Nuvoton npcm750 microcontroller clks
         - Amlogic axg AO clock controller
      
        Removed Drivers:
         - Deprecated Rockchip clk-gate driver
      
        Updates:
         - debugfs functions stopped checking return values
         - Support for the MSIOF module clocks on Rensas R-Car M3-N
         - Support for the new Rensas RZ/G1C and R-Car E3 SoCs
         - Qualcomm GDSC, RCG, and PLL updates for clk changes in new SoCs
         - Berlin and Amlogic SPDX tagging
         - Usage of of_clk_get_parent_count() in more places
         - Proper implementation of the CDEV1/2 clocks on Tegra20
         - Allwinner H6 PRCM clock support and R40 EMAC support
         - Add critical flag to meson8b's fdiv2 as temporary fixup for ethernet
         - Round closest support for meson's mpll driver
         - Support for meson8b nand clocks and gxbb video decoder clocks
         - Mediatek mali clks
         - STM32MP1 fixes
         - Uniphier LD11/LD20 stream demux system clock"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (134 commits)
        clk: qcom: Export clk_fabia_pll_configure()
        clk: bcm: Update and add Stingray clock entries
        dt-bindings: clk: Update Stingray binding doc
        clk-si544: Properly round requested frequency to nearest match
        clk: ingenic: jz4770: Add 150us delay after enabling VPU clock
        clk: ingenic: jz4770: Enable power of AHB1 bus after ungating VPU clock
        clk: ingenic: jz4770: Modify C1CLK clock to disable CPU clock stop on idle
        clk: ingenic: jz4770: Change OTG from custom to standard gated clock
        clk: ingenic: Support specifying "wait for clock stable" delay
        clk: ingenic: Add support for clocks whose gate bit is inverted
        clk: use match_string() helper
        clk: bcm2835: use match_string() helper
        clk: Return void from debug_init op
        clk: remove clk_debugfs_add_file()
        clk: tegra: no need to check return value of debugfs_create functions
        clk: davinci: no need to check return value of debugfs_create functions
        clk: bcm2835: no need to check return value of debugfs_create functions
        clk: no need to check return value of debugfs_create functions
        clk: imx6: add EPIT clock support
        clk: mvebu: use correct bit for 98DX3236 NAND
        ...
      6419945e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · d60dafdc
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
       "A few fixes of MD for this merge window. Mostly bug fixes:
      
         - raid5 stripe batch fix from Amy
      
         - Read error handling for raid1 FailFast device from Gioh
      
         - raid10 recovery NULL pointer dereference fix from Guoqing
      
         - Support write hint for raid5 stripe cache from Mariusz
      
         - Fixes for device hot add/remove from Neil and Yufen
      
         - Improve flush bio scalability from Xiao"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        MD: fix lock contention for flush bios
        md/raid5: Assigning NULL to sh->batch_head before testing bit R5_Overlap of a stripe
        md/raid1: add error handling of read error from FailFast device
        md: fix NULL dereference of mddev->pers in remove_and_add_spares()
        raid5: copy write hint from origin bio to stripe
        md: fix two problems with setting the "re-add" device state.
        raid10: check bio in r10buf_pool_free to void NULL pointer dereference
        md: fix an error code format and remove unsed bio_sector
      d60dafdc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 1329c204
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       - a FPE signal fix that was also merged upstream
      
       - privileged ADI driver from Tom Hromatka
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: fix compat siginfo ABI regression
        selftests: sparc64: char: Selftest for privileged ADI driver
        char: sparc64: Add privileged ADI driver
      1329c204
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · d6c75284
      Linus Torvalds authored
      Pull IDE updates from David Miller:
       "Primarily IRQ disabling avoidance changes from Sebastian Andrzej
        Siewior"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: don't enable/disable interrupts in force threaded-IRQ mode
        ide: don't disable interrupts during kmap_atomic()
        ide: Handle irq disabling consistently
        alim15x3: move irq-restore before pci_dev_put()
      d6c75284
    • Linus Torvalds's avatar
      Merge tag 'staging-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · eafdca4d
      Linus Torvalds authored
      Pull staging/IIO updates from Greg KH:
       "Here is the big staging and IIO driver update for 4.18-rc1.
      
        It was delayed as I wanted to make sure the final driver deletions did
        not cause any major merge issues, and all now looks good.
      
        There are a lot of patches here, just over 1000. The diffstat summary
        shows the major changes here:
      
      	1007 files changed, 16828 insertions(+), 227770 deletions(-)
      
        Because of this, we might be close to shrinking the overall kernel
        source code size for two releases in a row.
      
        There was loads of work in this release cycle, primarily:
      
         - tons of ks7010 driver cleanups
      
         - lots of mt7621 driver fixes and cleanups
      
         - most driver cleanups
      
         - wilc1000 fixes and cleanups
      
         - lots and lots of IIO driver cleanups and new additions
      
         - debugfs cleanups for all staging drivers
      
         - lots of other staging driver cleanups and fixes, the shortlog has
           the full details.
      
        but the big user-visable things here are the removal of 3 chunks of
        code:
      
         - ncpfs and ipx were removed on schedule, no one has cared about this
           code since it moved to staging last year, and if it needs to come
           back, it can be reverted.
      
         - lustre file system is removed.
      
           I've ranted at the lustre developers about once a year for the past
           5 years, with no real forward progress at all to clean things up
           and get the code into the "real" part of the kernel.
      
           Given that the lustre developers continue to work on an external
           tree and try to port those changes to the in-kernel tree every once
           in a while, this whole thing really really is not working out at
           all. So I'm deleting it so that the developers can spend the time
           working in their out-of-tree location and get things cleaned up
           properly to get merged into the tree correctly at a later date.
      
        Because of these file removals, you will have merge issues on some of
        these files (2 in the ipx code, 1 in the ncpfs code, and 1 in the
        atomisp driver). Just delete those files, it's a simple merge :)
      
        All of this has been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1011 commits)
        staging: ipx: delete it from the tree
        ncpfs: remove uapi .h files
        ncpfs: remove Documentation
        ncpfs: remove compat functionality
        staging: ncpfs: delete it
        staging: lustre: delete the filesystem from the tree.
        staging: vc04_services: no need to save the log debufs dentries
        staging: vc04_services: vchiq_debugfs_log_entry can be a void *
        staging: vc04_services: remove struct vchiq_debugfs_info
        staging: vc04_services: move client dbg directory into static variable
        staging: vc04_services: remove odd vchiq_debugfs_top() wrapper
        staging: vc04_services: no need to check debugfs return values
        staging: mt7621-gpio: reorder includes alphabetically
        staging: mt7621-gpio: change gc_map to don't use pointers
        staging: mt7621-gpio: use GPIOF_DIR_OUT and GPIOF_DIR_IN macros instead of custom values
        staging: mt7621-gpio: change 'to_mediatek_gpio' to make just a one line return
        staging: mt7621-gpio: dt-bindings: update documentation for #interrupt-cells property
        staging: mt7621-gpio: update #interrupt-cells for the gpio node
        staging: mt7621-gpio: dt-bindings: complete documentation for the gpio
        staging: mt7621-dts: add missing properties to gpio node
        ...
      eafdca4d
  4. Jun 09, 2018
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 7d3bf613
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "This adds a user for the new 'bytes-remaining' updates to
        memcpy_mcsafe() that you already received through Ingo via the
        x86-dax- for-linus pull.
      
        Not included here, but still targeting this cycle, is support for
        handling memory media errors (poison) consumed via userspace dax
        mappings.
      
        Summary:
      
         - DAX broke a fundamental assumption of truncate of file mapped
           pages. The truncate path assumed that it is safe to disconnect a
           pinned page from a file and let the filesystem reclaim the physical
           block. With DAX the page is equivalent to the filesystem block.
           Introduce dax_layout_busy_page() to enable filesystems to wait for
           pinned DAX pages to be released. Without this wait a filesystem
           could allocate blocks under active device-DMA to a new file.
      
         - DAX arranges for the block layer to be bypassed and uses
           dax_direct_access() + copy_to_iter() to satisfy read(2) calls.
           However, the memcpy_mcsafe() facility is available through the pmem
           block driver. In order to safely handle media errors, via the DAX
           block-layer bypass, introduce copy_to_iter_mcsafe().
      
         - Fix cache management policy relative to the ACPI NFIT Platform
           Capabilities Structure to properly elide cache flushes when they
           are not necessary. The table indicates whether CPU caches are
           power-fail protected. Clarify that a deep flush is always performed
           on REQ_{FUA,PREFLUSH} requests"
      
      * tag 'libnvdimm-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
        dax: Use dax_write_cache* helpers
        libnvdimm, pmem: Do not flush power-fail protected CPU caches
        libnvdimm, pmem: Unconditionally deep flush on *sync
        libnvdimm, pmem: Complete REQ_FLUSH => REQ_PREFLUSH
        acpi, nfit: Remove ecc_unit_size
        dax: dax_insert_mapping_entry always succeeds
        libnvdimm, e820: Register all pmem resources
        libnvdimm: Debug probe times
        linvdimm, pmem: Preserve read-only setting for pmem devices
        x86, nfit_test: Add unit test for memcpy_mcsafe()
        pmem: Switch to copy_to_iter_mcsafe()
        dax: Report bytes remaining in dax_iomap_actor()
        dax: Introduce a ->copy_to_iter dax operation
        uio, lib: Fix CONFIG_ARCH_HAS_UACCESS_MCSAFE compilation
        xfs, dax: introduce xfs_break_dax_layouts()
        xfs: prepare xfs_break_layouts() for another layout type
        xfs: prepare xfs_break_layouts() to be called with XFS_MMAPLOCK_EXCL
        mm, fs, dax: handle layout changes to pinned dax mappings
        mm: fix __gup_device_huge vs unmap
        mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS
        ...
      7d3bf613
    • Dan Williams's avatar
      930218af
    • Dan Williams's avatar
      b5684579
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180608' of git://git.kernel.dk/linux-block · a3818841
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A few fixes for this merge window, where some of them should go in
        sooner rather than later, hence a new pull this week. This pull
        request contains:
      
         - Set of NVMe fixes, mostly follow up cleanups/fixes to the queue
           changes, but also teardown/removal and misc changes (Christop/Dan/
           Johannes/Sagi/Steve).
      
         - Two lightnvm fixes for issues that showed up in this window
           (Colin/Wei).
      
         - Failfast/driver flags inheritance for flush requests (Hannes).
      
         - The md device put sanitization and fix (Kent).
      
         - dm bio_set inheritance fix (me).
      
         - nbd discard granularity fix (Josef).
      
         - nbd consistency in command printing (Kevin).
      
         - Loop recursion validation fix (Ted).
      
         - Partition overlap check (Wang)"
      
      [ .. and now my build is warning-free again thanks to the md fix  - Linus ]
      
      * tag 'for-linus-20180608' of git://git.kernel.dk/linux-block: (22 commits)
        nvme: cleanup double shift issue
        nvme-pci: make CMB SQ mod-param read-only
        nvme-pci: unquiesce dead controller queues
        nvme-pci: remove HMB teardown on reset
        nvme-pci: queue creation fixes
        nvme-pci: remove unnecessary completion doorbell check
        nvme-pci: remove unnecessary nested locking
        nvmet: filter newlines from user input
        nvme-rdma: correctly check for target keyed sgl support
        nvme: don't hold nvmf_transports_rwsem for more than transport lookups
        nvmet: return all zeroed buffer when we can't find an active namespace
        md: Unify mddev destruction paths
        dm: use bioset_init_from_src() to copy bio_set
        block: add bioset_init_from_src() helper
        block: always set partition number to '0' in blk_partition_remap()
        block: pass failfast and driver-specific flags to flush requests
        nbd: set discard_alignment to the granularity
        nbd: Consistently use request pointer in debug messages.
        block: add verifier for cmdline partition
        lightnvm: pblk: fix resource leak of invalid_bitmap
        ...
      a3818841
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 68cc38ff
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Quite a lot of core work this time around, though not 100% successful.
      
        We gained support for runtime mode changes thanks to David Collins and
        improved support for write only regulators (ones where we can't read
        back the configuration) from Douglas Anderson.
      
        There's been quite a bit of work from Linus Walleij on converting from
        specfying GPIOs by numbers to descriptors. Sadly the testing turned
        out to be less good than we had hoped and so a lot of this had to be
        reverted.
      
        We also have the start of updates to use coupled regulators from
        Maciej Purski, unfortunately there are further problems there so the
        last couple of patches have been reverted.
      
        We also have new drivers for BD71837 and SY8106A devices, SAW
        regulators on Qualcomm SPMI and dropped support for some preproduction
        chips that never made it to market from the AB8500 driver"
      
      * tag 'regulator-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (57 commits)
        regulator: gpio: Revert
        ARM: pxa, regulator: fix building ezx e680
        regulator: Revert coupled regulator support again
        regulator: wm8994: Fix shared GPIOs
        regulator: max77686: Fix shared GPIOs
        regulator: bd71837: BD71837 PMIC regulator driver
        regulator: bd71837: Devicetree bindings for BD71837 regulators
        regulator: gpio: Get enable GPIO using GPIO descriptor
        regulator: fixed: Convert to use GPIO descriptor only
        regulator: s2mps11: Fix boot on Odroid XU3
        dt-bindings: qcom_spmi: Document SAW support
        regulator: qcom_spmi: Add support for SAW
        regulator: tps65090: Pass descriptor instead of GPIO number
        regulator: s5m8767: Pass descriptor instead of GPIO number
        regulator: pfuze100: Delete reference to ena_gpio
        regulator: max8952: Pass descriptor instead of GPIO number
        regulator: lp8788-ldo: Pass descriptor instead of GPIO number
        regulator: lm363x: Pass descriptor instead of GPIO number
        regulator: max8973: Pass descriptor instead of GPIO number
        regulator: mc13xxx-core: Switch to SPDX identifier
        ...
      68cc38ff
    • Dan Carpenter's avatar
      nvme: cleanup double shift issue · 77016199
      Dan Carpenter authored
      
      
      The problem here is that set_bit() and test_bit() take a bit number so
      we should be passing 0 but instead we're passing (1 << 0) which leads to
      a double shift.  It doesn't cause a runtime bug in the current code
      because it's done consistently and we only set that one bit.
      
      I decided to just re-use NVME_AER_NOTICE_NS_CHANGED instead of
      introducing a new define for this.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      77016199
    • Keith Busch's avatar
      nvme-pci: make CMB SQ mod-param read-only · 69f4eb9f
      Keith Busch authored
      
      
      A controller reset after a run time change of the CMB module parameter
      breaks the driver. An 'on -> off' will have the driver use NULL for the
      host memory queue, and 'off -> on' will use mismatched queue depth between
      the device and the host.
      
      We could fix both, but there isn't really a good reason to change this
      at run time anyway, compared to at module load time, so this patch makes
      parameter read-only after after modprobe.
      
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      69f4eb9f
    • Keith Busch's avatar
      nvme-pci: unquiesce dead controller queues · 1d39e692
      Keith Busch authored
      
      
      This patch ensures the nvme namsepace request queues are not quiesced
      on a surprise removal. It's possible the queues were previously killed
      in a failed reset, so the queues need to be unquiesced to ensure all
      requests are flushed to completion.
      
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      1d39e692