120 |
#define AD1848_HW_AD1848 0x0002 /* AD1848 chip */ |
#define AD1848_HW_AD1848 0x0002 /* AD1848 chip */ |
121 |
#define AD1848_HW_CS4248 0x0003 /* CS4248 chip */ |
#define AD1848_HW_CS4248 0x0003 /* CS4248 chip */ |
122 |
#define AD1848_HW_CMI8330 0x0004 /* CMI8330 chip */ |
#define AD1848_HW_CMI8330 0x0004 /* CMI8330 chip */ |
123 |
|
#define AD1848_HW_THINKPAD 0x0005 /* Thinkpad 360/750/755 */ |
124 |
|
|
125 |
|
/* IBM Thinkpad specific stuff */ |
126 |
|
#define AD1848_THINKPAD_CTL_PORT1 0x15e8 |
127 |
|
#define AD1848_THINKPAD_CTL_PORT2 0x15e9 |
128 |
|
#define AD1848_THINKPAD_CS4248_ENABLE_BIT 0x02 |
129 |
|
|
130 |
struct _snd_ad1848 { |
struct _snd_ad1848 { |
131 |
unsigned long port; /* i/o port */ |
unsigned long port; /* i/o port */ |
146 |
int mce_bit; |
int mce_bit; |
147 |
int calibrate_mute; |
int calibrate_mute; |
148 |
int dma_size; |
int dma_size; |
149 |
|
int thinkpad_flag; /* Thinkpad CS4248 needs some extra help */ |
150 |
|
#ifdef CONFIG_PM |
151 |
|
struct pm_dev *thinkpad_pmstate; |
152 |
|
#endif |
153 |
|
|
154 |
spinlock_t reg_lock; |
spinlock_t reg_lock; |
155 |
struct semaphore open_mutex; |
struct semaphore open_mutex; |