[2.5.58][PnP] Some small points.

Ruslan U. Zakirov (cubic@wildrose.miee.ru)
Wed, 15 Jan 2003 18:16:11 +0300


Hello All.
1) __pnp_remove_device(dev) call twice. First time in
pnpc_remove_device(dev). I think it's wrong.

--- drivers/pnp/card.c~ 2003-01-15 13:52:08.000000000 +0300
+++ drivers/pnp/card.c 2003-01-15 13:52:16.000000000 +0300
@@ -144,7 +144,6 @@
list_for_each_safe(pos,temp,&card->devices){
struct pnp_dev *dev = card_to_pnp_dev(pos);
pnpc_remove_device(dev);
- __pnp_remove_device(dev);
}
}

_______________________________
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
}

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?
#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?
Best regards. Ruslan.

-
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/