[alsa-devel] Kernel config issue: SND_HDA_RECONFIG depends on SND_HDA_HWDEP
Hi,
with kernel 4.5 (and it looks as if this has not changed since then) the SND_HDA_RECONFIG sysfs entries still show up in the hwdep devices. Enabling SND_HDA_RECONFIG without SND_HDA_HWDEP is worth nothing, but the dependency has been removed from Kconfig. The commits from 13aeaf68 / 'Manage each codec instance individually' read as if the sysfs entries should show up at the codec driver but they do not.
Regards, Jochen
On Fri, 06 May 2016 17:55:04 +0200, Jochen Henneberg wrote:
Hi,
with kernel 4.5 (and it looks as if this has not changed since then) the SND_HDA_RECONFIG sysfs entries still show up in the hwdep devices. Enabling SND_HDA_RECONFIG without SND_HDA_HWDEP is worth nothing, but the dependency has been removed from Kconfig. The commits from 13aeaf68 / 'Manage each codec instance individually' read as if the sysfs entries should show up at the codec driver but they do not.
Right, it's indeed missing in the core hdaudio bus sysfs. We may extend hdaudio bus sysfs for additional entries, but I guess it's easier to fix up the Kconfig dependency for now.
thanks,
Takashi
On Mon, 09 May 2016 14:28:31 +0200, Takashi Iwai wrote:
On Fri, 06 May 2016 17:55:04 +0200, Jochen Henneberg wrote:
Hi,
with kernel 4.5 (and it looks as if this has not changed since then) the SND_HDA_RECONFIG sysfs entries still show up in the hwdep devices. Enabling SND_HDA_RECONFIG without SND_HDA_HWDEP is worth nothing, but the dependency has been removed from Kconfig. The commits from 13aeaf68 / 'Manage each codec instance individually' read as if the sysfs entries should show up at the codec driver but they do not.
Right, it's indeed missing in the core hdaudio bus sysfs. We may extend hdaudio bus sysfs for additional entries, but I guess it's easier to fix up the Kconfig dependency for now.
Reading back the commit, now I remembered why this change was done.
Basically, the reconfig itself may be performed without hwdep in the recent version, e.g. triggered by the patch firmware. So, the commit decoupled the hwdep and the reconfig parts individually. If people needs the manual reconfig via sysfs, it still needs SND_HDA_HWDEP, yes. But it's not mandatory for doing the reconfig via patch.
That said, reverting the kconfig dependency doesn't sound right in this case. Instead, we need to correct and enhance the help text in Kconfig for avoiding the misunderstanding.
Does the patch below clarify enough?
Takashi
--- diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig index bb02c2d48fd5..7f3b5ed81995 100644 --- a/sound/pci/hda/Kconfig +++ b/sound/pci/hda/Kconfig @@ -50,9 +50,13 @@ config SND_HDA_RECONFIG bool "Allow dynamic codec reconfiguration" help Say Y here to enable the HD-audio codec re-configuration feature. - This adds the sysfs interfaces to allow user to clear the whole - codec configuration, change the codec setup, add extra verbs, - and re-configure the codec dynamically. + It allows user to clear the whole codec configuration, change the + codec setup, add extra verbs, and re-configure the codec dynamically. + + Note that this item alone doesn't provide the sysfs interface, but + enables the feature just for the patch loader below. + If you need the traditional sysfs entries for the manual interaction, + turn on CONFIG_SND_HDA_HWDEP as well.
config SND_HDA_INPUT_BEEP bool "Support digital beep via input layer"
On Mo, 2016-05-09 at 14:42 +0200, Takashi Iwai wrote:
Basically, the reconfig itself may be performed without hwdep in the recent version, e.g. triggered by the patch firmware. So, the commit decoupled the hwdep and the reconfig parts individually. If people needs the manual reconfig via sysfs, it still needs SND_HDA_HWDEP, yes. But it's not mandatory for doing the reconfig via patch.
That said, reverting the kconfig dependency doesn't sound right in this case. Instead, we need to correct and enhance the help text in Kconfig for avoiding the misunderstanding.
Does the patch below clarify enough?
That's fine. It will help build custom kernels like I have to do.
Thanks. -Jochen
On Mon, 09 May 2016 17:46:52 +0200, Jochen Henneberg wrote:
On Mo, 2016-05-09 at 14:42 +0200, Takashi Iwai wrote:
Basically, the reconfig itself may be performed without hwdep in the recent version, e.g. triggered by the patch firmware. So, the commit decoupled the hwdep and the reconfig parts individually. If people needs the manual reconfig via sysfs, it still needs SND_HDA_HWDEP, yes. But it's not mandatory for doing the reconfig via patch.
That said, reverting the kconfig dependency doesn't sound right in this case. Instead, we need to correct and enhance the help text in Kconfig for avoiding the misunderstanding.
Does the patch below clarify enough?
That's fine. It will help build custom kernels like I have to do.
OK, I'll queue the patch.
thanks,
Takashi
On Mo, 2016-05-09 at 14:28 +0200, Takashi Iwai wrote:
On Fri, 06 May 2016 17:55:04 +0200, Jochen Henneberg wrote:
Hi,
with kernel 4.5 (and it looks as if this has not changed since then) the SND_HDA_RECONFIG sysfs entries still show up in the hwdep devices. Enabling SND_HDA_RECONFIG without SND_HDA_HWDEP is worth nothing, but the dependency has been removed from Kconfig. The commits from 13aeaf68 / 'Manage each codec instance individually' read as if the sysfs entries should show up at the codec driver but they do not.
Right, it's indeed missing in the core hdaudio bus sysfs. We may extend hdaudio bus sysfs for additional entries, but I guess it's easier to fix up the Kconfig dependency for now.
That's true, Kconfig is the fast path. But after all, this is all worth nothing as long as the reconfig is broken, please refer to my email 'bug: reconfig broken on kernel 4.5' in the list. I would really like to provide a patch for this issue, but my understanding of the HDA/sound stack is too limited.
Regards, Jochen
thanks,
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (2)
-
Jochen Henneberg
-
Takashi Iwai