linux_dsm_epyc7002/include/sound/hdaudio.h
Takashi Iwai e3d280fc6d ALSA: hda - Make snd_hda_bus_type public
Define the common hd-audio driver and device types to bind over
snd_hda_bus_type publicly.  This allows to implement other type of
device and driver code over hd-audio bus.

Now both struct hda_codec and struct hda_codec_driver inherit these
new struct hdac_device and struct hdac_driver, respectively.

The bus registration is done in subsys_initcall() to assure it
before any other driver registrations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-03-23 13:15:51 +01:00

43 lines
715 B
C

/*
* HD-audio core stuff
*/
#ifndef __SOUND_HDAUDIO_H
#define __SOUND_HDAUDIO_H
#include <linux/device.h>
/*
* exported bus type
*/
extern struct bus_type snd_hda_bus_type;
/*
* HD-audio codec base device
*/
struct hdac_device {
struct device dev;
int type;
};
/* device/driver type used for matching */
enum {
HDA_DEV_CORE,
HDA_DEV_LEGACY,
};
#define dev_to_hdac_dev(_dev) container_of(_dev, struct hdac_device, dev)
/*
* HD-audio codec base driver
*/
struct hdac_driver {
struct device_driver driver;
int type;
int (*match)(struct hdac_device *dev, struct hdac_driver *drv);
};
#define drv_to_hdac_driver(_drv) container_of(_drv, struct hdac_driver, driver)
#endif /* __SOUND_HDAUDIO_H */