Esempio n. 1
0
static int __init alsa_card_dummy_init(void)
{
	int i, cards, err;

	if ((err = platform_driver_register(&snd_dummy_driver)) < 0)
		return err;

	cards = 0;
	for (i = 0; i < SNDRV_CARDS; i++) {
		struct platform_device *device;
		if (! enable[i])
			continue;
		device = platform_device_register_simple(SND_DUMMY_DRIVER,
							 i, NULL, 0);
		if (IS_ERR(device))
			continue;
		if (!platform_get_drvdata(device)) {
			platform_device_unregister(device);
			continue;
		}
		devices[i] = device;
		cards++;
	}
	if (!cards) {
#ifdef MODULE
		printk(KERN_ERR "Dummy soundcard not found or device busy\n");
#endif
		snd_dummy_unregister_all();
		return -ENODEV;
	}
	return 0;
}
Esempio n. 2
0
static int __init alsa_card_dummy_init(void)
{
	int i, cards, err;

	err = platform_driver_register(&snd_dummy_driver);
	if (err < 0)
		return err;

	if (!dummystarted) {
		dummystarted = 1;
		spin_lock_init(&dummylock);

		spin_lock_bh(&dummylock);
		for (i = 0; i < MAX_PCM_SUBSTREAMS; i++) {

			//if (i > MAX_PCM_SUBSTREAMS || dummyindex > MAX_PCM_SUBSTREAMS) {
				//printk("dummy, %s:%d, i=%d, dummyindex=%d \n", __FILE__, __LINE__, i, dummyindex);
			//}
			dummydpcms[i].substream = NULL;
			dummydpcms[i].dpcm = NULL;
			dummydpcms[i].started = 0;
			dummydpcms[i].elapsed = 0;
		}
		init_timer(&dummytimer);
		dummytimer.data = (unsigned long) &dummydpcms;
		dummytimer.function = snd_card_dummy_pcm_timer_function;
		dummytimer.expires = 1 + jiffies;
		add_timer(&dummytimer);
		printk("snd-dummy skypopen driver version: 9, %s:%d working on a machine with %dHZ kernel\n", __FILE__, __LINE__, HZ);
		spin_unlock_bh(&dummylock);
	}


	cards = 0;
	for (i = 0; i < SNDRV_CARDS; i++) {
		struct platform_device *device;
		if (!enable[i])
			continue;
		device = platform_device_register_simple(SND_DUMMY_DRIVER, i, NULL, 0);
		if (IS_ERR(device))
			continue;
		if (!platform_get_drvdata(device)) {
			platform_device_unregister(device);
			continue;
		}
		devices[i] = device;
		cards++;
	}
	if (!cards) {
#ifdef MODULE
		printk(KERN_ERR "Dummy soundcard not found or device busy\n");
#endif
		snd_dummy_unregister_all();
		return -ENODEV;
	}
	return 0;
}
Esempio n. 3
0
static int __init alsa_card_dummy_init(void)
{
	int i, cards, err;

	err = platform_driver_register(&snd_dummy_driver);
	if (err < 0)
		return err;

	err = alloc_fake_buffer();
	if (err < 0) {
		platform_driver_unregister(&snd_dummy_driver);
		return err;
	}

	cards = 0;
	for (i = 0; i < SNDRV_CARDS; i++) {
		struct platform_device *device;
		if (! enable[i])
			continue;
		device = platform_device_register_simple(SND_DUMMY_DRIVER,
							 i, NULL, 0);
		if (IS_ERR(device))
			continue;
		if (!platform_get_drvdata(device)) {
			platform_device_unregister(device);
			continue;
		}
		devices[i] = device;
		cards++;
	}
	if (!cards) {
#ifdef MODULE
;
#endif
		snd_dummy_unregister_all();
		return -ENODEV;
	}
	return 0;
}
Esempio n. 4
0
static void __exit alsa_card_dummy_exit(void)
{
	snd_dummy_unregister_all();
}
Esempio n. 5
0
static void __exit alsa_card_dummy_exit(void)
{
	del_timer(&dummytimer);
	snd_dummy_unregister_all();
}