1. 18 Sep, 2019 1 commit
  2. 12 Aug, 2019 22 commits
    • Sudeep Holla's avatar
      reset: Add support for resets provided by SCMI · c8ae9c2d
      Sudeep Holla authored
      On some ARM based systems, a separate Cortex-M based System Control
      Processor(SCP) provides the overall power, clock, reset and system
      control. System Control and Management Interface(SCMI) Message Protocol
      is defined for the communication between the Application Cores(AP)
      and the SCP.
      
      Adds support for the resets provided using SCMI protocol for performing
      reset management of various devices present on the SoC. Various reset
      functionalities are achieved by the means of different ARM SCMI device
      operations provided by the ARM SCMI framework.
      Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      c8ae9c2d
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add RESET protocol in SCMI v2.0 · 95a15d80
      Sudeep Holla authored
      SCMIv2.0 adds a new Reset Management Protocol to manage various reset
      states a given device or domain can enter. Device(s) that can be
      collectively reset through a common reset signal constitute a reset
      domain for the firmware.
      
      A reset domain can be reset autonomously or explicitly through assertion
      and de-assertion of the signal. When autonomous reset is chosen, the
      firmware is responsible for taking the necessary steps to reset the
      domain and to subsequently bring it out of reset. When explicit reset is
      chosen, the caller has to specifically assert and then de-assert the
      reset signal by issuing two separate RESET commands.
      
      Add the basic SCMI reset infrastructure that can be used by Linux
      reset controller driver.
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      95a15d80
    • Sudeep Holla's avatar
      dt-bindings: arm: Extend SCMI to support new reset protocol · ae39913c
      Sudeep Holla authored
      SCMIv2.0 adds a new Reset Management Protocol to manage various reset
      states a given device or domain can enter. Extend the existing SCMI
      bindings to add reset protocol support by re-using the reset bindings
      for both reset providers and consumers.
      
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: devicetree@vger.kernel.org
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      ae39913c
    • Sudeep Holla's avatar
      firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol · 82383957
      Sudeep Holla authored
      SCMI v2.0 adds support for "FastChannel" which do not use a message
      header as they are specialized for a single message.
      
      Only PERFORMANCE_LIMITS_{SET,GET} and PERFORMANCE_LEVEL_{SET,GET}
      commands are supported over fastchannels. As they are optional, they
      need to be discovered by PERFORMANCE_DESCRIBE_FASTCHANNEL command.
      Further {LIMIT,LEVEL}_SET commands can have optional doorbell support.
      
      Add support for making use of these fastchannels.
      
      Cc: Ionela Voinescu <Ionela.Voinescu@arm.com>
      Cc: Chris Redpath <Chris.Redpath@arm.com>
      Cc: Quentin Perret <Quentin.Perret@arm.com>
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      82383957
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels · ac8aaf34
      Sudeep Holla authored
      SCMI v2.0 adds support for "FastChannel", a lightweight unidirectional
      channel that is dedicated to a single SCMI message type for controlling
      a specific platform resource. They do not use a message header as they
      are specialized for a single message.
      
      Only PERFORMANCE_LIMITS_{SET,GET} and PERFORMANCE_LEVEL_{SET,GET}
      commands are supported over fastchannels. As they are optional, they
      need to be discovered by PERFORMANCE_DESCRIBE_FASTCHANNEL command.
      Further {LIMIT,LEVEL}_SET commands can have optional doorbell support.
      
      Add support for discovery of these fastchannels.
      
      Cc: Ionela Voinescu <Ionela.Voinescu@arm.com>
      Cc: Chris Redpath <Chris.Redpath@arm.com>
      Cc: Quentin Perret <Quentin.Perret@arm.com>
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      ac8aaf34
    • Sudeep Holla's avatar
      firmware: arm_scmi: Use {get,put}_unaligned_le{32,64} accessors · aa90ac45
      Sudeep Holla authored
      Instead of type-casting the {tx,rx}.buf all over the place while
      accessing them to read/write __le{32,64} from/to the firmware, let's
      use the existing {get,put}_unaligned_le{32,64} accessors to hide all
      the type cast ugliness.
      Suggested-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      aa90ac45
    • Sudeep Holla's avatar
      firmware: arm_scmi: Use asynchronous CLOCK_RATE_SET when possible · 2bc06ffa
      Sudeep Holla authored
      CLOCK_PROTOCOL_ATTRIBUTES provides attributes to indicate the maximum
      number of pending asynchronous clock rate changes supported by the
      platform. If it's non-zero, then we should be able to use asynchronous
      clock rate set for any clocks until the maximum limit is reached.
      
      Tracking the current count of pending asynchronous clock set rate
      requests, we can decide if the incoming/new request for clock set rate
      can be handled asynchronously or not until the maximum limit is
      reached.
      
      Cc: linux-clk@vger.kernel.org
      Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      2bc06ffa
    • Sudeep Holla's avatar
      firmware: arm_scmi: Drop config flag in clk_ops->rate_set · d0aba116
      Sudeep Holla authored
      CLOCK_PROTOCOL_ATTRIBUTES provides attributes to indicate the maximum
      number of pending asynchronous clock rate changes supported by the
      platform. If it's non-zero, then we should be able to use asynchronous
      clock rate set for any clocks until the maximum limit is reached.
      
      In order to add that support, let's drop the config flag passed to
      clk_ops->rate_set and handle the asynchronous requests dynamically.
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: linux-clk@vger.kernel.org
      Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      d0aba116
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add asynchronous sensor read if it supports · d09aac0e
      Sudeep Holla authored
      SENSOR_DESCRIPTION_GET provides attributes to indicate if the sensor
      supports asynchronous read. We can read that flag and use asynchronous
      reads for any sensors with that attribute set.
      
      Let's use the new scmi_do_xfer_with_response to support asynchronous
      sensor reads.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      d09aac0e
    • Sudeep Holla's avatar
      firmware: arm_scmi: Drop async flag in sensor_ops->reading_get · 6a55331c
      Sudeep Holla authored
      SENSOR_DESCRIPTION_GET provides attributes to indicate if the sensor
      supports asynchronous read. Ideally we should be able to read that flag
      and use asynchronous reads for any sensors with that attribute set.
      
      In order to add that support, let's drop the async flag passed to
      sensor_ops->reading_get and dynamically switch between sync and async
      flags based on the attributes as provided by the firmware.
      
      Cc: linux-hwmon@vger.kernel.org
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      6a55331c
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add support for asynchronous commands and delayed response · 58ecdf03
      Sudeep Holla authored
      Messages that are sent to platform, also known as commands and can be:
      
      1. Synchronous commands that block the channel until the requested work
      has been completed. The platform responds to these commands over the
      same channel and hence can't be used to send another command until the
      previous command has completed.
      
      2. Asynchronous commands on the other hand, the platform schedules the
      requested work to complete later in time and returns almost immediately
      freeing the channel for new commands. The response indicates the success
      or failure in the ability to schedule the requested work. When the work
      has completed, the platform sends an additional delayed response message.
      
      Using the same transmit buffer used for sending the asynchronous command
      even for the delayed response corresponding to it simplifies handling of
      the delayed response. It's the caller of asynchronous command that is
      responsible for allocating the completion flag that scmi driver can
      complete to indicate the arrival of delayed response.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      58ecdf03
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add mechanism to unpack message headers · 22d1f761
      Sudeep Holla authored
      In order to identify the message type when a response arrives, we need
      a mechanism to unpack the message header similar to packing. Let's
      add one.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      22d1f761
    • Sudeep Holla's avatar
      firmware: arm_scmi: Separate out tx buffer handling and prepare to add rx · 38c927fb
      Sudeep Holla authored
      Currently we pre-allocate transmit buffers only and use the first free
      slot in that pre-allocated buffer for transmitting any new message that
      are generally originated from OS to the platform firmware.
      
      Notifications or the delayed responses on the other hand are originated
      from the platform firmware and consumes by the OS. It's better to have
      separate and dedicated pre-allocated buffers to handle the notifications.
      We can still use the transmit buffers for the delayed responses.
      
      In addition, let's prepare existing scmi_xfer_{get,put} for acquiring
      and releasing a slot to identify the right(tx/rx) buffers.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      38c927fb
    • Sudeep Holla's avatar
      firmware: arm_scmi: Add receive channel support for notifications · 46cc7c28
      Sudeep Holla authored
      With scmi_mbox_chan_setup enabled to identify and setup both Tx and Rx,
      let's consolidate setting up of both the channels under the function
      scmi_mbox_txrx_setup.
      
      Since some platforms may opt not to support notifications or delayed
      response, they may not need support for Rx. Hence Rx is optional and
      failure of setting one up is not considered fatal.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      46cc7c28
    • Sudeep Holla's avatar
      firmware: arm_scmi: Segregate tx channel handling and prepare to add rx · 3748daf7
      Sudeep Holla authored
      The transmit(Tx) channels are specified as the first entry and the
      receive(Rx) channels are the second entry as per the device tree
      bindings. Since we currently just support Tx, index 0 is hardcoded at
      all required callsites.
      
      In order to prepare for adding Rx support, let's remove those hardcoded
      index and add boolean parameter to identify Tx/Rx channels when setting
      them up.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      3748daf7
    • Sudeep Holla's avatar
      firmware: arm_scmi: Reorder some functions to avoid forward declarations · 2747a967
      Sudeep Holla authored
      Re-shuffling few functions to keep definitions and their usages close.
      This is also needed to avoid too many unnecessary forward declarations
      while adding new features(delayed response and notifications).
      
      Keeping this separate to avoid mixing up of these trivial change that
      doesn't affect functionality into the ones that does.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      2747a967
    • Sudeep Holla's avatar
      firmware: arm_scmi: Check if platform has released shmem before using · 9dc34d63
      Sudeep Holla authored
      Sometimes platfom may take too long to respond to the command and OS
      might timeout before platform transfer the ownership of the shared
      memory region to the OS with the response.
      
      Since the mailbox channel associated with the channel is freed and new
      commands are dispatch on the same channel, OS needs to wait until it
      gets back the ownership. If not, either OS may end up overwriting the
      platform response for the last command(which is fine as OS timed out
      that command) or platform might overwrite the payload for the next
      command with the response for the old.
      
      The latter is problematic as platform may end up interpretting the
      response as the payload. In order to avoid such race, let's wait until
      the OS gets back the ownership before we prepare the shared memory with
      the payload for the next command.
      Reported-by: default avatarJim Quinlan <james.quinlan@broadcom.com>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      9dc34d63
    • Sudeep Holla's avatar
      firmware: arm_scmi: Use the term 'message' instead of 'command' · 5b65af8f
      Sudeep Holla authored
      In preparation to adding support for other two types of messages that
      SCMI specification mentions, let's replace the term 'command' with the
      correct term 'message'.
      
      As per the specification the messages are of 3 types:
      commands(synchronous or asynchronous), delayed responses and notifications.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      5b65af8f
    • Sudeep Holla's avatar
      firmware: arm_scmi: Fix few trivial typos in comments · c29a6289
      Sudeep Holla authored
      While adding new comments found couple of typos that are better fixed.
      
      s/informfation/information/
      s/statues/status/
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      c29a6289
    • Sudeep Holla's avatar
      firmware: arm_scmi: Remove extra check for invalid length message responses · 37bbffcb
      Sudeep Holla authored
      scmi_xfer_get_init ensures both transmit and receive buffer lengths are
      within the maximum limits. If receive buffer length is not supplied by
      the caller, it's set to the maximum limit value. Receive buffer length
      is never modified after that. So there's no need for the extra check
      when receive transmit completion for a command essage.
      
      Further, if the response header length is greater than the prescribed
      receive buffer length, the response buffer is truncated to the latter.
      Reported-by: default avatarJim Quinlan <james.quinlan@broadcom.com>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      37bbffcb
    • Sudeep Holla's avatar
      firmware: arm_scmi: Align few names in sensors protocol with SCMI specification · 9eefa43a
      Sudeep Holla authored
      Looks like more code developed during the draft versions of the
      specification slipped through and they don't match the final
      released version. This seem to have happened only with sensor
      protocol.
      
      Renaming few command and function names here to match exactly with
      the released version of SCMI specification for ease of maintenance.
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      9eefa43a
    • Sudeep Holla's avatar
      firmware: arm_scmi: Use the correct style for SPDX License Identifier · 4752544a
      Sudeep Holla authored
      Fix to correct the SPDX License Identifier style in header file related
      to firmware frivers for ARM SCMI message protocol.
      
      For C header files Documentation/process/license-rules.rst mandates
      C-like comments(opposed to C source files where C++ style should be
      used).
      
      While at it, change GPL-2.0 to GPL-2.0-only similar to the ones in
      psci.h and scpi_protocol.h
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      4752544a
  3. 21 Jul, 2019 15 commits
    • Linus Torvalds's avatar
      Linus 5.3-rc1 · 5f9e832c
      Linus Torvalds authored
      5f9e832c
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · c7bf0a0f
      Linus Torvalds authored
      Pull Devicetree fixes from Rob Herring:
       "Fix several warnings/errors in validation of binding schemas"
      
      * tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples
        dt-bindings: iio: ad7124: Fix dtc warnings in example
        dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example
        dt-bindings: pinctrl: aspeed: Fix AST2500 example errors
        dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors
        dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes
        dt-bindings: Ensure child nodes are of type 'object'
      c7bf0a0f
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d6788eb7
      Linus Torvalds authored
      Pull vfs documentation typo fix from Al Viro.
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        typo fix: it's d_make_root, not d_make_inode...
      d6788eb7
    • Linus Torvalds's avatar
      Merge tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 91962d0f
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Two fixes for stable, one that had dependency on earlier patch in this
        merge window and can now go in, and a perf improvement in SMB3 open"
      
      * tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module number
        cifs: flush before set-info if we have writeable handles
        smb3: optimize open to not send query file internal info
        cifs: copy_file_range needs to strip setuid bits and update timestamps
        CIFS: fix deadlock in cached root handling
      91962d0f
    • Qian Cai's avatar
      iommu/amd: fix a crash in iova_magazine_free_pfns · 8cf66504
      Qian Cai authored
      The commit b3aa14f0 ("iommu: remove the mapping_error dma_map_ops
      method") incorrectly changed the checking from dma_ops_alloc_iova() in
      map_sg() causes a crash under memory pressure as dma_ops_alloc_iova()
      never return DMA_MAPPING_ERROR on failure but 0, so the error handling
      is all wrong.
      
         kernel BUG at drivers/iommu/iova.c:801!
          Workqueue: kblockd blk_mq_run_work_fn
          RIP: 0010:iova_magazine_free_pfns+0x7d/0xc0
          Call Trace:
           free_cpu_cached_iovas+0xbd/0x150
           alloc_iova_fast+0x8c/0xba
           dma_ops_alloc_iova.isra.6+0x65/0xa0
           map_sg+0x8c/0x2a0
           scsi_dma_map+0xc6/0x160
           pqi_aio_submit_io+0x1f6/0x440 [smartpqi]
           pqi_scsi_queue_command+0x90c/0xdd0 [smartpqi]
           scsi_queue_rq+0x79c/0x1200
           blk_mq_dispatch_rq_list+0x4dc/0xb70
           blk_mq_sched_dispatch_requests+0x249/0x310
           __blk_mq_run_hw_queue+0x128/0x200
           blk_mq_run_work_fn+0x27/0x30
           process_one_work+0x522/0xa10
           worker_thread+0x63/0x5b0
           kthread+0x1d2/0x1f0
           ret_from_fork+0x22/0x40
      
      Fixes: b3aa14f0 ("iommu: remove the mapping_error dma_map_ops method")
      Signed-off-by: default avatarQian Cai <cai@lca.pw>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8cf66504
    • Mike Rapoport's avatar
      hexagon: switch to generic version of pte allocation · 618381f0
      Mike Rapoport authored
      The hexagon implementation pte_alloc_one(), pte_alloc_one_kernel(),
      pte_free_kernel() and pte_free() is identical to the generic except of
      lack of __GFP_ACCOUNT for the user PTEs allocation.
      
      Switch hexagon to use generic version of these functions.
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      618381f0
    • Linus Torvalds's avatar
      Merge tag 'ntb-5.3' of git://github.com/jonmason/ntb · bec5545e
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "New feature to add support for NTB virtual MSI interrupts, the ability
        to test and use this feature in the NTB transport layer.
      
        Also, bug fixes for the AMD and Switchtec drivers, as well as some
        general patches"
      
      * tag 'ntb-5.3' of git://github.com/jonmason/ntb: (22 commits)
        NTB: Describe the ntb_msi_test client in the documentation.
        NTB: Add MSI interrupt support to ntb_transport
        NTB: Add ntb_msi_test support to ntb_test
        NTB: Introduce NTB MSI Test Client
        NTB: Introduce MSI library
        NTB: Rename ntb.c to support multiple source files in the module
        NTB: Introduce functions to calculate multi-port resource index
        NTB: Introduce helper functions to calculate logical port number
        PCI/switchtec: Add module parameter to request more interrupts
        PCI/MSI: Support allocating virtual MSI interrupts
        ntb_hw_switchtec: Fix setup MW with failure bug
        ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case
        ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function
        NTB: correct ntb_dev_ops and ntb_dev comment typos
        NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask()
        ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
        NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed
        NTB: ntb_hw_amd: set peer limit register
        NTB: ntb_perf: Clear stale values in doorbell and command SPAD register
        NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers
        ...
      bec5545e
    • Al Viro's avatar
      typo fix: it's d_make_root, not d_make_inode... · 1b03bc5c
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      1b03bc5c
    • Rob Herring's avatar
      dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples · e2297f7c
      Rob Herring authored
      Now that examples are validated against the DT schema, an error with
      required 'clocks' property missing is exposed:
      
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@40020000: gpio@0: 'clocks' is a required property
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@50020000: gpio@1000: 'clocks' is a required property
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@50020000: gpio@2000: 'clocks' is a required property
      
      Add the missing 'clocks' properties to the examples to fix the errors.
      
      Fixes: 2c9239c1 ("dt-bindings: pinctrl: Convert stm32 pinctrl bindings to json-schema")
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-stm32@st-md-mailman.stormreply.com
      Acked-by: default avatarAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      e2297f7c
    • Rob Herring's avatar
      dt-bindings: iio: ad7124: Fix dtc warnings in example · 20051f5f
      Rob Herring authored
      With the conversion to DT schema, the examples are now compiled with
      dtc. The ad7124 binding example has the following warning:
      
      Documentation/devicetree/bindings/iio/adc/adi,ad7124.example.dts:19.11-21: \
      Warning (reg_format): /example-0/adc@0:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
      
      There's a default #size-cells and #address-cells values of 1 for
      examples. For examples needing different values such as this one on a
      SPI bus, they need to provide a SPI bus parent node.
      
      Fixes: 26ae15e6 ("Convert AD7124 bindings documentation to YAML format.")
      
      Cc: Jonathan Cameron <jic23@kernel.org>
      Cc: linux-iio@vger.kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      20051f5f
    • Rob Herring's avatar
      dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example · fbbf2b6e
      Rob Herring authored
      Now that examples are validated against the DT schema, a typo in
      avia-hx711 example generates a warning:
      
      Documentation/devicetree/bindings/iio/adc/avia-hx711.example.dt.yaml: weight: 'avdd-supply' is a required property
      
      Fix the typo.
      
      Fixes: 5150ec3f ("avia-hx711.yaml: transform DT binding to YAML")
      Cc: Andreas Klinger <ak@it-klinger.de>
      Cc: Jonathan Cameron <jic23@kernel.org>
      Cc: linux-iio@vger.kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      fbbf2b6e
    • Rob Herring's avatar
      dt-bindings: pinctrl: aspeed: Fix AST2500 example errors · fcbe7e3c
      Rob Herring authored
      The schema examples are now validated against the schema itself. The
      AST2500 pinctrl schema has a couple of errors:
      
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
      example-0: $nodename:0: 'example-0' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
      pinctrl: aspeed,external-nodes: [[1, 2]] is too short
      
      Fixes: 0a617de1 ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
      Cc: Andrew Jeffery <andrew@aj.id.au>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Joel Stanley <joel@jms.id.au>
      Cc: linux-aspeed@lists.ozlabs.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      fcbe7e3c
    • Rob Herring's avatar
      dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors · ad21a4ce
      Rob Herring authored
      The Aspeed pinctl schema have errors in the 'compatible' schema:
      
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml: \
      properties:compatible:enum: ['aspeed', 'ast2400-pinctrl', 'aspeed', 'g4-pinctrl'] has non-unique elements
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml: \
      properties:compatible:enum: ['aspeed', 'ast2500-pinctrl', 'aspeed', 'g5-pinctrl'] has non-unique elements
      
      Flow style sequences have to be quoted if the vales contain ','. Fix
      this by using the more common one line per entry formatting.
      
      Fixes: 0a617de1 ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
      Fixes: 07457937 ("dt-bindings: pinctrl: aspeed: Convert AST2400 bindings to json-schema")
      Cc: Andrew Jeffery <andrew@aj.id.au>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Joel Stanley <joel@jms.id.au>
      Cc: linux-aspeed@lists.ozlabs.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      ad21a4ce
    • Rob Herring's avatar
      dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes · 7d9ef7f3
      Rob Herring authored
      Matching on the 'cpus' node was a bad choice because the schema is
      incorrectly applied to non-RiscV cpus nodes. As we now have a common cpus
      schema which checks the general structure, it is also redundant to do so
      in the Risc-V CPU schema.
      
      The downside is one could conceivably mix different architecture's cpu
      nodes or have typos in the compatible string. The latter problem pretty
      much exists for every schema.
      Acked-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      7d9ef7f3
    • Rob Herring's avatar
      dt-bindings: Ensure child nodes are of type 'object' · 15ffef1a
      Rob Herring authored
      Properties which are child node definitions need to have an explict
      type. Otherwise, a matching (DT) property can silently match when an
      error is desired. Fix this up tree-wide. Once this is fixed, the
      meta-schema will enforce this on any child node definitions.
      
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Marek Vasut <marek.vasut@gmail.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Vignesh Raghavendra <vigneshr@ti.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: linux-mtd@lists.infradead.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-stm32@st-md-mailman.stormreply.com
      Cc: linux-spi@vger.kernel.org
      Acked-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Acked-by: default avatarAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      15ffef1a
  4. 20 Jul, 2019 2 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · f1a3b43c
      Linus Torvalds authored
      Pull more input updates from Dmitry Torokhov:
      
       - Apple SPI keyboard and trackpad driver for newer Macs
      
       - ALPS driver will ignore trackpoint-only devices to give the
         trackpoint driver a chance to handle them properly
      
       - another Lenovo is switched over to SMbus from PS/2
      
       - assorted driver fixups.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: alps - fix a mismatch between a condition check and its comment
        Input: psmouse - fix build error of multiple definition
        Input: applespi - remove set but not used variables 'sts'
        Input: add Apple SPI keyboard and trackpad driver
        Input: alps - don't handle ALPS cs19 trackpoint-only device
        Input: hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer
        Input: adp5589 - initialize GPIO controller parent device
        Input: iforce - remove empty multiline comments
        Input: synaptics - fix misuse of strlcpy
        Input: auo-pixcir-ts - switch to using  devm_add_action_or_reset()
        Input: gtco - bounds check collection indent level
        Input: mtk-pmic-keys - add of_node_put() before return
        Input: sun4i-lradc-keys - add of_node_put() before return
        Input: synaptics - whitelist Lenovo T580 SMBus intertouch
      f1a3b43c
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dma-mapping · ac60602a
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
       "Fix various regressions:
      
         - force unencrypted dma-coherent buffers if encryption bit can't fit
           into the dma coherent mask (Tom Lendacky)
      
         - avoid limiting request size if swiotlb is not used (me)
      
         - fix swiotlb handling in dma_direct_sync_sg_for_cpu/device (Fugang
           Duan)"
      
      * tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device
        dma-direct: only limit the mapping size if swiotlb could be used
        dma-mapping: add a dma_addressing_limited helper
        dma-direct: Force unencrypted DMA under SME for certain DMA masks
      ac60602a