net: Avoid extra wakeups of threads blocked in wait_for_packet()
[safe/jmp/linux-2.6] / include / sound / ak4114.h
index 11702aa..d293d36 100644 (file)
@@ -3,7 +3,7 @@
 
 /*
  *  Routines for Asahi Kasei AK4114
- *  Copyright (c) by Jaroslav Kysela <perex@suse.cz>,
+ *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>,
  *
  *
  *   This program is free software; you can redistribute it and/or modify
@@ -73,7 +73,7 @@
 
 /* AK4114_REQ_FORMAT bits */
 #define AK4114_MONO            (1<<7)  /* Double Sampling Frequency Mode: 0 = stereo, 1 = mono */
-#define AK4114_DIF2            (1<<5)  /* Audio Data Control */
+#define AK4114_DIF2            (1<<6)  /* Audio Data Control */
 #define AK4114_DIF1            (1<<5)  /* Audio Data Control */
 #define AK4114_DIF0            (1<<4)  /* Audio Data Control */
 #define AK4114_DIF_16R         (0)                             /* STDO: 16-bit, right justified */
 #define AK4114_CHECK_NO_STAT   (1<<0)  /* no statistics */
 #define AK4114_CHECK_NO_RATE   (1<<1)  /* no rate check */
 
-#define AK4114_CONTROLS                14
+#define AK4114_CONTROLS                15
 
 typedef void (ak4114_write_t)(void *private_data, unsigned char addr, unsigned char data);
 typedef unsigned char (ak4114_read_t)(void *private_data, unsigned char addr);
@@ -181,15 +181,15 @@ struct ak4114 {
        unsigned long ccrc_errors;
        unsigned char rcs0;
        unsigned char rcs1;
-       struct workqueue_struct *workqueue;
-       struct work_struct work;
+       struct delayed_work work;
+       unsigned int check_flags;
        void *change_callback_private;
        void (*change_callback)(struct ak4114 *ak4114, unsigned char c0, unsigned char c1);
 };
 
 int snd_ak4114_create(struct snd_card *card,
                      ak4114_read_t *read, ak4114_write_t *write,
-                     unsigned char pgm[7], unsigned char txcsb[5],
+                     const unsigned char pgm[7], const unsigned char txcsb[5],
                      void *private_data, struct ak4114 **r_ak4114);
 void snd_ak4114_reg_write(struct ak4114 *ak4114, unsigned char reg, unsigned char mask, unsigned char val);
 void snd_ak4114_reinit(struct ak4114 *ak4114);