Smack: update for file capabilities
[linux-2.6.git] / sound / pci / es1968.c
index dc84c18..25ccfce 100644 (file)
@@ -94,7 +94,6 @@
  *     places.
  */
 
-#include <sound/driver.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/interrupt.h>
@@ -843,10 +842,9 @@ static void snd_es1968_bob_dec(struct es1968 *chip)
                snd_es1968_bob_stop(chip);
        else if (chip->bob_freq > ESM_BOB_FREQ) {
                /* check reduction of timer frequency */
-               struct list_head *p;
                int max_freq = ESM_BOB_FREQ;
-               list_for_each(p, &chip->substream_list) {
-                       struct esschan *es = list_entry(p, struct esschan, list);
+               struct esschan *es;
+               list_for_each_entry(es, &chip->substream_list, list) {
                        if (max_freq < es->bob_freq)
                                max_freq = es->bob_freq;
                }
@@ -1316,12 +1314,11 @@ static struct snd_pcm_hardware snd_es1968_capture = {
 
 static int calc_available_memory_size(struct es1968 *chip)
 {
-       struct list_head *p;
        int max_size = 0;
-       
+       struct esm_memory *buf;
+
        mutex_lock(&chip->memory_mutex);
-       list_for_each(p, &chip->buf_list) {
-               struct esm_memory *buf = list_entry(p, struct esm_memory, list);
+       list_for_each_entry(buf, &chip->buf_list, list) {
                if (buf->empty && buf->buf.bytes > max_size)
                        max_size = buf->buf.bytes;
        }
@@ -1335,12 +1332,10 @@ static int calc_available_memory_size(struct es1968 *chip)
 static struct esm_memory *snd_es1968_new_memory(struct es1968 *chip, int size)
 {
        struct esm_memory *buf;
-       struct list_head *p;
-       
+
        size = ALIGN(size, ESM_MEM_ALIGN);
        mutex_lock(&chip->memory_mutex);
-       list_for_each(p, &chip->buf_list) {
-               buf = list_entry(p, struct esm_memory, list);
+       list_for_each_entry(buf, &chip->buf_list, list) {
                if (buf->empty && buf->buf.bytes >= size)
                        goto __found;
        }
@@ -1554,10 +1549,7 @@ static int snd_es1968_playback_open(struct snd_pcm_substream *substream)
        runtime->hw = snd_es1968_playback;
        runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max =
                calc_available_memory_size(chip);
-#if 0
-       snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
-                                  1024);
-#endif
+
        spin_lock_irq(&chip->substream_lock);
        list_add(&es->list, &chip->substream_list);
        spin_unlock_irq(&chip->substream_lock);
@@ -1613,10 +1605,8 @@ static int snd_es1968_capture_open(struct snd_pcm_substream *substream)
        runtime->hw = snd_es1968_capture;
        runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max =
                calc_available_memory_size(chip) - 1024; /* keep MIXBUF size */
-#if 0
-       snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
-                                  1024);
-#endif
+       snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES);
+
        spin_lock_irq(&chip->substream_lock);
        list_add(&es->list, &chip->substream_list);
        spin_unlock_irq(&chip->substream_lock);
@@ -1943,10 +1933,9 @@ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id)
        }
 
        if (event & ESM_SOUND_IRQ) {
-               struct list_head *p;
+               struct esschan *es;
                spin_lock(&chip->substream_lock);
-               list_for_each(p, &chip->substream_list) {
-                       struct esschan *es = list_entry(p, struct esschan, list);
+               list_for_each_entry(es, &chip->substream_list, list) {
                        if (es->running)
                                snd_es1968_update_pcm(chip, es);
                }
@@ -2350,7 +2339,7 @@ static int es1968_resume(struct pci_dev *pci)
 {
        struct snd_card *card = pci_get_drvdata(pci);
        struct es1968 *chip = card->private_data;
-       struct list_head *p;
+       struct esschan *es;
 
        if (! chip->do_pm)
                return 0;
@@ -2379,8 +2368,7 @@ static int es1968_resume(struct pci_dev *pci)
        /* restore ac97 state */
        snd_ac97_resume(chip->ac97);
 
-       list_for_each(p, &chip->substream_list) {
-               struct esschan *es = list_entry(p, struct esschan, list);
+       list_for_each_entry(es, &chip->substream_list, list) {
                switch (es->mode) {
                case ESM_MODE_PLAY:
                        snd_es1968_playback_setup(chip, es, es->substream->runtime);