X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Foss%2Fali5455.c;h=a48be23dabfc17febf9e4664842f05c431ca4034;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=8976224f5ae1e9ebecd4042efd737f4032746f82;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/sound/oss/ali5455.c b/sound/oss/ali5455.c index 8976224f5..a48be23da 100644 --- a/sound/oss/ali5455.c +++ b/sound/oss/ali5455.c @@ -311,7 +311,6 @@ struct ali_card { u16 pci_id; #ifdef CONFIG_PM u16 pm_suspended; - u32 pm_save_state[64 / sizeof(u32)]; int pm_saved_mixer_settings[SOUND_MIXER_NRDEVICES][NR_AC97]; #endif /* soundcore stuff */ @@ -934,7 +933,7 @@ static int alloc_dmabuf(struct ali_state *state) dmabuf->rawbuf = rawbuf; dmabuf->buforder = order; - /* now mark the pages as reserved; otherwise remap_page_range doesn't do what we want */ + /* now mark the pages as reserved; otherwise remap_pfn_range doesn't do what we want */ pend = virt_to_page(rawbuf + (PAGE_SIZE << order) - 1); for (page = virt_to_page(rawbuf); page <= pend; page++) SetPageReserved(page); @@ -1955,7 +1954,9 @@ static int ali_mmap(struct file *file, struct vm_area_struct *vma) if (size > (PAGE_SIZE << dmabuf->buforder)) goto out; ret = -EAGAIN; - if (remap_page_range(vma, vma->vm_start, virt_to_phys(dmabuf->rawbuf), size, vma->vm_page_prot)) + if (remap_pfn_range(vma, vma->vm_start, + virt_to_phys(dmabuf->rawbuf) >> PAGE_SHIFT, + size, vma->vm_page_prot)) goto out; dmabuf->mapped = 1; dmabuf->trigger = 0; @@ -3576,7 +3577,7 @@ static int ali_pm_suspend(struct pci_dev *dev, u32 pm_state) } } } - pci_save_state(dev, card->pm_save_state); /* XXX do we need this? */ + pci_save_state(dev); /* XXX do we need this? */ pci_disable_device(dev); /* disable busmastering */ pci_set_power_state(dev, 3); /* Zzz. */ return 0; @@ -3588,7 +3589,7 @@ static int ali_pm_resume(struct pci_dev *dev) int num_ac97, i = 0; struct ali_card *card = pci_get_drvdata(dev); pci_enable_device(dev); - pci_restore_state(dev, card->pm_save_state); + pci_restore_state(dev); /* observation of a toshiba portege 3440ct suggests that the hardware has to be more or less completely reinitialized from scratch after an apm suspend. Works For Me. -dan */ @@ -3650,12 +3651,13 @@ static int ali_pm_resume(struct pci_dev *dev) MODULE_AUTHOR(""); MODULE_DESCRIPTION("ALI 5455 audio support"); MODULE_LICENSE("GPL"); -MODULE_PARM(clocking, "i"); -MODULE_PARM(strict_clocking, "i"); -MODULE_PARM(codec_pcmout_share_spdif_locked, "i"); -MODULE_PARM(codec_independent_spdif_locked, "i"); -MODULE_PARM(controller_pcmout_share_spdif_locked, "i"); -MODULE_PARM(controller_independent_spdif_locked, "i"); +module_param(clocking, int, 0); +/* FIXME: bool? */ +module_param(strict_clocking, uint, 0); +module_param(codec_pcmout_share_spdif_locked, uint, 0); +module_param(codec_independent_spdif_locked, uint, 0); +module_param(controller_pcmout_share_spdif_locked, uint, 0); +module_param(controller_independent_spdif_locked, uint, 0); #define ALI5455_MODULE_NAME "ali5455" static struct pci_driver ali_pci_driver = { .name = ALI5455_MODULE_NAME, @@ -3714,11 +3716,7 @@ static int __init ali_init_module(void) controller_pcmout_share_spdif_locked = 0; } } - if (!pci_register_driver(&ali_pci_driver)) { - pci_unregister_driver(&ali_pci_driver); - return -ENODEV; - } - return 0; + return pci_register_driver(&ali_pci_driver); } static void __exit ali_cleanup_module(void)