lkml.org 
[lkml]   [2006]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/9] cs4236: adjust pnp_register_driver signature
    Date
    Remove the assumption that pnp_register_driver() returns the number of
    devices claimed.

    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>

    Index: work-mm4/sound/isa/cs423x/cs4236.c
    ===================================================================
    --- work-mm4.orig/sound/isa/cs423x/cs4236.c 2006-02-22 09:55:41.000000000 -0700
    +++ work-mm4/sound/isa/cs423x/cs4236.c 2006-02-22 10:05:14.000000000 -0700
    @@ -133,6 +133,7 @@
    static int pnp_registered;
    #endif
    #endif /* CONFIG_PNP */
    +static unsigned int snd_cs423x_devices;

    struct snd_card_cs4236 {
    struct snd_cs4231 *chip;
    @@ -564,7 +565,7 @@
    snd_card_free(card);
    return err;
    }
    -
    +
    platform_set_drvdata(pdev, card);
    return 0;
    }
    @@ -650,6 +651,7 @@
    }
    pnp_set_drvdata(pdev, card);
    dev++;
    + snd_cs423x_devices++;
    return 0;
    }

    @@ -713,6 +715,7 @@
    }
    pnp_set_card_drvdata(pcard, card);
    dev++;
    + snd_cs423x_devices++;
    return 0;
    }

    @@ -721,7 +724,7 @@
    snd_card_free(pnp_get_card_drvdata(pcard));
    pnp_set_card_drvdata(pcard, NULL);
    }
    -
    +
    #ifdef CONFIG_PM
    static int snd_cs423x_pnpc_suspend(struct pnp_card_link *pcard, pm_message_t state)
    {
    @@ -766,7 +769,7 @@

    static int __init alsa_card_cs423x_init(void)
    {
    - int i, err, cards = 0;
    + int i, err;

    if ((err = platform_driver_register(&cs423x_nonpnp_driver)) < 0)
    return err;
    @@ -782,24 +785,20 @@
    goto errout;
    }
    platform_devices[i] = device;
    - cards++;
    + snd_cs423x_devices++;
    }
    #ifdef CONFIG_PNP
    #ifdef CS4232
    - i = pnp_register_driver(&cs4232_pnp_driver);
    - if (i >= 0) {
    + err = pnp_register_driver(&cs4232_pnp_driver);
    + if (!err)
    pnp_registered = 1;
    - cards += i;
    - }
    #endif
    - i = pnp_register_card_driver(&cs423x_pnpc_driver);
    - if (i >= 0) {
    + err = pnp_register_card_driver(&cs423x_pnpc_driver);
    + if (!err)
    pnpc_registered = 1;
    - cards += i;
    - }
    #endif /* CONFIG_PNP */

    - if (!cards) {
    + if (!snd_cs423x_devices) {
    #ifdef MODULE
    printk(KERN_ERR IDENT " soundcard not found or device busy\n");
    #endif
    -
    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/
    \
     
     \ /
      Last update: 2006-03-03 00:12    [W:4.036 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site