Re: [PATCH 00/27] ALSA: Reorganize HD-audio driver code

Takashi Iwai
2025-07-11T12:56:00Z

On Wed, 09 Jul 2025 18:04:03 +0200,
Takashi Iwai wrote:
>
> HD-audio driver is known to be quite messy in both file structures and
> its design, but until now I haven't touched its files paths so much
> because I set a higher priority for the easiness of backport to stable
> kernels. But, you can't leave garbages forever, it's been already
> high time for a large clean up -- so here it is.
>
> The basic idea is to move the code from sound/pci/hda/* into different
> subdirectories in sound/hda/ per functionality, as most of the stuff
> are independent from PCI, but rather HD-audio bus specific.
>
> So, now the all HD-audio driver code are moved under sound/hda:
>
> % ls sound/hda
> codecs/ common/ controllers/ core/ Kconfig Makefile
>
> * The former hda core code is found in sound/hda/core.
> * The former snd-hda-codec code is found in sound/hda/common.
> * The former snd-hda-intel, tegra and acpi are put in
> sound/hda/controllers.
> * The former patch_* and co are put to sound/hda/codecs.
> * Realtek codec driver is split to several modules as
> sound/hda/codecs/realtek/alc*.
> * Cirrus codec driver is split to cs420x and cs421x, put under
> sound/hda/codecs/cirrus together with cs8409.
> * HDMI codec driver is split to several modules under
> sound/hda/codecs/hdmi
> * Cirrus and TI sub-codecs are put under sound/hda/codecs/side-codecs
>
> Also, the probe of the HD-audio codec driver is moved into the
> driver's ops instead of the ugly patch_ops embedded in hda_codec
> object. (As of now, hda_codec_driver.ops is a pointer, but it can be
> embedded later, too.)
>
> This change required some code to be modified without the dynamic
> override of callbacks.
>
> In future, we may convert the runtime PM handling to use the standard
> pm_ops, too. This was raised some time ago during the discussion with
> Realtek devs.
>
> The tree applying those patches is found in topic/hda-reorg branch of
> sound git tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/?h=topic/hda-reorg

I merged this change to for-next branch now, destined for 6.17.

It means that there may be some merge conflict in future in linux-next
because of many file renames from sound/pci/hda/* -> sound/hda/*.
So adding Stephen to Cc. The conflict resolution should be relatively
easy, though.

thanks,

Takashi