mbox series

[v9,0/5] Move Hisilicon 6421v600 SPMI and USB drivers out of staging

Message ID cover.1624640087.git.mchehab+huawei@kernel.org (mailing list archive)
Headers show
Series Move Hisilicon 6421v600 SPMI and USB drivers out of staging | expand

Message

Mauro Carvalho Chehab June 25, 2021, 5:06 p.m. UTC
Hi Greg,

This series contain the final bits needed for the USB3 bus to work
without staging drivers on Hikey 970.

It takes a different approach from the past series: basically,
it moves all IRQ related stuff into a new driver ( hi6421v600-irq),
and the MFD driver (hi6421-spmi-pmic) is now quit simple:
it contains just probe and regmap, which attaches into
two MFD "child" drivers (a regulator driver and an IRQ one).

This series also fixes a sutile bug recently introduced via the
regulator tree (patch 2).

Basically, the SPMI/MFD driver combination already uses the
platform data, but the new patch re-uses it to store a mutex
instead, overlapping the previous usage.

This was unoticed on my past tests, as there were some
unused data at the platform struct, that were big enough
to store a mutex, but when I tried to remove it, it caused
crashes and instability at the board.

Regards,
Mauro

Mauro Carvalho Chehab (5):
  staging: hikey9xx: split hi6421v600 irq into a separate driver
  regulator: hi6421v600-regulator: fix platform drvdata
  mfd: hi6421-spmi-pmic: move driver from staging
  dts: hisilicon: add support for the PMIC found on Hikey 970
  dts: hisilicon: add support for USB3 on Hikey 970

 .../mfd/hisilicon,hi6421-spmi-pmic.yaml       | 134 ++++++++
 MAINTAINERS                                   |   7 +
 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 129 ++++++--
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 ++++
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     |  87 +++++
 drivers/mfd/Kconfig                           |  16 +
 drivers/mfd/Makefile                          |   1 +
 drivers/mfd/hi6421-spmi-pmic.c                |  72 ++++
 drivers/misc/Kconfig                          |  10 +
 drivers/misc/Makefile                         |   1 +
 drivers/misc/hi6421v600-irq.c                 | 312 ++++++++++++++++++
 drivers/regulator/hi6421v600-regulator.c      |  26 +-
 drivers/staging/Kconfig                       |   2 -
 drivers/staging/Makefile                      |   1 -
 drivers/staging/hikey9xx/Kconfig              |  19 --
 drivers/staging/hikey9xx/Makefile             |   3 -
 drivers/staging/hikey9xx/TODO                 |   5 -
 drivers/staging/hikey9xx/hi6421-spmi-pmic.c   | 311 -----------------
 .../hikey9xx/hisilicon,hi6421-spmi-pmic.yaml  | 134 --------
 include/linux/mfd/hi6421-spmi-pmic.h          |  14 +-
 20 files changed, 822 insertions(+), 518 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
 create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
 create mode 100644 drivers/mfd/hi6421-spmi-pmic.c
 create mode 100644 drivers/misc/hi6421v600-irq.c
 delete mode 100644 drivers/staging/hikey9xx/Kconfig
 delete mode 100644 drivers/staging/hikey9xx/Makefile
 delete mode 100644 drivers/staging/hikey9xx/TODO
 delete mode 100644 drivers/staging/hikey9xx/hi6421-spmi-pmic.c
 delete mode 100644 drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml