[alsa-devel] [PATCH 2/5] [RFC]intel_hdmi_audio: interface module

Babu, Ramesh ramesh.babu at intel.com
Wed Dec 1 10:55:21 CET 2010


> > > > + * had_hot_plug - to create sound card instance for HDMI audio
> > playabck
> > > > + *
> > > > + *
> > > > + * This function is called when the hdmi cable is plugged in. This
> > function
> > > > + * creates and registers the sound card with ALSA
> > > > + */
> > > > +static int had_hot_plug(void)
> > > > +{
> > >
> > > It would seem more natural for the HDMI device to be created and
> > > instatiated via the normal Linux device model - when a HDMI
> > connection
> > > is detected the thing doing the detection creates and registers a new
> > > device of some kind which the driver core then binds to a separate
> > > driver.
> >
> > Yeah, the driver structure here is somehow wacky, although it's not
> > to hard to trace.
> >
> >
> 
> Agree, we will work on this and revert back to you.
> 

We are planning to follow the USB audio driver model.  During _init
audio driver callbacks will be registered with display driver. Whenever
device is hot plugged, .probe will be invoked and sound card is created.
During un-plug, .disconnect will be invoked and sound card is removed.
Similarly .suspend and .resume will be called when the display device
getting suspended and resumed. Please provide your suggestions on this
driver model.

static struct hdmi_driver hdmi_audio_driver = {
    .probe =    hdmi_audio_probe,
    .disconnect =   hdmi_audio_disconnect,
    .suspend =  hdmi_audio_suspend,
    .resume =   hdmi_audio_resume,
 };
 
 static int __init alsa_card_intelhad_init(void)
 {
 	return hdmi_register(&hdmi_audio_driver);
 }

Thanks,
Ramesh & Sailaja


More information about the Alsa-devel mailing list