diff options
Diffstat (limited to 'sound/pci/oxygen/oxygen.h')
-rw-r--r-- | sound/pci/oxygen/oxygen.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen.h b/sound/pci/oxygen/oxygen.h index a71c6e059260..74a644880074 100644 --- a/sound/pci/oxygen/oxygen.h +++ b/sound/pci/oxygen/oxygen.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #define PCM_AC97 5 | 16 | #define PCM_AC97 5 |
17 | #define PCM_COUNT 6 | 17 | #define PCM_COUNT 6 |
18 | 18 | ||
19 | #define OXYGEN_IO_SIZE 0x100 | ||
20 | |||
19 | /* model-specific configuration of outputs/inputs */ | 21 | /* model-specific configuration of outputs/inputs */ |
20 | #define PLAYBACK_0_TO_I2S 0x001 | 22 | #define PLAYBACK_0_TO_I2S 0x001 |
21 | #define PLAYBACK_1_TO_SPDIF 0x004 | 23 | #define PLAYBACK_1_TO_SPDIF 0x004 |
@@ -78,6 +80,12 @@ struct oxygen { | |||
78 | struct work_struct spdif_input_bits_work; | 80 | struct work_struct spdif_input_bits_work; |
79 | struct work_struct gpio_work; | 81 | struct work_struct gpio_work; |
80 | wait_queue_head_t ac97_waitqueue; | 82 | wait_queue_head_t ac97_waitqueue; |
83 | union { | ||
84 | u8 _8[OXYGEN_IO_SIZE]; | ||
85 | __le16 _16[OXYGEN_IO_SIZE / 2]; | ||
86 | __le32 _32[OXYGEN_IO_SIZE / 4]; | ||
87 | } saved_registers; | ||
88 | u16 saved_ac97_registers[2][0x40]; | ||
81 | }; | 89 | }; |
82 | 90 | ||
83 | struct oxygen_model { | 91 | struct oxygen_model { |
@@ -89,6 +97,8 @@ struct oxygen_model { | |||
89 | int (*control_filter)(struct snd_kcontrol_new *template); | 97 | int (*control_filter)(struct snd_kcontrol_new *template); |
90 | int (*mixer_init)(struct oxygen *chip); | 98 | int (*mixer_init)(struct oxygen *chip); |
91 | void (*cleanup)(struct oxygen *chip); | 99 | void (*cleanup)(struct oxygen *chip); |
100 | void (*suspend)(struct oxygen *chip); | ||
101 | void (*resume)(struct oxygen *chip); | ||
92 | void (*pcm_hardware_filter)(unsigned int channel, | 102 | void (*pcm_hardware_filter)(unsigned int channel, |
93 | struct snd_pcm_hardware *hardware); | 103 | struct snd_pcm_hardware *hardware); |
94 | void (*set_dac_params)(struct oxygen *chip, | 104 | void (*set_dac_params)(struct oxygen *chip, |
@@ -117,6 +127,10 @@ struct oxygen_model { | |||
117 | int oxygen_pci_probe(struct pci_dev *pci, int index, char *id, | 127 | int oxygen_pci_probe(struct pci_dev *pci, int index, char *id, |
118 | const struct oxygen_model *model); | 128 | const struct oxygen_model *model); |
119 | void oxygen_pci_remove(struct pci_dev *pci); | 129 | void oxygen_pci_remove(struct pci_dev *pci); |
130 | #ifdef CONFIG_PM | ||
131 | int oxygen_pci_suspend(struct pci_dev *pci, pm_message_t state); | ||
132 | int oxygen_pci_resume(struct pci_dev *pci); | ||
133 | #endif | ||
120 | 134 | ||
121 | /* oxygen_mixer.c */ | 135 | /* oxygen_mixer.c */ |
122 | 136 | ||