At Wed, 08 Jun 2005 17:06:39 +0800,
Raymond wrote:
>
> au8830 can be loaded after I change "unsigned long __iomem *mmio" to
> "void __iomem *mmio" on my 32 bits machine.
>
> How can I obtain the disassembly of snd-au8830.o to prove that it run
> faster than before ( without bitshift ) ?
Faster? Not measurable at all :)
> Is there any reason to make this change ?
>
> alsa-kernel/pci/au88x0/au88x0.c
> @@ -144,15 +144,18 @@
> // check PCI availability (DMA).
> if ((err = pci_enable_device(pci)) < 0)
> return err;
> - if (!pci_dma_supported(pci, VORTEX_DMA_MASK)) {
> + if (pci_set_dma_mask(pci, VORTEX_DMA_MASK) < 0 ||
> + pci_set_consistent_dma_mask(pci, VORTEX_DMA_MASK) < 0) {
> printk(KERN_ERR "error to set DMA mask\n");
> + pci_disable_device(pci);
> return -ENXIO;
> }
> - pci_set_dma_mask(pci, VORTEX_DMA_MASK);
This is clean up.
> chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
> - if (chip == NULL)
> + if (chip == NULL) {
> + pci_disable_device(pci);
> return -ENOMEM;
> + }
This fixes the PCI state in the error path.
>
> chip->card = card;
>
> @@ -202,6 +205,8 @@
> goto alloc_out;
> }
>
> + snd_card_set_dev(card, &pci->dev);
> +
> *rchip = chip;
And this sets up the missing sysfs stuff.
Takashi
_______________________________________________
Openvortex-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/openvortex-dev