Takashi,
I'm wondering if there is any interest in providing a userspace way of modifying the HDA port/mixer input/output mappings? The driver currently uses hard-coded models to define the standard configuration for a given piece of hardware, but this doesn't allow a user to redefine a line-in port as an output port if the chipset has an available unmapped mixer. I'm bringing this up because from what I understand of the ALC883 is that it has 4 mixers, yet on my motherboard there are only 3 ports configured as output by default (6stack-dig). Correct me if I'm wrong, but I should be able to map all of the physical jacks as outputs and then assign each of the mixers to a jack or more than one jack. That would require adding a new model to the driver and/or unloading/reloading the module with a new model string. In a system which has the driver built-in and isn't using modules, this requires a reboot. If there was a userspace way of reconfiguring the jacks (via /proc/asound?) then perhaps even all of the hardware -> model mappings could be moved into a little tool run at boot time which doesn't require a kernel change every time new hardware is introduced. A nice little ncurses tool could even be made to modify port mappings. What do you think? If I'm misunderstanding the capabilities of the chips please let me know.
Thanks, -Andrew
p.s. I still have yet to test out the multi-card patch. I'll reply to that once I have more info.