Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 17 Jan 2003 11:18:38 +0000 | From | Adam Belay <> | Subject | Re: [2.5.58][PnP] Some small points. |
| |
Hi Ruslan,
Thanks for pointing these out. I appreciate your help.
On Wed, Jan 15, 2003 at 06:16:11PM +0300, Ruslan U. Zakirov wrote: > Hello All. > 1) __pnp_remove_device(dev) call twice. First time in > pnpc_remove_device(dev). I think it's wrong. >
Agreed, I'll apply your patch here.
> _______________________________ > 2) We've forgot to unreg driver on module unload in opl3sa2 driver. > --- sound/isa/opl3sa2.c~ 2003-01-15 17:45:25.000000000 +0300 > +++ sound/isa/opl3sa2.c 2003-01-15 17:47:00.000000000 +0300 > @@ -881,6 +881,9 @@ > > for (idx = 0; idx < SNDRV_CARDS; idx++) > snd_card_free(snd_opl3sa2_cards[idx]); > +#ifdef CONFIG_PNP > + pnpc_unregister_driver(&opl3sa2_pnpc_driver); > +#endif > } >
Yep, it should unregister it there.
> module_init(alsa_card_opl3sa2_init) > _________________________________ > 3) Queston: Why we do free in this way? > static int snd_opl3sa2_free(opl3sa2_t *chip) > { > #ifdef CONFIG_PNP > chip->dev = NULL; -> Here. Why NULL? Who realy free resources and how?
The structure that chip->dev points to is freed by the pnp layer on the release call. Is this what you were asking or are you talking about something else?
> #endif > #ifdef CONFIG_PM > if (chip->pm_dev) > pm_unregister(chip->pm_dev); > #endif > if (chip->irq >= 0) > free_irq(chip->irq, (void *)chip); > if (chip->res_port) { > release_resource(chip->res_port); > kfree_nocheck(chip->res_port); > } > snd_magic_kfree(chip); > return 0; > }
> _______________________________________ > 4) Have we got ALSA driver that work absolutly and use PnP layer in > right ways?
I believe Jaroslav is working on that now. Jaroslav, if you would like me to convert ALSA drivers please let me know.
Regards, Adam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |