[U-Boot] [PATCH 00/30] dm: sound: Convert to driver model

Simon Glass sjg at chromium.org
Mon Dec 3 11:37:16 UTC 2018


The sound subsystem has never been converted to driver model. It is not
widely used and is a little bit complicating since it needs an audio
codec, an i2s device and a sound device to bring them together.

Sound is the main subsystem holding back removal of CONFIG_DM_I2C_COMPAT.

This series takes a stab at doing the conversion. So far this is only
tested on snow. I intend to test also on spring and pit/pi when I can.
I do not have smdk5250/5420 or arndale to test with.


Simon Glass (30):
  sandbox: Increase the pre-relocation memory
  snow: Expand U-Boot size
  dm: sound: samsung: Make local function static
  dm: sound: Rename en_sound_codec to sound_codec
  dm: sound: Drop unused pre-device-tree code
  dm: sound: samsung: Rename i2stx_info to samsung_i2s_priv
  dm: sound: Drop codec_type
  dm: sound: wm8994: Pass private data to internal functions
  dm: sound: max98095: Pass private data to internal functions
  dm: sound: wm8994: Create a new common init function
  dm: sound: wm899c: Split out interface setup code
  dm: sound: max98095: Split out interface setup code
  dm: sound: wm8994: Drop global i2c-address variable
  dm: sound: max98095: Drop global i2c-address variable
  dm: sound: wm8994: Drop g_codec_info and g_wm8994_info
  dm: sound: max98095: Drop g_codec_info and g_max98095_info
  dm: sound: wm8994: Drop wm8994_i2c_init()
  dm: sound: Fix up header ordering
  dm: sound: exynos: Correct codec bus address
  dm: sound: Create an option to use driver model for sound
  dm: sound: Rename samsung_i2s_priv to i2s_uc_priv
  dm: sound: Create a uclass for audio codecs
  dm: sound: Create a uclass for i2s
  dm: sound: Create a uclass for sound
  dm: core: Add a function to read into a unsigned int
  dm: sound: Start i2c IDs from 0
  dm: sound: Add conversion to driver model
  dm: exynos: sound: Convert to use driver model
  dm: exynos: Drop CONFIG_DM_I2C_COMPAT
  dm: sound: Complete migration to driver model

 Kconfig                               |   2 +
 arch/arm/dts/exynos5250-smdk5250.dts  |  21 +-
 arch/arm/dts/exynos5250-snow.dts      |  25 +-
 arch/arm/dts/exynos5250-spring.dts    |  24 +-
 arch/arm/dts/exynos5250.dtsi          |  15 +-
 arch/arm/dts/exynos5420-peach-pit.dts |  24 +-
 arch/arm/dts/exynos5420-smdk5420.dts  |  21 +-
 arch/arm/dts/exynos54xx.dtsi          |   7 +
 arch/sandbox/dts/test.dts             |  23 ++
 arch/sandbox/include/asm/test.h       |  40 +++
 cmd/sound.c                           |  13 +-
 configs/arndale_defconfig             |   1 +
 configs/peach-pi_defconfig            |   2 +-
 configs/peach-pit_defconfig           |   2 +-
 configs/sandbox64_defconfig           |   1 -
 configs/sandbox_defconfig             |   2 +-
 configs/sandbox_flattree_defconfig    |   1 -
 configs/sandbox_noblk_defconfig       |   1 -
 configs/sandbox_spl_defconfig         |   1 -
 configs/smdk5250_defconfig            |   2 +-
 configs/smdk5420_defconfig            |   1 -
 configs/snow_defconfig                |   2 +-
 configs/spring_defconfig              |   2 +-
 drivers/core/read.c                   |  23 ++
 drivers/sound/Makefile                |   5 +-
 drivers/sound/codec-uclass.c          |  26 ++
 drivers/sound/i2s-uclass.c            |  25 ++
 drivers/sound/max98095.c              | 316 ++++++++---------
 drivers/sound/max98095.h              |   2 +-
 drivers/sound/samsung-i2s.c           | 139 ++++++--
 drivers/sound/samsung_sound.c         | 104 ++++++
 drivers/sound/sandbox.c               | 177 +++++++++-
 drivers/sound/sound-i2s.c             | 208 -----------
 drivers/sound/sound-uclass.c          | 129 +++++++
 drivers/sound/wm8994.c                | 475 ++++++++++++--------------
 drivers/sound/wm8994.h                |   2 +-
 include/audio_codec.h                 |  48 +++
 include/dm/read.h                     |  58 ++++
 include/dm/uclass-id.h                |   3 +
 include/i2s.h                         |  33 +-
 include/sound.h                       |  72 +++-
 test/dm/Makefile                      |   3 +
 test/dm/audio.c                       |  34 ++
 test/dm/i2s.c                         |  32 ++
 test/dm/sound.c                       |  34 ++
 test/dm/test-fdt.c                    |  35 ++
 46 files changed, 1483 insertions(+), 733 deletions(-)
 create mode 100644 drivers/sound/codec-uclass.c
 create mode 100644 drivers/sound/i2s-uclass.c
 create mode 100644 drivers/sound/samsung_sound.c
 delete mode 100644 drivers/sound/sound-i2s.c
 create mode 100644 drivers/sound/sound-uclass.c
 create mode 100644 include/audio_codec.h
 create mode 100644 test/dm/audio.c
 create mode 100644 test/dm/i2s.c
 create mode 100644 test/dm/sound.c

-- 
2.20.0.rc1.387.gf8505762e3-goog



More information about the U-Boot mailing list