1. 09 11月, 2018 7 次提交
    • N
      pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD · cd8a145a
      Nathan Chancellor 提交于
      Clang warns when one enumerated type is implicitly converted to another:
      
      drivers/pinctrl/pinctrl-zynq.c:985:18: warning: implicit conversion from
      enumeration type 'enum zynq_pin_config_param' to different enumeration
      type 'enum pin_config_param' [-Wenum-conversion]
              {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18},
              ~               ^~~~~~~~~~~~~~~~~~~~~
      drivers/pinctrl/pinctrl-zynq.c:990:16: warning: implicit conversion from
      enumeration type 'enum zynq_pin_config_param' to different enumeration
      type 'enum pin_config_param' [-Wenum-conversion]
              = { PCONFDUMP(PIN_CONFIG_IOSTANDARD, "IO-standard", NULL, true),
                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ./include/linux/pinctrl/pinconf-generic.h:163:11: note: expanded from
      macro 'PCONFDUMP'
              .param = a, .display = b, .format = c, .has_arg = d     \
                       ^
      2 warnings generated.
      
      It is expected that pinctrl drivers can extend pin_config_param because
      of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
      isn't an issue. Most drivers that take advantage of this define the
      PIN_CONFIG variables as constants, rather than enumerated values. Do the
      same thing here so that Clang no longer warns.
      Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Acked-by: NMichal Simek <michal.simek@xilinx.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      cd8a145a
    • N
      pinctrl: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT · f24bfb39
      Nathan Chancellor 提交于
      Clang warns when one enumerated type is implicitly converted to another:
      
      drivers/pinctrl/pinctrl-lpc18xx.c:643:29: warning: implicit conversion
      from enumeration type 'enum lpc18xx_pin_config_param' to different
      enumeration type 'enum pin_config_param' [-Wenum-conversion]
              {"nxp,gpio-pin-interrupt", PIN_CONFIG_GPIO_PIN_INT, 0},
              ~                          ^~~~~~~~~~~~~~~~~~~~~~~
      drivers/pinctrl/pinctrl-lpc18xx.c:648:12: warning: implicit conversion
      from enumeration type 'enum lpc18xx_pin_config_param' to different
      enumeration type 'enum pin_config_param' [-Wenum-conversion]
              PCONFDUMP(PIN_CONFIG_GPIO_PIN_INT, "gpio pin int", NULL, true),
              ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ./include/linux/pinctrl/pinconf-generic.h:163:11: note: expanded from
      macro 'PCONFDUMP'
              .param = a, .display = b, .format = c, .has_arg = d     \
                       ^
      2 warnings generated.
      
      It is expected that pinctrl drivers can extend pin_config_param because
      of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
      isn't an issue. Most drivers that take advantage of this define the
      PIN_CONFIG variables as constants, rather than enumerated values. Do the
      same thing here so that Clang no longer warns.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/140Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      f24bfb39
    • N
      pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL · b40ac08f
      Nathan Chancellor 提交于
      Clang warns when one enumerated type is implicitly converted to another:
      
      drivers/pinctrl/bcm/pinctrl-bcm2835.c:707:40: warning: implicit
      conversion from enumeration type 'enum bcm2835_pinconf_param' to
      different enumeration type 'enum pin_config_param' [-Wenum-conversion]
              configs[0] = pinconf_to_config_packed(BCM2835_PINCONF_PARAM_PULL, pull);
                           ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
      1 warning generated.
      
      It is expected that pinctrl drivers can extend pin_config_param because
      of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
      isn't an issue. Most drivers that take advantage of this define the
      PIN_CONFIG variables as constants, rather than enumerated values. Do the
      same thing here so that Clang no longer warns.
      Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Acked-by: NStefan Wahren <stefan.wahren@i2se.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      b40ac08f
    • N
      pinctrl: sprd: Use define directive for sprd_pinconf_params values · 957063c9
      Nathan Chancellor 提交于
      Clang warns when one enumerated type is implicitly converted to another:
      
      drivers/pinctrl/sprd/pinctrl-sprd.c:845:19: warning: implicit conversion
      from enumeration type 'enum sprd_pinconf_params' to different
      enumeration type 'enum pin_config_param' [-Wenum-conversion]
              {"sprd,control", SPRD_PIN_CONFIG_CONTROL, 0},
              ~                ^~~~~~~~~~~~~~~~~~~~~~~
      drivers/pinctrl/sprd/pinctrl-sprd.c:846:22: warning: implicit conversion
      from enumeration type 'enum sprd_pinconf_params' to different
      enumeration type 'enum pin_config_param' [-Wenum-conversion]
              {"sprd,sleep-mode", SPRD_PIN_CONFIG_SLEEP_MODE, 0},
              ~                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      
      It is expected that pinctrl drivers can extend pin_config_param because
      of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
      isn't an issue. Most drivers that take advantage of this define the
      PIN_CONFIG variables as constants, rather than enumerated values. Do the
      same thing here so that Clang no longer warns.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/138Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Reviewed-by: NBaolin Wang <baolin.wang@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      957063c9
    • N
      pinctrl: max77620: Use define directive for max77620_pinconf_param values · 1f60652d
      Nathan Chancellor 提交于
      Clang warns when one enumerated type is implicitly converted to another:
      
      drivers/pinctrl/pinctrl-max77620.c:56:12: warning: implicit conversion
      from enumeration type 'enum max77620_pinconf_param' to different
      enumeration type 'enum pin_config_param' [-Wenum-conversion]
                      .param = MAX77620_ACTIVE_FPS_SOURCE,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
      
      It is expected that pinctrl drivers can extend pin_config_param because
      of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion
      isn't an issue. Most drivers that take advantage of this define the
      PIN_CONFIG variables as constants, rather than enumerated values. Do the
      same thing here so that Clang no longer warns.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/139Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      1f60652d
    • B
      pinctrl: qcom: spmi-gpio: fix gpio-hog related boot issues · 149a9604
      Brian Masney 提交于
      When attempting to setup up a gpio hog, device probing would repeatedly
      fail with -EPROBE_DEFERED errors. It was caused by a circular dependency
      between the gpio and pinctrl frameworks. If the gpio-ranges property is
      present in device tree, then the gpio framework will handle the gpio pin
      registration and eliminate the circular dependency.
      
      See Christian Lamparter's commit a86caa9b ("pinctrl: msm: fix
      gpio-hog related boot issues") for a detailed commit message that
      explains the issue in much more detail. The code comment in this commit
      came from Christian's commit.
      Signed-off-by: NBrian Masney <masneyb@onstation.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      149a9604
    • C
      pinctrl: mediatek: clean up indentation issues, add missing tab · 78bf386d
      Colin Ian King 提交于
      Trivial fix to clean up indentation issues, add one level of
      indentation on two if statements.
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      78bf386d
  2. 05 11月, 2018 10 次提交
    • L
      pinctrl: bcm2835: Use raw spinlock for RT compatibility · 3c7b30f7
      Lukas Wunner 提交于
      The BCM2835 pinctrl driver acquires a spinlock in its ->irq_enable,
      ->irq_disable and ->irq_set_type callbacks.  Spinlocks become sleeping
      locks with CONFIG_PREEMPT_RT_FULL=y, therefore invocation of one of the
      callbacks in atomic context may cause a hard lockup if at least two GPIO
      pins in the same bank are used as interrupts.  The issue doesn't occur
      with just a single interrupt pin per bank because the lock is never
      contended.  I'm experiencing such lockups with GPIO 8 and 28 used as
      level-triggered interrupts, i.e. with ->irq_disable being invoked on
      reception of every IRQ.
      
      The critical section protected by the spinlock is very small (one bitop
      and one RMW of an MMIO register), hence converting to a raw spinlock
      seems a better trade-off than converting the driver to threaded IRQ
      handling (which would increase latency to handle an interrupt).
      
      Cc: Mathias Duckeck <m.duckeck@kunbus.de>
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      Acked-by: NJulia Cartwright <julia@ni.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      3c7b30f7
    • A
      pinctrl: imx: add imx8qxp driver · 623f788d
      A.s. Dong 提交于
      MX8QXP contains a system controller that is responsible for controlling
      the pad setting of the IPs that are present. Communication between the
      host processor running an OS and the system controller happens through
      a SCU protocol. This patch adds the SCU based MX8QXP pinctrl driver.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: Stefan Agner <stefan@agner.ch>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Signed-off-by: NDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      623f788d
    • A
      pinctrl: fsl: add scu based pinctrl support · b96eea71
      A.s. Dong 提交于
      Some i.MX SoCs (e.g. MX8QXP and MX8QM) contain a system controller
      that is responsible for controlling the pad setting of the IPs that
      are present. Communication between the host processor running an OS
      and the system controller happens through a SCU protocol.
      
      This patch classifies the pad settings into two categories: MMIO and SCU.
      For the original MMIO method, no functional changes except organize them
      into a few imx_*_mmio() functions. Besides that, we add the SCU based
      Pad Mux and Pinconf setting support which are implemented in pinctrl-scu.c.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: Stefan Agner <stefan@agner.ch>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Signed-off-by: NDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      b96eea71
    • W
      pinctrl: pinctrl-at91-pio4: simplify getting .driver_data · 1ccb0426
      Wolfram Sang 提交于
      We should get 'driver_data' from 'struct device' directly. Going via
      platform_device is an unneeded step back and forth.
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Reviewed-by: NAlexandre Belloni <alexandre.belloni@bootlin.com>
      Acked-by: NLudovic Desroches <ludovic.desroches@microchip.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      1ccb0426
    • W
      pinctrl: pinctrl-amd: simplify getting .driver_data · 9f540c3e
      Wolfram Sang 提交于
      We should get 'driver_data' from 'struct device' directly. Going via
      platform_device is an unneeded step back and forth.
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9f540c3e
    • L
      Linux 4.20-rc1 · 65102238
      Linus Torvalds 提交于
      65102238
    • L
      Merge tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs · 42bd06e9
      Linus Torvalds 提交于
      Pull UBIFS updates from Richard Weinberger:
      
       - Full filesystem authentication feature, UBIFS is now able to have the
         whole filesystem structure authenticated plus user data encrypted and
         authenticated.
      
       - Minor cleanups
      
      * tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs: (26 commits)
        ubifs: Remove unneeded semicolon
        Documentation: ubifs: Add authentication whitepaper
        ubifs: Enable authentication support
        ubifs: Do not update inode size in-place in authenticated mode
        ubifs: Add hashes and HMACs to default filesystem
        ubifs: authentication: Authenticate super block node
        ubifs: Create hash for default LPT
        ubfis: authentication: Authenticate master node
        ubifs: authentication: Authenticate LPT
        ubifs: Authenticate replayed journal
        ubifs: Add auth nodes to garbage collector journal head
        ubifs: Add authentication nodes to journal
        ubifs: authentication: Add hashes to index nodes
        ubifs: Add hashes to the tree node cache
        ubifs: Create functions to embed a HMAC in a node
        ubifs: Add helper functions for authentication support
        ubifs: Add separate functions to init/crc a node
        ubifs: Format changes for authentication support
        ubifs: Store read superblock node
        ubifs: Drop write_node
        ...
      42bd06e9
    • L
      Merge tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 4710e789
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Bugfix:
         - Fix build issues on architectures that don't provide 64-bit cmpxchg
      
        Cleanups:
         - Fix a spelling mistake"
      
      * tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: fix spelling mistake, EACCESS -> EACCES
        SUNRPC: Use atomic(64)_t for seq_send(64)
      4710e789
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35e74524
      Linus Torvalds 提交于
      Pull more timer updates from Thomas Gleixner:
       "A set of commits for the new C-SKY architecture timers"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        dt-bindings: timer: gx6605s SOC timer
        clocksource/drivers/c-sky: Add gx6605s SOC system timer
        dt-bindings: timer: C-SKY Multi-processor timer
        clocksource/drivers/c-sky: Add C-SKY SMP timer
      35e74524
    • L
      Merge tag 'ntb-4.20' of git://github.com/jonmason/ntb · 04578e84
      Linus Torvalds 提交于
      Pull NTB updates from Jon Mason:
       "Fairly minor changes and bug fixes:
      
        NTB IDT thermal changes and hook into hwmon, ntb_netdev clean-up of
        private struct, and a few bug fixes"
      
      * tag 'ntb-4.20' of git://github.com/jonmason/ntb:
        ntb: idt: Alter the driver info comments
        ntb: idt: Discard temperature sensor IRQ handler
        ntb: idt: Add basic hwmon sysfs interface
        ntb: idt: Alter temperature read method
        ntb_netdev: Simplify remove with client device drvdata
        NTB: transport: Try harder to alloc an aligned MW buffer
        ntb: ntb_transport: Mark expected switch fall-throughs
        ntb: idt: Set PCIe bus address to BARLIMITx
        NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks
        ntb: intel: fix return value for ndev_vec_mask()
        ntb_netdev: fix sleep time mismatch
      04578e84
  3. 04 11月, 2018 23 次提交