[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAFv8NwJHpY+ptc+WbeRhsKB8wGnt08r38GG7WUYTrt=wZaGqqA@mail.gmail.com>
Date: Tue, 9 Jul 2019 19:58:56 +0800
From: Cheng-yi Chiang <cychiang@...omium.org>
To: Mark Brown <broonie@...nel.org>
Cc: Tzung-Bi Shih <tzungbi@...gle.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Hans Verkuil <hverkuil@...all.nl>,
Liam Girdwood <lgirdwood@...il.com>,
Takashi Iwai <tiwai@...e.com>,
Jaroslav Kysela <perex@...ex.cz>,
Russell King <rmk+kernel@...linux.org.uk>,
Andrzej Hajda <a.hajda@...sung.com>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Heiko Stuebner <heiko@...ech.de>,
Doug Anderson <dianders@...omium.org>,
Dylan Reid <dgreid@...omium.org>, tzungbi@...omium.org,
ALSA development <alsa-devel@...a-project.org>,
dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org
Subject: Re: [PATCH 1/4] ASoC: hdmi-codec: Add an op to set callback function
for plug event
On Mon, Jul 8, 2019 at 1:03 PM Cheng-yi Chiang <cychiang@...omium.org> wrote:
>
> On Fri, Jul 5, 2019 at 8:12 PM Mark Brown <broonie@...nel.org> wrote:
> >
> > On Fri, Jul 05, 2019 at 03:08:37PM +0800, Tzung-Bi Shih wrote:
> > > On Fri, Jul 5, 2019 at 12:26 PM Cheng-Yi Chiang <cychiang@...omium.org> wrote:
> >
> > > > +typedef void (*hdmi_codec_plugged_cb)(struct platform_device *dev,
> > > > + bool plugged);
> > > > +
> >
> > > The callback prototype is "weird" by struct platform_device. Is it
> > > possible to having snd_soc_component instead of platform_device?
> >
> > Or if it's got to be a device why not just a generic device so
> > we're not tied to a particular bus here?
>
> My intention was to invoke the call in dw-hdmi.c like this:
>
> hdmi->plugged_cb(hdmi->audio,
> result == connector_status_connected);
>
> Here hdmi->audio is a platform_device.
> I think dw-hdmi can not get snd_soc_component easily.
> I can use a generic device here so the ops is more general.
> The calling will be like
> hdmi->plugged_cb(&hdmi->audio->dev,
> result == connector_status_connected);
> I will update this in v2.
> Thanks!
I have thought about this a bit more. And I think the more proper
interface is to pass in a generic struct device* for codec.
This way, the user of hdmi-codec driver on the DRM side is not limited
to the relation chain of
audio platform device -> codec platform device, which is just a
special case in dw-hdmi driver.
As long as DRM side can get hdmi-codec device pointer through
drv_data, it can use this callback.
Hope this makes the interface more generic.
Powered by blists - more mailing lists