Update of /cvsroot/alsa/alsa-kernel/ppc
In directory sc8-pr-cvs1:/tmp/cvs-serv3971

Modified Files:
        awacs.c pmac.c pmac.h tumbler.c 
Log Message:
clean up PM codes

Index: awacs.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/ppc/awacs.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- awacs.c     31 May 2003 11:44:56 -0000      1.21
+++ awacs.c     18 Jun 2003 11:09:58 -0000      1.22
@@ -92,18 +92,9 @@
        snd_pmac_awacs_write(chip, val | (reg << 12));
 }
 
-static void do_mdelay(int msec, int can_schedule)
-{
-       if (can_schedule) {
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout((msec * HZ + 999) / 1000);
-       } else
-               mdelay(msec);
-}
-
 #ifdef CONFIG_PMAC_PBOOK
 /* Recalibrate chip */
-static void screamer_recalibrate(pmac_t *chip, int can_schedule)
+static void screamer_recalibrate(pmac_t *chip)
 {
        if (chip->model != PMAC_SCREAMER)
                return;
@@ -114,7 +105,7 @@
        snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
        if (chip->manufacturer == 0x1)
                /* delay for broken crystal part */
-               do_mdelay(750, can_schedule);
+               big_mdelay(750);
        snd_pmac_awacs_write_noreg(chip, 1,
                                   chip->awacs_reg[1] | MASK_RECALIBRATE | MASK_CMUTE 
| MASK_AMUTE);
        snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
@@ -122,7 +113,7 @@
 }
 
 #else
-#define screamer_recalibrate(chip, can_schedule) /* NOP */
+#define screamer_recalibrate(chip) /* NOP */
 #endif
 
 
@@ -631,7 +622,7 @@
 /*
  * restore all registers
  */
-static void awacs_restore_all_regs(pmac_t *chip, int can_schedule)
+static void awacs_restore_all_regs(pmac_t *chip)
 {
        snd_pmac_awacs_write_noreg(chip, 0, chip->awacs_reg[0]);
        snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
@@ -655,19 +646,19 @@
 {
        if (machine_is_compatible("PowerBook3,1")
            || machine_is_compatible("PowerBook3,2")) {
-               do_mdelay(100, 0);
+               big_mdelay(100);
                snd_pmac_awacs_write_reg(chip, 1,
                        chip->awacs_reg[1] & ~MASK_PAROUT);
-               do_mdelay(300, 0);
+               big_mdelay(300);
        }
 
-       awacs_restore_all_regs(chip, 0);
+       awacs_restore_all_regs(chip);
        if (chip->model == PMAC_SCREAMER) {
                /* reset power bits in reg 6 */
                mdelay(5);
                snd_pmac_awacs_write_noreg(chip, 6, chip->awacs_reg[6]);
        }
-       screamer_recalibrate(chip, 0);
+       screamer_recalibrate(chip);
 #ifdef PMAC_AMP_AVAIL
        if (chip->mixer_data) {
                awacs_amp_t *amp = chip->mixer_data;
@@ -775,9 +766,9 @@
                chip->awacs_reg[7] = 0;
        }
 
-       awacs_restore_all_regs(chip, 1);
+       awacs_restore_all_regs(chip);
        chip->manufacturer = (in_le32(&chip->awacs->codec_stat) >> 8) & 0xf;
-       screamer_recalibrate(chip, 1);
+       screamer_recalibrate(chip);
 
        chip->revision = (in_le32(&chip->awacs->codec_stat) >> 12) & 0xf;
 #ifdef PMAC_AMP_AVAIL

Index: pmac.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/ppc/pmac.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- pmac.c      5 Jun 2003 11:10:52 -0000       1.22
+++ pmac.c      18 Jun 2003 11:09:58 -0000      1.23
@@ -736,7 +736,7 @@
                pmu_suspend();
                feature_clear(chip->node, FEATURE_Sound_power);
                feature_clear(chip->node, FEATURE_Sound_CLK_enable);
-               mdelay(1000); /* XXX */
+               big_mdelay(1000); /* XXX */
                pmu_resume();
        }
        if (chip->is_pbook_3400) {

Index: pmac.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/ppc/pmac.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- pmac.h      31 May 2003 11:56:38 -0000      1.11
+++ pmac.h      18 Jun 2003 11:09:58 -0000      1.12
@@ -201,6 +201,11 @@
 
 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)
+
 #ifndef PMAC_SUPPORT_PCM_BEEP
 #define snd_pmac_attach_beep(chip) 0
 #define snd_pmac_beep_stop(chip)  /**/

Index: tumbler.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/ppc/tumbler.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- tumbler.c   5 Jun 2003 11:10:53 -0000       1.21
+++ tumbler.c   18 Jun 2003 11:09:58 -0000      1.22
@@ -27,7 +27,6 @@
 #include <linux/kmod.h>
 #include <linux/slab.h>
 #include <linux/interrupt.h>
-#include <linux/workqueue.h>
 #include <sound/core.h>
 #include <asm/io.h>
 #include <asm/irq.h>
@@ -93,9 +92,6 @@
        unsigned int mix_vol[VOL_IDX_LAST_MIX][2]; /* stereo volumes for tas3004 */
        int drc_range;
        int drc_enable;
-#ifdef CONFIG_PMAC_PBOOK
-       struct work_struct resume_workq;
-#endif
 } pmac_tumbler_t;
 
 
@@ -870,23 +866,21 @@
        pmac_tumbler_t *mix = chip->mixer_data;
 
        write_audio_gpio(&mix->audio_reset, 0);
-       mdelay(200);
+       big_mdelay(200);
        write_audio_gpio(&mix->audio_reset, 1);
-       mdelay(100);
+       big_mdelay(100);
        write_audio_gpio(&mix->audio_reset, 0);
-       mdelay(100);
+       big_mdelay(100);
 }
 
 #ifdef CONFIG_PMAC_PBOOK
 /* resume mixer */
-/* we call the i2c transfer in a workqueue because it may need either schedule()
- * or completion from timer interrupts.
- */
-static void tumbler_resume_work(void *arg)
+static void tumbler_resume(pmac_t *chip)
 {
-       pmac_t *chip = (pmac_t *)arg;
        pmac_tumbler_t *mix = chip->mixer_data;
 
+       snd_assert(mix, return);
+
        tumbler_reset_audio(chip);
        if (mix->i2c.client) {
                if (tumbler_init_client(&mix->i2c) < 0)
@@ -909,16 +903,6 @@
        tumbler_set_master_volume(mix);
        if (chip->update_automute)
                chip->update_automute(chip, 0);
-}
-
-static void tumbler_resume(pmac_t *chip)
-{
-       pmac_tumbler_t *mix = chip->mixer_data;
-       snd_assert(mix, return);
-       INIT_WORK(&mix->resume_workq, tumbler_resume_work, chip);
-       if (schedule_work(&mix->resume_workq))
-               return;
-       printk(KERN_ERR "ALSA tumbler: cannot schedule resume-workqueue.\n");
 }
 #endif
 



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to