ice1712.h (6b8d6e5518e2812b150c2d7c1e975a1bd33f0ccc) ice1712.h (7cda8ba9f4e471dfba914ecf67fd14ebffb17c16)
1#ifndef __SOUND_ICE1712_H
2#define __SOUND_ICE1712_H
3
4/*
5 * ALSA driver for ICEnsemble ICE1712 (Envy24)
6 *
7 * Copyright (c) 2000 Jaroslav Kysela <perex@perex.cz>
8 *

--- 352 unchanged lines hidden (view full) ---

361 unsigned int (*get_data)(struct snd_ice1712 *ice);
362 /* misc operators - move to another place? */
363 void (*set_pro_rate)(struct snd_ice1712 *ice, unsigned int rate);
364 void (*i2s_mclk_changed)(struct snd_ice1712 *ice);
365 } gpio;
366 struct mutex gpio_mutex;
367
368 /* other board-specific data */
1#ifndef __SOUND_ICE1712_H
2#define __SOUND_ICE1712_H
3
4/*
5 * ALSA driver for ICEnsemble ICE1712 (Envy24)
6 *
7 * Copyright (c) 2000 Jaroslav Kysela <perex@perex.cz>
8 *

--- 352 unchanged lines hidden (view full) ---

361 unsigned int (*get_data)(struct snd_ice1712 *ice);
362 /* misc operators - move to another place? */
363 void (*set_pro_rate)(struct snd_ice1712 *ice, unsigned int rate);
364 void (*i2s_mclk_changed)(struct snd_ice1712 *ice);
365 } gpio;
366 struct mutex gpio_mutex;
367
368 /* other board-specific data */
369 union {
370 /* additional i2c devices for EWS boards */
371 struct snd_i2c_device *i2cdevs[3];
372 /* AC97 register cache for Aureon */
373 struct aureon_spec {
374 unsigned short stac9744[64];
375 unsigned int cs8415_mux;
376 unsigned short master[2];
377 unsigned short vol[8];
378 unsigned char pca9554_out;
379 } aureon;
380 /* AC97 register cache for Phase28 */
381 struct phase28_spec {
382 unsigned short master[2];
383 unsigned short vol[8];
384 } phase28;
385 /* a non-standard I2C device for revo51 */
386 struct revo51_spec {
387 struct snd_i2c_device *dev;
388 struct snd_pt2258 *pt2258;
389 } revo51;
390 /* Hoontech-specific setting */
391 struct hoontech_spec {
392 unsigned char boxbits[4];
393 unsigned int config;
394 unsigned short boxconfig[4];
395 } hoontech;
396 struct {
397 struct ak4114 *ak4114;
398 unsigned int analog: 1;
399 } juli;
400 struct {
401 struct ak4114 *ak4114;
402 /* rate change needs atomic mute/unmute of all dacs*/
403 struct mutex mute_mutex;
404 } prodigy192;
405 struct {
406 struct {
407 unsigned char ch1, ch2;
408 } vol[8];
409 } se;
410 struct prodigy_hifi_spec {
411 unsigned short master[2];
412 unsigned short vol[8];
413 } prodigy_hifi;
414 struct prodigy_hd2_spec {
415 unsigned short vol[2];
416 } prodigy_hd2;
417 } spec;
418
369 void *spec;
419};
420
421
422/*
423 * gpio access functions
424 */
425static inline void snd_ice1712_gpio_set_dir(struct snd_ice1712 *ice, unsigned int bits)
426{

--- 112 unchanged lines hidden ---
370};
371
372
373/*
374 * gpio access functions
375 */
376static inline void snd_ice1712_gpio_set_dir(struct snd_ice1712 *ice, unsigned int bits)
377{

--- 112 unchanged lines hidden ---