diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2008-09-22 03:04:43 -0400 |
---|---|---|
committer | Clemens Ladisch <clemens@ladisch.de> | 2008-09-22 03:04:43 -0400 |
commit | 397b1dcc449082ce3f720c548da9c59db01cb739 (patch) | |
tree | a5295eabb214f913cd931c50b079c81b8086e577 /sound/pci/oxygen/oxygen.h | |
parent | dbbbd6744439d95d2b0dc23c5cdca2c477377f76 (diff) |
ALSA: oxygen: add UART I/O functions
Add functions to allow model drivers to communicate with external chips
by doing I/O with the not-used-for-MIDI UART.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound/pci/oxygen/oxygen.h')
-rw-r--r-- | sound/pci/oxygen/oxygen.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen.h b/sound/pci/oxygen/oxygen.h index f82a96290f72..19107c6307e5 100644 --- a/sound/pci/oxygen/oxygen.h +++ b/sound/pci/oxygen/oxygen.h | |||
@@ -79,6 +79,7 @@ struct oxygen_model { | |||
79 | void (*update_dac_volume)(struct oxygen *chip); | 79 | void (*update_dac_volume)(struct oxygen *chip); |
80 | void (*update_dac_mute)(struct oxygen *chip); | 80 | void (*update_dac_mute)(struct oxygen *chip); |
81 | void (*gpio_changed)(struct oxygen *chip); | 81 | void (*gpio_changed)(struct oxygen *chip); |
82 | void (*uart_input)(struct oxygen *chip); | ||
82 | void (*ac97_switch)(struct oxygen *chip, | 83 | void (*ac97_switch)(struct oxygen *chip, |
83 | unsigned int reg, unsigned int mute); | 84 | unsigned int reg, unsigned int mute); |
84 | const unsigned int *dac_tlv; | 85 | const unsigned int *dac_tlv; |
@@ -125,6 +126,8 @@ struct oxygen { | |||
125 | __le32 _32[OXYGEN_IO_SIZE / 4]; | 126 | __le32 _32[OXYGEN_IO_SIZE / 4]; |
126 | } saved_registers; | 127 | } saved_registers; |
127 | u16 saved_ac97_registers[2][0x40]; | 128 | u16 saved_ac97_registers[2][0x40]; |
129 | unsigned int uart_input_count; | ||
130 | u8 uart_input[32]; | ||
128 | struct oxygen_model model; | 131 | struct oxygen_model model; |
129 | }; | 132 | }; |
130 | 133 | ||
@@ -174,6 +177,9 @@ void oxygen_write_ac97_masked(struct oxygen *chip, unsigned int codec, | |||
174 | void oxygen_write_spi(struct oxygen *chip, u8 control, unsigned int data); | 177 | void oxygen_write_spi(struct oxygen *chip, u8 control, unsigned int data); |
175 | void oxygen_write_i2c(struct oxygen *chip, u8 device, u8 map, u8 data); | 178 | void oxygen_write_i2c(struct oxygen *chip, u8 device, u8 map, u8 data); |
176 | 179 | ||
180 | void oxygen_reset_uart(struct oxygen *chip); | ||
181 | void oxygen_write_uart(struct oxygen *chip, u8 data); | ||
182 | |||
177 | static inline void oxygen_set_bits8(struct oxygen *chip, | 183 | static inline void oxygen_set_bits8(struct oxygen *chip, |
178 | unsigned int reg, u8 value) | 184 | unsigned int reg, u8 value) |
179 | { | 185 | { |