mbox series

[v3,0/7] Refactor imx drivers and introduce support for imx95

Message ID 20250207162246.3104-1-laurentiumihalcea111@gmail.com (mailing list archive)
Headers show
Series Refactor imx drivers and introduce support for imx95 | expand

Message

Laurentiu Mihalcea Feb. 7, 2025, 4:22 p.m. UTC
From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

A rather aggressive but arguably much needed refactorization of the SOF
imx drivers. The refactorization is meant to address the code duplication
in the imx drivers and decrease the coding effort required for introducing
a new imx platform.

After refactorization and imx95 introduction, only two drivers remain:
imx8 (meant for the imx8 series: imx8 (imx8qm), imx8x (imx8qxp), imx8m,
and imx8ulp) and imx9 (meant for the imx9 series: imx95 (for now)).

The series also includes the introduction of the imx95 driver.

---
Changes in v3:

- drop the patch that shuffles structure and function definitions
in imx8.c

- drop comment regarding "clk_bulk_prepare_enable" having no
effect if number of clocks is 0.

- add Frank's R-b

- link to v2: https://lore.kernel.org/lkml/20250205203022.2754-1-laurentiumihalcea111@gmail.com/

Changes in v2:

- fixed order of includes in "imx-common.c". They're now sorted
alphabetically.

- use reverse xmas tree ordering for variable declarations.

- add missing call to "of_reserved_mem_device_release()"

- add two new fields: "drv" and "num_drv" in "struct imx_chip_info"

- drop previously obtained R-b's on patches affected by aforementioned
changes.

- link to v1: https://lore.kernel.org/imx/20250203171808.4108-10-laurentiumihalcea111@gmail.com/T/
---

Laurentiu Mihalcea (7):
  ASoC: SOF: imx: introduce more common structures and functions
  ASoC: SOF: imx8: use common imx chip interface
  ASoC: SOF: imx8: use IMX_SOF_* macros
  ASoC: SOF: imx8: drop unneeded/unused macros/header includes
  ASoC: SOF: imx: merge imx8 and imx8m drivers
  ASoC: SOF: imx: merge imx8 and imx8ulp drivers
  ASoC: SOF: imx: add driver for the imx95 chip

 sound/soc/sof/imx/Kconfig      |  17 +-
 sound/soc/sof/imx/Makefile     |   6 +-
 sound/soc/sof/imx/imx-common.c | 431 ++++++++++++++++++-
 sound/soc/sof/imx/imx-common.h | 151 +++++++
 sound/soc/sof/imx/imx8.c       | 753 ++++++++++++---------------------
 sound/soc/sof/imx/imx8m.c      | 567 -------------------------
 sound/soc/sof/imx/imx8ulp.c    | 520 -----------------------
 sound/soc/sof/imx/imx9.c       | 137 ++++++
 8 files changed, 988 insertions(+), 1594 deletions(-)
 delete mode 100644 sound/soc/sof/imx/imx8m.c
 delete mode 100644 sound/soc/sof/imx/imx8ulp.c
 create mode 100644 sound/soc/sof/imx/imx9.c

Comments

Mark Brown Feb. 10, 2025, 4:30 p.m. UTC | #1
On Fri, 07 Feb 2025 11:22:39 -0500, Laurentiu Mihalcea wrote:
> A rather aggressive but arguably much needed refactorization of the SOF
> imx drivers. The refactorization is meant to address the code duplication
> in the imx drivers and decrease the coding effort required for introducing
> a new imx platform.
> 
> After refactorization and imx95 introduction, only two drivers remain:
> imx8 (meant for the imx8 series: imx8 (imx8qm), imx8x (imx8qxp), imx8m,
> and imx8ulp) and imx9 (meant for the imx9 series: imx95 (for now)).
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/7] ASoC: SOF: imx: introduce more common structures and functions
      commit: 651e0ed391b148f83afba0bfbd8a56e38e58c34d
[2/7] ASoC: SOF: imx8: use common imx chip interface
      commit: 645753d01356ff1a756812f1c69c53eb5c9081cd
[3/7] ASoC: SOF: imx8: use IMX_SOF_* macros
      commit: 563e40153a56cbfae8721f9591022df5d930f939
[4/7] ASoC: SOF: imx8: drop unneeded/unused macros/header includes
      commit: 45e02edd8422b6c4a511f38403dbd805cd139733
[5/7] ASoC: SOF: imx: merge imx8 and imx8m drivers
      commit: 896530b7b0c08ee8b3296d5f012bfe1b0a979b86
[6/7] ASoC: SOF: imx: merge imx8 and imx8ulp drivers
      commit: 07e3e514dd385300bd08da4a8df09240d272821e
[7/7] ASoC: SOF: imx: add driver for the imx95 chip
      commit: 6cf5df1040ba0694aea6a5edc6f31811a442ea36

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark