[ALSA] Remove vmalloc wrapper, kfree_nocheck()
- Remove vmalloc wrapper - Add release_and_free_resource() to remove kfree_nocheck() from each driver and simplify the code Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:

committed by
Jaroslav Kysela

parent
93f2e37840
commit
b1d5776d86
@@ -542,10 +542,7 @@ static int snd_ad1816a_probe(ad1816a_t *chip)
|
||||
|
||||
static int snd_ad1816a_free(ad1816a_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *) chip);
|
||||
if (chip->dma1 >= 0) {
|
||||
|
@@ -846,10 +846,7 @@ static int snd_ad1848_capture_close(snd_pcm_substream_t * substream)
|
||||
|
||||
static int snd_ad1848_free(ad1848_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *) chip);
|
||||
if (chip->dma >= 0) {
|
||||
|
@@ -1417,14 +1417,8 @@ static int snd_cs4231_pm_resume(snd_card_t *card)
|
||||
|
||||
static int snd_cs4231_free(cs4231_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
if (chip->res_cport) {
|
||||
release_resource(chip->res_cport);
|
||||
kfree_nocheck(chip->res_cport);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
release_and_free_resource(chip->res_cport);
|
||||
if (chip->irq >= 0) {
|
||||
disable_irq(chip->irq);
|
||||
if (!(chip->hwshare & CS4231_HWSHARE_IRQ))
|
||||
|
@@ -379,12 +379,8 @@ static void snd_card_cs4236_free(snd_card_t *card)
|
||||
{
|
||||
struct snd_card_cs4236 *acard = (struct snd_card_cs4236 *)card->private_data;
|
||||
|
||||
if (acard) {
|
||||
if (acard->res_sb_port) {
|
||||
release_resource(acard->res_sb_port);
|
||||
kfree_nocheck(acard->res_sb_port);
|
||||
}
|
||||
}
|
||||
if (acard)
|
||||
release_and_free_resource(acard->res_sb_port);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PNP
|
||||
|
@@ -606,8 +606,7 @@ static int snd_es1688_free(es1688_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
snd_es1688_init(chip, 0);
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
release_and_free_resource(chip->res_port);
|
||||
}
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *) chip);
|
||||
|
@@ -1640,18 +1640,9 @@ static int snd_es18xx_resume(snd_card_t *card)
|
||||
|
||||
static int snd_es18xx_free(es18xx_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
if (chip->res_ctrl_port) {
|
||||
release_resource(chip->res_ctrl_port);
|
||||
kfree_nocheck(chip->res_ctrl_port);
|
||||
}
|
||||
if (chip->res_mpu_port) {
|
||||
release_resource(chip->res_mpu_port);
|
||||
kfree_nocheck(chip->res_mpu_port);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
release_and_free_resource(chip->res_ctrl_port);
|
||||
release_and_free_resource(chip->res_mpu_port);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *) chip);
|
||||
if (chip->dma1 >= 0) {
|
||||
|
@@ -113,14 +113,8 @@ static int snd_gus_free(snd_gus_card_t *gus)
|
||||
snd_gf1_stop(gus);
|
||||
snd_gus_init_dma_irq(gus, 0);
|
||||
__hw_end:
|
||||
if (gus->gf1.res_port1) {
|
||||
release_resource(gus->gf1.res_port1);
|
||||
kfree_nocheck(gus->gf1.res_port1);
|
||||
}
|
||||
if (gus->gf1.res_port2) {
|
||||
release_resource(gus->gf1.res_port2);
|
||||
kfree_nocheck(gus->gf1.res_port2);
|
||||
}
|
||||
release_and_free_resource(gus->gf1.res_port1);
|
||||
release_and_free_resource(gus->gf1.res_port2);
|
||||
if (gus->gf1.irq >= 0)
|
||||
free_irq(gus->gf1.irq, (void *) gus);
|
||||
if (gus->gf1.dma1 >= 0) {
|
||||
|
@@ -638,10 +638,7 @@ static void snd_interwave_free(snd_card_t *card)
|
||||
if (iwcard == NULL)
|
||||
return;
|
||||
#ifdef SNDRV_STB
|
||||
if (iwcard->i2c_res) {
|
||||
release_resource(iwcard->i2c_res);
|
||||
kfree_nocheck(iwcard->i2c_res);
|
||||
}
|
||||
release_and_free_resource(iwcard->i2c_res);
|
||||
#endif
|
||||
if (iwcard->irq >= 0)
|
||||
free_irq(iwcard->irq, (void *)iwcard);
|
||||
|
@@ -656,10 +656,7 @@ static int snd_opl3sa2_free(opl3sa2_t *chip)
|
||||
{
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *)chip);
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
kfree(chip);
|
||||
return 0;
|
||||
}
|
||||
|
@@ -299,10 +299,8 @@ static char * snd_opti9xx_names[] = {
|
||||
static long snd_legacy_find_free_ioport(long *port_table, long size)
|
||||
{
|
||||
while (*port_table != -1) {
|
||||
struct resource *res;
|
||||
if ((res = request_region(*port_table, size, "ALSA test")) != NULL) {
|
||||
release_resource(res);
|
||||
kfree_nocheck(res);
|
||||
if (request_region(*port_table, size, "ALSA test")) {
|
||||
release_region(*port_table, size);
|
||||
return *port_table;
|
||||
}
|
||||
port_table++;
|
||||
@@ -1227,10 +1225,7 @@ static int snd_opti93x_probe(opti93x_t *chip)
|
||||
|
||||
static int snd_opti93x_free(opti93x_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
release_and_free_resource(chip->res_port);
|
||||
if (chip->dma1 >= 0) {
|
||||
disable_dma(chip->dma1);
|
||||
free_dma(chip->dma1);
|
||||
@@ -1656,8 +1651,7 @@ static int __devinit snd_card_opti9xx_detect(snd_card_t *card, opti9xx_t *chip)
|
||||
if (value == snd_opti9xx_read(chip, OPTi9XX_MC_REG(1)))
|
||||
return 1;
|
||||
|
||||
release_resource(chip->res_mc_base);
|
||||
kfree_nocheck(chip->res_mc_base);
|
||||
release_and_free_resource(chip->res_mc_base);
|
||||
chip->res_mc_base = NULL;
|
||||
|
||||
}
|
||||
@@ -1683,8 +1677,7 @@ static int __devinit snd_card_opti9xx_detect(snd_card_t *card, opti9xx_t *chip)
|
||||
if (snd_opti9xx_read(chip, OPTi9XX_MC_REG(7)) == 0xff - value)
|
||||
return 1;
|
||||
|
||||
release_resource(chip->res_mc_base);
|
||||
kfree_nocheck(chip->res_mc_base);
|
||||
release_and_free_resource(chip->res_mc_base);
|
||||
chip->res_mc_base = NULL;
|
||||
}
|
||||
#endif /* OPTi93X */
|
||||
@@ -1886,12 +1879,8 @@ static void snd_card_opti9xx_free(snd_card_t *card)
|
||||
{
|
||||
opti9xx_t *chip = (opti9xx_t *)card->private_data;
|
||||
|
||||
if (chip) {
|
||||
if (chip->res_mc_base) {
|
||||
release_resource(chip->res_mc_base);
|
||||
kfree_nocheck(chip->res_mc_base);
|
||||
}
|
||||
}
|
||||
if (chip)
|
||||
release_and_free_resource(chip->res_mc_base);
|
||||
}
|
||||
|
||||
static int snd_card_opti9xx_probe(struct pnp_card_link *pcard,
|
||||
|
@@ -1054,18 +1054,9 @@ __error:
|
||||
*/
|
||||
static int snd_emu8000_free(emu8000_t *hw)
|
||||
{
|
||||
if (hw->res_port1) {
|
||||
release_resource(hw->res_port1);
|
||||
kfree_nocheck(hw->res_port1);
|
||||
}
|
||||
if (hw->res_port2) {
|
||||
release_resource(hw->res_port2);
|
||||
kfree_nocheck(hw->res_port2);
|
||||
}
|
||||
if (hw->res_port3) {
|
||||
release_resource(hw->res_port3);
|
||||
kfree_nocheck(hw->res_port3);
|
||||
}
|
||||
release_and_free_resource(hw->res_port1);
|
||||
release_and_free_resource(hw->res_port2);
|
||||
release_and_free_resource(hw->res_port3);
|
||||
kfree(hw);
|
||||
return 0;
|
||||
}
|
||||
|
@@ -345,10 +345,7 @@ static void snd_sb16_free(snd_card_t *card)
|
||||
|
||||
if (acard == NULL)
|
||||
return;
|
||||
if (acard->fm_res) {
|
||||
release_resource(acard->fm_res);
|
||||
kfree_nocheck(acard->fm_res);
|
||||
}
|
||||
release_and_free_resource(acard->fm_res);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PNP
|
||||
|
@@ -78,10 +78,7 @@ static void snd_sb8_free(snd_card_t *card)
|
||||
|
||||
if (acard == NULL)
|
||||
return;
|
||||
if (acard->fm_res) {
|
||||
release_resource(acard->fm_res);
|
||||
kfree_nocheck(acard->fm_res);
|
||||
}
|
||||
release_and_free_resource(acard->fm_res);
|
||||
}
|
||||
|
||||
static int __init snd_sb8_probe(int dev)
|
||||
|
@@ -178,10 +178,8 @@ static int snd_sbdsp_probe(sb_t * chip)
|
||||
|
||||
static int snd_sbdsp_free(sb_t *chip)
|
||||
{
|
||||
if (chip->res_port) {
|
||||
release_resource(chip->res_port);
|
||||
kfree_nocheck(chip->res_port);
|
||||
}
|
||||
if (chip->res_port)
|
||||
release_and_free_resource(chip->res_port);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *) chip);
|
||||
#ifdef CONFIG_ISA
|
||||
|
@@ -338,8 +338,7 @@ static inline void activate_ad1845_unsafe(unsigned io_base)
|
||||
static void soundscape_free(snd_card_t * c)
|
||||
{
|
||||
register struct soundscape *sscape = get_card_soundscape(c);
|
||||
release_resource(sscape->io_res);
|
||||
kfree_nocheck(sscape->io_res);
|
||||
release_and_free_resource(sscape->io_res);
|
||||
free_dma(sscape->chip->dma1);
|
||||
}
|
||||
|
||||
@@ -1288,8 +1287,7 @@ static int __devinit create_sscape(const struct params *params, snd_card_t **rca
|
||||
free_dma(params->dma1);
|
||||
|
||||
_release_region:
|
||||
release_resource(io_res);
|
||||
kfree_nocheck(io_res);
|
||||
release_and_free_resource(io_res);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@@ -379,10 +379,7 @@ snd_wavefront_free(snd_card_t *card)
|
||||
snd_wavefront_card_t *acard = (snd_wavefront_card_t *)card->private_data;
|
||||
|
||||
if (acard) {
|
||||
if (acard->wavefront.res_base != NULL) {
|
||||
release_resource(acard->wavefront.res_base);
|
||||
kfree_nocheck(acard->wavefront.res_base);
|
||||
}
|
||||
release_and_free_resource(acard->wavefront.res_base);
|
||||
if (acard->wavefront.irq > 0)
|
||||
free_irq(acard->wavefront.irq, (void *)acard);
|
||||
}
|
||||
|
Reference in New Issue
Block a user