Hi Lars, On 11-04-2016 13:23, Lars-Peter Clausen wrote: > On 04/11/2016 01:32 PM, Jose Abreu wrote: >> Hi Lars, >> >> >> On 11-04-2016 10:33, Lars-Peter Clausen wrote: >>> On 04/11/2016 11:27 AM, Jose Abreu wrote: >>>> Hi Lars, >>>> >>>> >>>> On 09-04-2016 16:02, Lars-Peter Clausen wrote: >>>>> On 04/08/2016 06:12 PM, Jose Abreu wrote: >>>>> [...] >>>>>>> [...] >>>>>>>> +- adi,enable-audio: If set the ADV7511 driver will register a codec interface >>>>>>>> + into ALSA SoC. >>>>>>> This is not a description of the hardware. >>>>>> Is this okay: "adi,enable-audio: Set this boolean parameter if ADV7511 >>>>>> transmitter routes audio signals" ? >>>>> I don't think we need this property. There is no problem with registering >>>>> the audio part unconditionally. As long as there is no connection we wont >>>>> create a sound card that is exposed to userspace. >>>>> >>>> This change was suggested by Laurent Pinchart and was introduced in v3. Quoting >>>> Laurent: >>>> "The idea is that enabling support for ADV7511 audio in the kernel isn't coupled >>>> with whether the system includes audio support. It would be confusing, and would >>>> also waste resources, to create a Linux sound device when no sound channel is >>>> routed on the board." >>> I wouldn't care too much about this at this point, the extra amount of >>> resources required for registering the CODEC (but not the sound card) is >>> just a few bytes (sizeof(struct snd_soc_codec)). >>> >>> Nevertheless what we should do is describe the hardware and from this >>> information infer whether there is a audio connection or not and if there is >>> none we might skip registering the CODEC. In my opinion this hardware >>> description should be modeled using of-graph, having a connection between >>> the SoC side and the adv7511 SPDIF or I2S port. >>> >> You mean something like this: >> >> sound_playback: sound_playback { >> compatible = "simple-audio-card"; >> [...] >> simple-audio-card,format = "i2s"; >> [...] >> } >> >> adv7511 at xx { >> compatible = "adi,adv7511"; >> [...] >> >> ports { >> [...] >> /* Audio Output */ >> port at x { >> reg = <x>; >> endpoint { >> remote-endpoint = <&sound_playback>; >> } >> } >> } >> } > Yes, something like that. Not exactly like that, but similar. One of the > core concepts of of-graph is that there is always a description of the > connection from both sides, this way each side can independently figure out > where it is connected. > > Currently there is also zero support of of-graph in ASoC, so a bit of work > is required to get this integrated properly. > I also believe this would be the better option but in the meantime can't I integrate the audio like it is being done in the dw-hdmi driver[1]? In this driver the audio is registered as a sound card and is conditionally built using Kconfig, just like I was doing in the previous versions. I know you said the HDMI audio is still an open issue but it seems that for this case it was accepted. [1] http://lxr.free-electrons.com/source/drivers/gpu/drm/bridge/dw-hdmi-ahb-audio.c Best regards, Jose Miguel Abreu