* DBDMA space
*/
struct snd_pmac_dbdma {
- unsigned long addr;
+ dma_addr_t dma_base;
+ dma_addr_t addr;
struct dbdma_cmd __iomem *cmds;
void *space;
int size;
*/
enum snd_pmac_model {
- PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER, PMAC_SNAPPER
+ PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER,
+ PMAC_SNAPPER, PMAC_TOONIE
};
struct snd_pmac {
/* h/w info */
struct device_node *node;
+ struct pci_dev *pdev;
unsigned int revision;
unsigned int manufacturer;
unsigned int subframe;
unsigned int has_iic : 1;
unsigned int is_pbook_3400 : 1;
unsigned int is_pbook_G3 : 1;
+ unsigned int is_k2 : 1;
unsigned int can_byte_swap : 1;
unsigned int can_duplex : 1;
snd_kcontrol_t *speaker_sw_ctl;
snd_kcontrol_t *drc_sw_ctl; /* only used for tumbler -ReneR */
snd_kcontrol_t *hp_detect_ctl;
+ snd_kcontrol_t *lineout_sw_ctl;
/* lowlevel callbacks */
void (*set_format)(pmac_t *chip);
void (*update_automute)(pmac_t *chip, int do_notify);
int (*detect_headphone)(pmac_t *chip);
-#ifdef CONFIG_PMAC_PBOOK
+#ifdef CONFIG_PM
void (*suspend)(pmac_t *chip);
void (*resume)(pmac_t *chip);
#endif
int snd_pmac_daca_init(pmac_t *chip);
int snd_pmac_tumbler_init(pmac_t *chip);
int snd_pmac_tumbler_post_init(void);
+int snd_pmac_toonie_init(pmac_t *chip);
/* i2c functions */
typedef struct snd_pmac_keywest {
int snd_pmac_add_automute(pmac_t *chip);
-#define big_mdelay(msec) do {\
- set_current_state(TASK_UNINTERRUPTIBLE);\
- schedule_timeout(((msec) * HZ + 999) / 1000);\
-} while (0)
-
#endif /* __PMAC_H */