mbox series

[GIT,PULL] pin control changes for v5.17

Message ID CACRpkdaVGwu=Bo5bxVQYZXD-k+x++SuOTApGoK2a_S-1M4Q+nQ@mail.gmail.com
State New
Headers show
Series [GIT,PULL] pin control changes for v5.17 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git tags/pinctrl-v5.17-1

Message

Linus Walleij Jan. 12, 2022, 11:23 a.m. UTC
Hi Linus,

this is the big pin control pull request for v5.17.

Notices:

- There will be conflicts! Kconfig and Makefile conflicts due to
  some RISC-V Starfive patches getting merged through the
  SoC tree while we were tidying up the Kconfig and Makefile
  (to avoid merge conflicts, heh) there is a resolution in linux-next
  which was discussed and reviewed to be correct.

- Some new code is added for lib/string_helpers.c by long time
  lib contributor Andy Schevchenko.

- A patch affecting some broadcom device trees was ripped
  out last minute and sent as a fix as its absence was causing
  regressions on the Raspberry Pi, I chose not to revert it from
  the devel tree as it seemed more messy than just letting git
  sort out the zero textual diff to your tree, this isn't the prettiest
  but, you know: it happens.

- The most interesting new driver is maybe the Intel "Thunder
  Bay" SoC. In difference from what one may think this is not
  some laptop x86 chip but actually an Arm64-based computer
  vision (AI) chip and successor (I guess) to the previous Keem
  Bay. The main SoC support for this chips is forthcoming.

Please pull it in and enjoy the conflicts!

Yours,
Linus Walleij

The following changes since commit 136057256686de39cc3a07c2e39ef6bc43003ff6:

  Linux 5.16-rc2 (2021-11-21 13:47:39 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v5.17-1

for you to fetch changes up to 7442936633bd1906a2571116ae334b68c56c8a72:

  pinctrl: imx: fix assigning groups names (2022-01-02 07:33:51 +0100)

----------------------------------------------------------------
Pin control bulk changes for the v5.17 kernel cycle

Core changes:

- New standard enumerator and corresponding device tree bindings
  for output impedance pin configuration. (Implemented and used
  in the Renesas rzg2l driver.)

- Cleanup of Kconfig and Makefile to be somewhat orderly and
  alphabetic.

New drivers:

- Samsung Exynos 7885 pin controller.

- Ocelot LAN966x pin controller.

- Qualcomm SDX65 pin controller.

- Qualcomm SM8450 pin controller.

- Qualcomm PM8019, PM8226 and PM2250 pin controllers.

- NXP/Freescale i.MXRT1050 pin controller.

- Intel Thunder Bay pin controller.

Enhancements:

- Introduction of the string library helper function
  "kasprintf_strarray()" and subsequent use in Rockchip, ST and
  Armada pin control drivers, as well as the GPIO mockup driver.

- The Ocelot pin controller has been extensively rewritten to
  use regmap and other modern kernel infrastructure.

- The Microchip SGPIO driver has been converted to use regmap.

- The SPEAr driver had been converted to use regmap.

- Substantial cleanups and janitorial on the Apple pin control
  driver that was merged for v5.16.

- Janitorial to remove of_node assignments in the GPIO portions
  that anyway get this handled in the GPIO core.

- Minor cleanups and improvements in several pin controllers.

----------------------------------------------------------------
Andy Shevchenko (23):
      lib/string_helpers: Introduce kasprintf_strarray()
      lib/string_helpers: Introduce managed variant of kasprintf_strarray()
      pinctrl/rockchip: Drop wrong kernel doc annotation
      pinctrl/rockchip: Use temporary variable for struct device
      pinctrl/rockchip: Make use of the devm_platform_get_and_ioremap_resource()
      pinctrl/rockchip: Convert to use dev_err_probe()
      pinctrl/rockchip: Switch to use devm_kasprintf_strarray()
      pinctrl: armada-37xx: Fix function name in the kernel doc
      pinctrl: armada-37xx: Use temporary variable for struct device
      pinctrl: armada-37xx: Make use of the devm_platform_ioremap_resource()
      pinctrl: armada-37xx: Convert to use dev_err_probe()
      pinctrl: armada-37xx: Switch to use devm_kasprintf_strarray()
      pinctrl: st: Drop wrong kernel doc annotations
      pinctrl: st: Use temporary variable for struct device
      pinctrl: st: Make use of the devm_platform_ioremap_resource_byname()
      pinctrl: st: Convert to use dev_err_probe()
      pinctrl: st: Switch to use devm_kasprintf_strarray()
      pinctrl: zynqmp: Unify pin naming
      gpio: mockup: Switch to use kasprintf_strarray()
      pinctrl: cherryview: Use temporary variable for struct device
      pinctrl: Sort Kconfig and Makefile entries alphabetically
      pinctrl: Get rid of duplicate of_node assignment in the drivers
      pinctrl: Propagate firmware node from a parent device

Colin Foster (4):
      pinctrl: ocelot: combine get resource and ioremap into single call
      pinctrl: ocelot: update pinctrl to automatic base address
      pinctrl: ocelot: convert pinctrl to regmap
      pinctrl: microchip-sgpio: update to support regmap

Dan Carpenter (2):
      pinctrl: mediatek: uninitialized variable in mtk_pctrl_show_one_pin()
      pinctrl: mediatek: add a check for error in mtk_pinconf_bias_get_rsel()

David Virag (2):
      dt-bindings: pinctrl: samsung: Document Exynos7885
      pinctrl: samsung: Add Exynos7885 SoC specific data

Dominik Kobinski (1):
      dt-bindings: pinctrl: qcom: pmic-gpio: Document pm8226 compatible

Geert Uytterhoeven (3):
      pinctrl: renesas: rza1: Fix kerneldoc function names
      pinctrl: renesas: Remove unneeded locking around sh_pfc_read() calls
      pinctrl: renesas: r8a779a0: Align comments

Giulio Benetti (1):
      pinctrl: freescale: Add i.MXRT1050 pinctrl driver support

Hans Verkuil (2):
      pinctrl-bcm2835: don't call pinctrl_gpio_direction()
      pinctrl-sunxi: don't call pinctrl_gpio_direction()

Hans de Goede (3):
      pinctrl: baytrail: Set IRQCHIP_SET_TYPE_MASKED flag on the irqchip
      pinctrl: cherryview: Don't use selection 0 to mark an interrupt
line as unused
      pinctrl: cherryview: Do not allow the same interrupt line to be
used by 2 pins

Herve Codina (3):
      pinctrl: spear: spear: Convert to regmap
      pinctrl: spear: plgpio: Convert to regmap
      pinctrl: spear: plgpio: Introduce regmap phandle

Jesse Taube (1):
      dt-bindings: pinctrl: add i.MXRT1050 pinctrl binding doc

Joey Gouly (11):
      pinctrl: apple: fix some formatting issues
      pinctrl: apple: add missing comma
      pinctrl: apple: use C style comment
      pinctrl: apple: add missing bits.h header
      pinctrl: apple: handle regmap_read errors
      pinctrl: apple: make apple_gpio_get_direction more readable
      pinctrl: apple: give error label a specific name
      pinctrl: apple: remove gpio-controller check
      pinctrl: apple: don't set gpio_chip.of_node
      pinctrl: apple: use modulo rather than bitwise and
      pinctrl: apple: return an error if pinmux is missing in the DT

John Keeping (1):
      pinctrl/rockchip: fix gpio device creation

Julian Braha (1):
      pinctrl: aspeed: fix unmet dependencies on MFD_SYSCON for PINCTRL_ASPEED

Kavyasree Kotagiri (2):
      dt-bindings: pinctrl: ocelot: add lan966x SoC support
      pinctrl: ocelot: Extend support for lan966x

Konrad Dybcio (2):
      dt-bindings: pinctrl: qcom,pmic-gpio: Add compatible for PM8019
      pinctrl: qcom-pmic-gpio: Add support for pm8019

Kunihiko Hayashi (1):
      dt-bindings: pinctrl: uniphier: Add child node definitions to
describe pin mux and configuration

Lad Prabhakar (9):
      dt-bindings: pincfg-node: Add "output-impedance-ohms" property
      pinctrl: pinconf-generic: Add support for
"output-impedance-ohms" to be extracted from DT files
      dt-bindings: pinctrl: renesas,rzg2l-pinctrl: Add
output-impedance-ohms property
      pinctrl: renesas: rzg2l: Rename RZG2L_SINGLE_PIN_GET_PORT macro
      pinctrl: renesas: rzg2l: Add helper functions to read/write pin config
      pinctrl: renesas: rzg2l: Add support to get/set pin config for
GPIO port pins
      pinctrl: renesas: rzg2l: Rename PIN_CFG_* macros to match HW manual
      pinctrl: renesas: rzg2l: Add support to get/set drive-strength
and output-impedance-ohms
      pinctrl: samsung: Use platform_get_irq_optional() to get the interrupt

Lakshmi Sowjanya D (2):
      dt-bindings: pinctrl: Add bindings for Intel Thunderbay pinctrl driver
      pinctrl: Add Intel Thunder Bay pinctrl driver

Linus Walleij (8):
      Merge tag 'intel-pinctrl-v5.17-2' of
gitolite.kernel.org:pub/scm/linux/kernel/git/pinctrl/intel into devel
      Merge tag 'v5.16-rc2' into devel
      Revert "dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings"
      Merge tag 'renesas-pinctrl-for-v5.17-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
      pinctrl: bcm2835: Silence uninit warning
      Merge tag 'intel-pinctrl-v5.17-3' of
gitolite.kernel.org:pub/scm/linux/kernel/git/pinctrl/intel into devel
      Merge tag 'renesas-pinctrl-for-v5.17-tag2' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
      Merge tag 'samsung-pinctrl-5.17' of
https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into
devel

Loic Poulain (2):
      pinctrl: spmi-gpio: Add support for PM2250
      dt-bindings: qcom,pmic-gpio: Add pm2250 compatible string

Phil Elwell (1):
      ARM: dts: gpio-ranges property is now required

Prasad Sodagudi (1):
      pinctrl: qcom: Add egpio feature support

Rafał Miłecki (9):
      dt-bindings: pinctrl: convert controller description to the json-schema
      dt-bindings: pinctrl: use pinctrl.yaml
      pinctrl: imx: prepare for making "group_names" in "function_desc" const
      pinctrl: keembay: comment process of building functions a bit
      pinctrl: keembay: rework loops looking for groups names
      pinctrl: add one more "const" for generic function groups
      pinctrl: imx: fix allocation result check
      pinctrl: bcm: ns: use generic groups & functions helpers
      pinctrl: imx: fix assigning groups names

Rajendra Nayak (1):
      pinctrl: qcom: sc7280: Add egpio support

Tinghan Shen (1):
      dt-bindings: pinctrl: mt8195: add wrapping node of pin configurations

Vamsi Krishna Lanka (3):
      dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
      pinctrl: qcom: Add SDX65 pincontrol driver
      dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings

Vinod Koul (2):
      dt-bindings: pinctrl: qcom: Add SM8450 pinctrl bindings
      pinctrl: qcom: Add SM8450 pinctrl driver

Wei Yongjun (1):
      pinctrl: samsung: Make symbol 'exynos7885_pin_ctrl' static

kernel test robot (1):
      pinctrl: apple-gpio: fix flexible_array.cocci warnings

 .../bindings/pinctrl/actions,s500-pinctrl.yaml     |    3 +
 .../pinctrl/allwinner,sun4i-a10-pinctrl.yaml       |    1 +
 .../devicetree/bindings/pinctrl/apple,pinctrl.yaml |    3 +
 .../bindings/pinctrl/aspeed,ast2400-pinctrl.yaml   |    3 +
 .../bindings/pinctrl/aspeed,ast2500-pinctrl.yaml   |    3 +
 .../bindings/pinctrl/aspeed,ast2600-pinctrl.yaml   |    3 +
 .../bindings/pinctrl/brcm,bcm6318-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/brcm,bcm63268-pinctrl.yaml    |    3 +
 .../bindings/pinctrl/brcm,bcm6328-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/brcm,bcm6358-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/brcm,bcm6362-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/brcm,bcm6368-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/brcm,ns-pinmux.yaml           |    3 +-
 .../bindings/pinctrl/canaan,k210-fpioa.yaml        |    7 +-
 .../bindings/pinctrl/cirrus,lochnagar.yaml         |    3 +
 .../devicetree/bindings/pinctrl/cirrus,madera.yaml |    3 +
 .../bindings/pinctrl/fsl,imx8mm-pinctrl.yaml       |    3 +
 .../bindings/pinctrl/fsl,imx8mn-pinctrl.yaml       |    3 +
 .../bindings/pinctrl/fsl,imx8mp-pinctrl.yaml       |    3 +
 .../bindings/pinctrl/fsl,imx8mq-pinctrl.yaml       |    3 +
 .../bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml      |    3 +
 .../devicetree/bindings/pinctrl/fsl,imxrt1050.yaml |   79 +
 .../bindings/pinctrl/ingenic,pinctrl.yaml          |    8 +-
 .../devicetree/bindings/pinctrl/intel,lgm-io.yaml  |    3 +
 .../bindings/pinctrl/intel,pinctrl-thunderbay.yaml |  119 ++
 .../bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mediatek,mt6779-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mediatek,mt6797-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mediatek,mt7622-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mediatek,mt7986-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mediatek,mt8183-pinctrl.yaml  |    3 +
 .../bindings/pinctrl/mscc,ocelot-pinctrl.txt       |    3 +-
 .../devicetree/bindings/pinctrl/pincfg-node.yaml   |    3 +
 .../bindings/pinctrl/pinctrl-bindings.txt          |   41 +-
 .../bindings/pinctrl/pinctrl-mt8192.yaml           |    3 +
 .../bindings/pinctrl/pinctrl-mt8195.yaml           |  341 ++--
 .../devicetree/bindings/pinctrl/pinctrl.yaml       |   45 +
 .../bindings/pinctrl/qcom,ipq6018-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml   |    3 +
 .../bindings/pinctrl/qcom,mdm9607-pinctrl.yaml     |    1 +
 .../bindings/pinctrl/qcom,msm8226-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/qcom,msm8953-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/qcom,pmic-gpio.yaml           |    3 +
 .../bindings/pinctrl/qcom,qcm2290-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/qcom,sc7280-pinctrl.yaml      |    3 +
 .../bindings/pinctrl/qcom,sc8180x-pinctrl.yaml     |    1 +
 .../bindings/pinctrl/qcom,sdx55-pinctrl.yaml       |    3 +
 .../bindings/pinctrl/qcom,sdx65-pinctrl.yaml       |  191 +++
 .../bindings/pinctrl/qcom,sm6115-pinctrl.yaml      |    3 +
 .../bindings/pinctrl/qcom,sm6125-pinctrl.yaml      |    1 +
 .../bindings/pinctrl/qcom,sm6350-pinctrl.yaml      |    1 +
 .../bindings/pinctrl/qcom,sm8250-pinctrl.yaml      |    3 +
 .../bindings/pinctrl/qcom,sm8350-pinctrl.yaml      |    1 +
 .../bindings/pinctrl/qcom,sm8450-pinctrl.yaml      |  143 ++
 .../bindings/pinctrl/qcom,tlmm-common.yaml         |    3 +
 .../bindings/pinctrl/ralink,rt2880-pinmux.yaml     |    3 +
 .../devicetree/bindings/pinctrl/renesas,pfc.yaml   |    3 +
 .../bindings/pinctrl/renesas,rza1-ports.yaml       |    3 +
 .../bindings/pinctrl/renesas,rza2-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/renesas,rzg2l-pinctrl.yaml    |    5 +
 .../bindings/pinctrl/renesas,rzn1-pinctrl.yaml     |    3 +
 .../bindings/pinctrl/rockchip,pinctrl.yaml         |    3 +
 .../bindings/pinctrl/samsung-pinctrl.txt           |    1 +
 .../pinctrl/socionext,uniphier-pinctrl.yaml        |   44 +-
 .../bindings/pinctrl/st,stm32-pinctrl.yaml         |    3 +
 .../bindings/pinctrl/toshiba,visconti-pinctrl.yaml |    5 +-
 .../bindings/pinctrl/xlnx,zynq-pinctrl.yaml        |    3 +
 .../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml      |    3 +
 MAINTAINERS                                        |    5 +
 arch/arm/boot/dts/bcm2711.dtsi                     |    2 +
 arch/arm/boot/dts/bcm283x.dtsi                     |    2 +
 drivers/gpio/gpio-mockup.c                         |   23 +-
 drivers/pinctrl/Kconfig                            |  450 +++---
 drivers/pinctrl/Makefile                           |   46 +-
 drivers/pinctrl/actions/pinctrl-owl.c              |    1 -
 drivers/pinctrl/aspeed/Kconfig                     |    2 +-
 drivers/pinctrl/bcm/Kconfig                        |    2 +
 drivers/pinctrl/bcm/pinctrl-bcm2835.c              |   15 +-
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c           |    1 -
 drivers/pinctrl/bcm/pinctrl-ns.c                   |  163 +-
 drivers/pinctrl/bcm/pinctrl-nsp-gpio.c             |    1 -
 drivers/pinctrl/cirrus/pinctrl-lochnagar.c         |    3 -
 drivers/pinctrl/cirrus/pinctrl-madera-core.c       |    5 +-
 drivers/pinctrl/freescale/Kconfig                  |    7 +
 drivers/pinctrl/freescale/Makefile                 |    1 +
 drivers/pinctrl/freescale/pinctrl-imx.c            |   17 +-
 drivers/pinctrl/freescale/pinctrl-imxrt1050.c      |  349 ++++
 drivers/pinctrl/intel/pinctrl-baytrail.c           |    2 +-
 drivers/pinctrl/intel/pinctrl-cherryview.c         |  130 +-
 drivers/pinctrl/mediatek/pinctrl-moore.c           |    7 +-
 drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c   |    2 +
 drivers/pinctrl/mediatek/pinctrl-paris.c           |    7 +-
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c        |   85 +-
 drivers/pinctrl/pinconf-generic.c                  |    2 +
 drivers/pinctrl/pinctrl-amd.c                      |    3 -
 drivers/pinctrl/pinctrl-apple-gpio.c               |  105 +-
 drivers/pinctrl/pinctrl-as3722.c                   |   13 +-
 drivers/pinctrl/pinctrl-at91-pio4.c                |    1 -
 drivers/pinctrl/pinctrl-at91.c                     |    1 -
 drivers/pinctrl/pinctrl-da9062.c                   |    6 +-
 drivers/pinctrl/pinctrl-digicolor.c                |    5 +-
 drivers/pinctrl/pinctrl-keembay.c                  |   87 +-
 drivers/pinctrl/pinctrl-max77620.c                 |   11 +-
 drivers/pinctrl/pinctrl-mcp23s08.c                 |    1 -
 drivers/pinctrl/pinctrl-microchip-sgpio.c          |   45 +-
 drivers/pinctrl/pinctrl-ocelot.c                   |  486 +++++-
 drivers/pinctrl/pinctrl-oxnas.c                    |    1 -
 drivers/pinctrl/pinctrl-pic32.c                    |    2 +-
 drivers/pinctrl/pinctrl-rk805.c                    |   12 +-
 drivers/pinctrl/pinctrl-rockchip.c                 |  161 +-
 drivers/pinctrl/pinctrl-st.c                       |  116 +-
 drivers/pinctrl/pinctrl-stmfx.c                    |    1 -
 drivers/pinctrl/pinctrl-sx150x.c                   |    3 -
 drivers/pinctrl/pinctrl-thunderbay.c               | 1322 +++++++++++++++
 drivers/pinctrl/pinctrl-xway.c                     |    1 -
 drivers/pinctrl/pinctrl-zynqmp.c                   |   10 +-
 drivers/pinctrl/pinmux.c                           |    2 +-
 drivers/pinctrl/pinmux.h                           |    4 +-
 drivers/pinctrl/qcom/Kconfig                       |   18 +
 drivers/pinctrl/qcom/Makefile                      |    2 +
 drivers/pinctrl/qcom/pinctrl-msm.c                 |   16 +-
 drivers/pinctrl/qcom/pinctrl-msm.h                 |   10 +
 drivers/pinctrl/qcom/pinctrl-sc7280.c              |   75 +-
 drivers/pinctrl/qcom/pinctrl-sdx65.c               |  967 +++++++++++
 drivers/pinctrl/qcom/pinctrl-sm8450.c              | 1689 ++++++++++++++++++++
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c           |    2 +
 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c           |    1 -
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c            |    1 -
 drivers/pinctrl/renesas/pfc-r8a779a0.c             |    4 +-
 drivers/pinctrl/renesas/pinctrl-rza1.c             |    6 +-
 drivers/pinctrl/renesas/pinctrl-rza2.c             |    1 -
 drivers/pinctrl/renesas/pinctrl-rzg2l.c            |  310 ++--
 drivers/pinctrl/renesas/pinctrl.c                  |    9 +-
 drivers/pinctrl/samsung/pinctrl-exynos-arm64.c     |   81 +
 drivers/pinctrl/samsung/pinctrl-samsung.c          |   11 +-
 drivers/pinctrl/samsung/pinctrl-samsung.h          |    1 +
 drivers/pinctrl/spear/pinctrl-plgpio.c             |  149 +-
 drivers/pinctrl/spear/pinctrl-spear.c              |   10 +-
 drivers/pinctrl/spear/pinctrl-spear.h              |   12 +-
 drivers/pinctrl/sunxi/pinctrl-sunxi.c              |    8 +-
 drivers/pinctrl/vt8500/pinctrl-wmt.c               |    1 -
 include/linux/pinctrl/pinconf-generic.h            |    3 +
 include/linux/string_helpers.h                     |    4 +
 lib/string_helpers.c                               |   64 +
 144 files changed, 7124 insertions(+), 1242 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml
 create mode 100644
Documentation/devicetree/bindings/pinctrl/intel,pinctrl-thunderbay.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl.yaml
 create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sdx65-pinctrl.yaml
 create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sm8450-pinctrl.yaml
 create mode 100644 drivers/pinctrl/freescale/pinctrl-imxrt1050.c
 create mode 100644 drivers/pinctrl/pinctrl-thunderbay.c
 create mode 100644 drivers/pinctrl/qcom/pinctrl-sdx65.c
 create mode 100644 drivers/pinctrl/qcom/pinctrl-sm8450.c

Comments

Linus Torvalds Jan. 12, 2022, 7:09 p.m. UTC | #1
On Wed, Jan 12, 2022 at 3:23 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> - There will be conflicts! Kconfig and Makefile conflicts due to
>   some RISC-V Starfive patches getting merged through the
>   SoC tree while we were tidying up the Kconfig and Makefile
>   (to avoid merge conflicts, heh) there is a resolution in linux-next
>   which was discussed and reviewed to be correct.

Whoever sorted the Makefile entries (yeah, it was Andy) isn't very good at it.

The broken sorting put CONFIG_PINCTRL_STMFX before CONFIG_PINCTRL_ST,
and I have no idea how you can sort that way.

I left the broken sorting in place, because changing the sort order in
the merge would just be even *more* confusing.

There may be other cases of that kind of oddity, I just happened to
notice that one because the 'starfive' thing ended up having that same
'st' beginning, and I went D'Oh when trying to make sure my merge kept
the ordering.

The sort order is fine in the Kconfig file. Maybe some odd sorting got
confused by the next non-letter character (either ')' after the config
name, or '.o' of the object file name).

Obviously not a big deal, but it's an oddity.

               Linus
pr-tracker-bot@kernel.org Jan. 12, 2022, 7:12 p.m. UTC | #2
The pull request you sent on Wed, 12 Jan 2022 12:23:03 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git tags/pinctrl-v5.17-1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/e3084ed48fd6b661fe434da0cb36d7d6706cf27f

Thank you!
Andy Shevchenko Jan. 12, 2022, 8:38 p.m. UTC | #3
On Wed, Jan 12, 2022 at 11:09:23AM -0800, Linus Torvalds wrote:
> On Wed, Jan 12, 2022 at 3:23 AM Linus Walleij <linus.walleij@linaro.org> wrote:
> >
> > - There will be conflicts! Kconfig and Makefile conflicts due to
> >   some RISC-V Starfive patches getting merged through the
> >   SoC tree while we were tidying up the Kconfig and Makefile
> >   (to avoid merge conflicts, heh) there is a resolution in linux-next
> >   which was discussed and reviewed to be correct.
> 
> Whoever sorted the Makefile entries (yeah, it was Andy) isn't very good at it.

Indeed. Sorry for that, I will send an update for next cycle.

> The broken sorting put CONFIG_PINCTRL_STMFX before CONFIG_PINCTRL_ST,
> and I have no idea how you can sort that way.
> 
> I left the broken sorting in place, because changing the sort order in
> the merge would just be even *more* confusing.
> 
> There may be other cases of that kind of oddity, I just happened to
> notice that one because the 'starfive' thing ended up having that same
> 'st' beginning, and I went D'Oh when trying to make sure my merge kept
> the ordering.
> 
> The sort order is fine in the Kconfig file. Maybe some odd sorting got
> confused by the next non-letter character (either ')' after the config
> name, or '.o' of the object file name).
> 
> Obviously not a big deal, but it's an oddity.
Andy Shevchenko Jan. 12, 2022, 8:56 p.m. UTC | #4
On Wed, Jan 12, 2022 at 10:38:40PM +0200, Andy Shevchenko wrote:
> On Wed, Jan 12, 2022 at 11:09:23AM -0800, Linus Torvalds wrote:
> > On Wed, Jan 12, 2022 at 3:23 AM Linus Walleij <linus.walleij@linaro.org> wrote:
> > >
> > > - There will be conflicts! Kconfig and Makefile conflicts due to
> > >   some RISC-V Starfive patches getting merged through the
> > >   SoC tree while we were tidying up the Kconfig and Makefile
> > >   (to avoid merge conflicts, heh) there is a resolution in linux-next
> > >   which was discussed and reviewed to be correct.
> > 
> > Whoever sorted the Makefile entries (yeah, it was Andy) isn't very good at it.
> 
> Indeed. Sorry for that, I will send an update for next cycle.
> 
> > The broken sorting put CONFIG_PINCTRL_STMFX before CONFIG_PINCTRL_ST,
> > and I have no idea how you can sort that way.
> > 
> > I left the broken sorting in place, because changing the sort order in
> > the merge would just be even *more* confusing.
> > 
> > There may be other cases of that kind of oddity, I just happened to
> > notice that one because the 'starfive' thing ended up having that same
> > 'st' beginning, and I went D'Oh when trying to make sure my merge kept
> > the ordering.


I setup a little experiment, since I'm using vim, there are two possibilities
to sort the selection, i.e. using internal sort and calling external !sort.

Using internal gives:

-obj-$(CONFIG_PINCTRL_STMFX)    += pinctrl-stmfx.o
 obj-$(CONFIG_PINCTRL_ST)       += pinctrl-st.o
 obj-$(CONFIG_PINCTRL_STARFIVE) += pinctrl-starfive.o
+obj-$(CONFIG_PINCTRL_STMFX)    += pinctrl-stmfx.o


Using external gives:

+obj-$(CONFIG_PINCTRL_STARFIVE) += pinctrl-starfive.o
 obj-$(CONFIG_PINCTRL_STMFX)    += pinctrl-stmfx.o
 obj-$(CONFIG_PINCTRL_ST)       += pinctrl-st.o
-obj-$(CONFIG_PINCTRL_STARFIVE) += pinctrl-starfive.o


Now you may easily see what happened.
Linus Torvalds Jan. 12, 2022, 9:02 p.m. UTC | #5
On Wed, Jan 12, 2022 at 12:57 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> Now you may easily see what happened.

I still have no idea how any sort wouldn't sort that CONFIG_PINCTRL_ST
line first, since even if it's about the following characters, both
')' and '.' would normally sort before any letters at least in ASCII.

So I can only assume it's something that takes  the locale into
account in odd ways, or just has some special rules for non-alpha
sorting.

But I don't find it in myself to care apart from noting the
strangeness of it all.

            Linus