Call dev_siomix_{open,close} from dev_sio_{open,close}

This commit is contained in:
Alexandre Ratchov 2019-08-30 10:01:29 +02:00
parent 4453acee80
commit e2e5298b26
4 changed files with 8 additions and 6 deletions

View File

@ -1059,7 +1059,6 @@ dev_open_do(struct dev *d)
} }
return 0; return 0;
} }
dev_siomix_open(d);
if (d->mode & MODE_REC) { if (d->mode & MODE_REC) {
/* /*
* Create device <-> demuxer buffer * Create device <-> demuxer buffer
@ -1175,7 +1174,6 @@ dev_exitall(struct dev *d)
{ {
int i; int i;
struct slot *s; struct slot *s;
struct ctl *c;
for (s = d->slot, i = DEV_NSLOT; i > 0; i--, s++) { for (s = d->slot, i = DEV_NSLOT; i > 0; i--, s++) {
if (s->ops) if (s->ops)
@ -1192,6 +1190,8 @@ dev_exitall(struct dev *d)
void void
dev_close_do(struct dev *d) dev_close_do(struct dev *d)
{ {
struct ctl *c;
#ifdef DEBUG #ifdef DEBUG
if (log_level >= 3) { if (log_level >= 3) {
dev_log(d); dev_log(d);

View File

@ -95,14 +95,14 @@ dev_siomix_onctl(void *arg, unsigned int addr, unsigned int val)
* open the mixer device. * open the mixer device.
*/ */
void void
dev_siomix_open(struct dev *d) dev_siomix_open(struct dev *d, char *path)
{ {
d->siomix.hdl = siomix_open(d->path, SIOMIX_READ | SIOMIX_WRITE, 0); d->siomix.hdl = siomix_open(path, SIOMIX_READ | SIOMIX_WRITE, 0);
if (d->siomix.hdl == NULL) if (d->siomix.hdl == NULL)
return; return;
siomix_ondesc(d->siomix.hdl, dev_siomix_ondesc, d); siomix_ondesc(d->siomix.hdl, dev_siomix_ondesc, d);
siomix_onctl(d->siomix.hdl, dev_siomix_onctl, d); siomix_onctl(d->siomix.hdl, dev_siomix_onctl, d);
d->siomix.file = file_new(&dev_siomix_ops, d, d->path, d->siomix.file = file_new(&dev_siomix_ops, d, path,
siomix_nfds(d->siomix.hdl)); siomix_nfds(d->siomix.hdl));
} }

View File

@ -26,7 +26,7 @@ struct dev_siomix {
struct file *file; struct file *file;
}; };
void dev_siomix_open(struct dev *); void dev_siomix_open(struct dev *, char *);
void dev_siomix_close(struct dev *); void dev_siomix_close(struct dev *);
#endif /* !defined(DEV_SIOMIX_H) */ #endif /* !defined(DEV_SIOMIX_H) */

View File

@ -241,6 +241,7 @@ dev_sio_open(struct dev *d)
log_puts(path); log_puts(path);
log_puts("\n"); log_puts("\n");
} }
dev_siomix_open(d, path);
return 1; return 1;
bad_close: bad_close:
sio_close(d->sio.hdl); sio_close(d->sio.hdl);
@ -250,6 +251,7 @@ dev_sio_open(struct dev *d)
void void
dev_sio_close(struct dev *d) dev_sio_close(struct dev *d)
{ {
dev_siomix_close(d);
#ifdef DEBUG #ifdef DEBUG
if (log_level >= 3) { if (log_level >= 3) {
dev_log(d); dev_log(d);