[alsa-devel] [PATCH 1/5] [RFC]intel_hdmi_audio:include header

Takashi Iwai tiwai at suse.de
Thu Nov 25 06:46:01 CET 2010


At Thu, 25 Nov 2010 10:36:49 +0530,
Bandarupalli, Sailaja wrote:
> 
> 
> 
> > > +#include <linux/types.h>
> > > +#include <sound/initval.h>
> > 
> > Usually this header isn't needed in the global header file.
> > 
> 
> We will remove un necessary global header files.
> 
> > > +#include "../../../drivers/staging/mrst/drv/mdfld_hdmi_audio_if.h"
> > > +#include "../../../drivers/staging/mrst/drv/psb_intel_hdmi.h"
> > 
> > This is bad...  If these files are really used over several
> > subsystems, they should be put somewhere in a better public place.
> >
> 
> Currently display driver code is in the staging area. Can we move
> header files to include folder?

I think yes.  If not, you can create a include directory in your
staging driver path, then set $(EXTRA_CFLAGS) to point there in
Makefile of the hdmi audio driver.


> > > +/**
> > > + * union aud_cfg - Audio configuration offset - 69000
> > > + *
> > > + * @cfg_regx: individual register bits
> > > + * @cfg_regval: full register value
> > > + *
> > > + * */
> > > +union aud_cfg {
> > > +	struct {
> > > +		u32 aud_en:1;
> > > +		u32 layout:1;
> > > +		u32 fmt:2;
> > > +		u32 num_ch:2;
> > > +		u32 rsvd0:1;
> > > +		u32 set:1;
> > > +		u32 flat:1;
> > > +		u32 val_bit:1;
> > > +		u32 user_bit:1;
> > > +		u32 underrun:1;
> > > +		u32 rsvd1:20;
> > > +	} cfg_regx;
> > > +	u32 cfg_regval;
> > > +};
> > 
> > In general, better to avoid bit fields if it's used for the data
> > transfer.  The bit-fields are never portable.
> > 
> These bit fields are used for programming the HDMI controller subsystem.

So, these bit-fields data aren't exposed to the hardware as is, but
used only between the hdmi audio and the controller drivers?
(But then, why these have to be defined in here?)


Takashi


More information about the Alsa-devel mailing list