131 |
{ |
{ |
132 |
#ifdef CONFIG_KMOD |
#ifdef CONFIG_KMOD |
133 |
struct list_head *head; |
struct list_head *head; |
|
char modname[64]; |
|
134 |
|
|
135 |
down(&ops_mutex); |
down(&ops_mutex); |
136 |
list_for_each(head, &opslist) { |
list_for_each(head, &opslist) { |
140 |
ops->used++; |
ops->used++; |
141 |
up(&ops_mutex); |
up(&ops_mutex); |
142 |
ops->driver |= DRIVER_REQUESTED; |
ops->driver |= DRIVER_REQUESTED; |
143 |
sprintf(modname, "snd-%s", ops->id); |
request_module("snd-%s", ops->id); |
|
request_module(modname); |
|
144 |
down(&ops_mutex); |
down(&ops_mutex); |
145 |
ops->used--; |
ops->used--; |
146 |
} |
} |
187 |
/* set up device info */ |
/* set up device info */ |
188 |
dev->card = card; |
dev->card = card; |
189 |
dev->device = device; |
dev->device = device; |
190 |
strncpy(dev->id, id, sizeof(dev->id) - 1); |
strlcpy(dev->id, id, sizeof(dev->id)); |
|
dev->id[sizeof(dev->id) - 1] = 0; |
|
191 |
dev->argsize = argsize; |
dev->argsize = argsize; |
192 |
dev->status = SNDRV_SEQ_DEVICE_FREE; |
dev->status = SNDRV_SEQ_DEVICE_FREE; |
193 |
|
|
349 |
memset(ops, 0, sizeof(*ops)); |
memset(ops, 0, sizeof(*ops)); |
350 |
|
|
351 |
/* set up driver entry */ |
/* set up driver entry */ |
352 |
strncpy(ops->id, id, sizeof(ops->id) - 1); |
strlcpy(ops->id, id, sizeof(ops->id)); |
|
ops->id[sizeof(ops->id) - 1] = 0; |
|
353 |
init_MUTEX(&ops->reg_mutex); |
init_MUTEX(&ops->reg_mutex); |
354 |
ops->driver = DRIVER_EMPTY; |
ops->driver = DRIVER_EMPTY; |
355 |
INIT_LIST_HEAD(&ops->dev_list); |
INIT_LIST_HEAD(&ops->dev_list); |