diff options
author | Mengdong Lin <mengdong.lin@intel.com> | 2015-04-29 17:43:20 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-04-29 12:27:52 +0200 |
commit | a5e7e07c264bb76d0b7c782766989c491833de05 (patch) | |
tree | 35cd2d573347f42a479f65079d17cb9562fd3f4d /include/sound/hdaudio.h | |
parent | d4b7b13e19258a848da920502e27526f36c5a59d (diff) | |
download | linux-a5e7e07c264bb76d0b7c782766989c491833de05.tar.gz linux-a5e7e07c264bb76d0b7c782766989c491833de05.tar.bz2 linux-a5e7e07c264bb76d0b7c782766989c491833de05.zip |
ALSA: hda - allow a codec to control the link power
A flag "link_power_control" is added to indicate whether a codec needs to
control the link power. And a new bus ops link_power() is defined for the
codec to request to enable/disable the link power.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/hdaudio.h')
-rw-r--r-- | include/sound/hdaudio.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h index 6a2e030c836c..b97c59eab7ab 100644 --- a/include/sound/hdaudio.h +++ b/include/sound/hdaudio.h @@ -74,6 +74,7 @@ struct hdac_device { /* misc flags */ atomic_t in_pm; /* suspend/resume being performed */ + bool link_power_control:1; /* sysfs */ struct hdac_widget_tree *widgets; @@ -184,6 +185,8 @@ struct hdac_bus_ops { /* get a response from the last command */ int (*get_response)(struct hdac_bus *bus, unsigned int addr, unsigned int *res); + /* control the link power */ + int (*link_power)(struct hdac_bus *bus, bool enable); }; /* @@ -311,6 +314,7 @@ static inline void snd_hdac_codec_link_down(struct hdac_device *codec) int snd_hdac_bus_send_cmd(struct hdac_bus *bus, unsigned int val); int snd_hdac_bus_get_response(struct hdac_bus *bus, unsigned int addr, unsigned int *res); +int snd_hdac_link_power(struct hdac_device *codec, bool enable); bool snd_hdac_bus_init_chip(struct hdac_bus *bus, bool full_reset); void snd_hdac_bus_stop_chip(struct hdac_bus *bus); |