aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/cs4231.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound/cs4231.h')
-rw-r--r--include/sound/cs4231.h74
1 files changed, 36 insertions, 38 deletions
diff --git a/include/sound/cs4231.h b/include/sound/cs4231.h
index d956de947e70..ac6a5d882088 100644
--- a/include/sound/cs4231.h
+++ b/include/sound/cs4231.h
@@ -217,9 +217,7 @@
217#define CS4231_HWSHARE_DMA1 (1<<1) 217#define CS4231_HWSHARE_DMA1 (1<<1)
218#define CS4231_HWSHARE_DMA2 (1<<2) 218#define CS4231_HWSHARE_DMA2 (1<<2)
219 219
220typedef struct _snd_cs4231 cs4231_t; 220struct snd_cs4231 {
221
222struct _snd_cs4231 {
223 unsigned long port; /* base i/o port */ 221 unsigned long port; /* base i/o port */
224 struct resource *res_port; 222 struct resource *res_port;
225 unsigned long cport; /* control base i/o port (CS4236) */ 223 unsigned long cport; /* control base i/o port (CS4236) */
@@ -234,11 +232,11 @@ struct _snd_cs4231 {
234 unsigned short single_dma:1, /* forced single DMA mode (GUS 16-bit daughter board) or dma1 == dma2 */ 232 unsigned short single_dma:1, /* forced single DMA mode (GUS 16-bit daughter board) or dma1 == dma2 */
235 ebus_flag:1; /* SPARC: EBUS present */ 233 ebus_flag:1; /* SPARC: EBUS present */
236 234
237 snd_card_t *card; 235 struct snd_card *card;
238 snd_pcm_t *pcm; 236 struct snd_pcm *pcm;
239 snd_pcm_substream_t *playback_substream; 237 struct snd_pcm_substream *playback_substream;
240 snd_pcm_substream_t *capture_substream; 238 struct snd_pcm_substream *capture_substream;
241 snd_timer_t *timer; 239 struct snd_timer *timer;
242 240
243 unsigned char image[32]; /* registers image */ 241 unsigned char image[32]; /* registers image */
244 unsigned char eimage[32]; /* extended registers image */ 242 unsigned char eimage[32]; /* extended registers image */
@@ -253,52 +251,52 @@ struct _snd_cs4231 {
253 struct semaphore mce_mutex; 251 struct semaphore mce_mutex;
254 struct semaphore open_mutex; 252 struct semaphore open_mutex;
255 253
256 int (*rate_constraint) (snd_pcm_runtime_t *runtime); 254 int (*rate_constraint) (struct snd_pcm_runtime *runtime);
257 void (*set_playback_format) (cs4231_t *chip, snd_pcm_hw_params_t *hw_params, unsigned char pdfr); 255 void (*set_playback_format) (struct snd_cs4231 *chip, struct snd_pcm_hw_params *hw_params, unsigned char pdfr);
258 void (*set_capture_format) (cs4231_t *chip, snd_pcm_hw_params_t *hw_params, unsigned char cdfr); 256 void (*set_capture_format) (struct snd_cs4231 *chip, struct snd_pcm_hw_params *hw_params, unsigned char cdfr);
259 void (*trigger) (cs4231_t *chip, unsigned int what, int start); 257 void (*trigger) (struct snd_cs4231 *chip, unsigned int what, int start);
260#ifdef CONFIG_PM 258#ifdef CONFIG_PM
261 void (*suspend) (cs4231_t *chip); 259 void (*suspend) (struct snd_cs4231 *chip);
262 void (*resume) (cs4231_t *chip); 260 void (*resume) (struct snd_cs4231 *chip);
263#endif 261#endif
264 void *dma_private_data; 262 void *dma_private_data;
265 int (*claim_dma) (cs4231_t *chip, void *dma_private_data, int dma); 263 int (*claim_dma) (struct snd_cs4231 *chip, void *dma_private_data, int dma);
266 int (*release_dma) (cs4231_t *chip, void *dma_private_data, int dma); 264 int (*release_dma) (struct snd_cs4231 *chip, void *dma_private_data, int dma);
267}; 265};
268 266
269/* exported functions */ 267/* exported functions */
270 268
271void snd_cs4231_out(cs4231_t *chip, unsigned char reg, unsigned char val); 269void snd_cs4231_out(struct snd_cs4231 *chip, unsigned char reg, unsigned char val);
272unsigned char snd_cs4231_in(cs4231_t *chip, unsigned char reg); 270unsigned char snd_cs4231_in(struct snd_cs4231 *chip, unsigned char reg);
273void snd_cs4236_ext_out(cs4231_t *chip, unsigned char reg, unsigned char val); 271void snd_cs4236_ext_out(struct snd_cs4231 *chip, unsigned char reg, unsigned char val);
274unsigned char snd_cs4236_ext_in(cs4231_t *chip, unsigned char reg); 272unsigned char snd_cs4236_ext_in(struct snd_cs4231 *chip, unsigned char reg);
275void snd_cs4231_mce_up(cs4231_t *chip); 273void snd_cs4231_mce_up(struct snd_cs4231 *chip);
276void snd_cs4231_mce_down(cs4231_t *chip); 274void snd_cs4231_mce_down(struct snd_cs4231 *chip);
277 275
278irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id, struct pt_regs *regs); 276irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id, struct pt_regs *regs);
279 277
280const char *snd_cs4231_chip_id(cs4231_t *chip); 278const char *snd_cs4231_chip_id(struct snd_cs4231 *chip);
281 279
282int snd_cs4231_create(snd_card_t * card, 280int snd_cs4231_create(struct snd_card *card,
283 unsigned long port, 281 unsigned long port,
284 unsigned long cport, 282 unsigned long cport,
285 int irq, int dma1, int dma2, 283 int irq, int dma1, int dma2,
286 unsigned short hardware, 284 unsigned short hardware,
287 unsigned short hwshare, 285 unsigned short hwshare,
288 cs4231_t ** rchip); 286 struct snd_cs4231 ** rchip);
289int snd_cs4231_pcm(cs4231_t * chip, int device, snd_pcm_t **rpcm); 287int snd_cs4231_pcm(struct snd_cs4231 * chip, int device, struct snd_pcm **rpcm);
290int snd_cs4231_timer(cs4231_t * chip, int device, snd_timer_t **rtimer); 288int snd_cs4231_timer(struct snd_cs4231 * chip, int device, struct snd_timer **rtimer);
291int snd_cs4231_mixer(cs4231_t * chip); 289int snd_cs4231_mixer(struct snd_cs4231 * chip);
292 290
293int snd_cs4236_create(snd_card_t * card, 291int snd_cs4236_create(struct snd_card *card,
294 unsigned long port, 292 unsigned long port,
295 unsigned long cport, 293 unsigned long cport,
296 int irq, int dma1, int dma2, 294 int irq, int dma1, int dma2,
297 unsigned short hardware, 295 unsigned short hardware,
298 unsigned short hwshare, 296 unsigned short hwshare,
299 cs4231_t ** rchip); 297 struct snd_cs4231 ** rchip);
300int snd_cs4236_pcm(cs4231_t * chip, int device, snd_pcm_t **rpcm); 298int snd_cs4236_pcm(struct snd_cs4231 * chip, int device, struct snd_pcm **rpcm);
301int snd_cs4236_mixer(cs4231_t * chip); 299int snd_cs4236_mixer(struct snd_cs4231 * chip);
302 300
303/* 301/*
304 * mixer library 302 * mixer library
@@ -310,9 +308,9 @@ int snd_cs4236_mixer(cs4231_t * chip);
310 .get = snd_cs4231_get_single, .put = snd_cs4231_put_single, \ 308 .get = snd_cs4231_get_single, .put = snd_cs4231_put_single, \
311 .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) } 309 .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
312 310
313int snd_cs4231_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo); 311int snd_cs4231_info_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo);
314int snd_cs4231_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); 312int snd_cs4231_get_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
315int snd_cs4231_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); 313int snd_cs4231_put_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
316 314
317#define CS4231_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \ 315#define CS4231_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
318{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ 316{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
@@ -320,8 +318,8 @@ int snd_cs4231_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucon
320 .get = snd_cs4231_get_double, .put = snd_cs4231_put_double, \ 318 .get = snd_cs4231_get_double, .put = snd_cs4231_put_double, \
321 .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) } 319 .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
322 320
323int snd_cs4231_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo); 321int snd_cs4231_info_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo);
324int snd_cs4231_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); 322int snd_cs4231_get_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
325int snd_cs4231_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); 323int snd_cs4231_put_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
326 324
327#endif /* __SOUND_CS4231_H */ 325#endif /* __SOUND_CS4231_H */