Revert previous.

Not only audio_attach_mi() but also audioprint() have to be separated.
midi.c has the same problem, and a little more complicated.  These will be
revisited later.
This commit is contained in:
uebayasi 2014-11-01 07:54:18 +00:00
parent 6c283bdad1
commit b08fc936e8
2 changed files with 26 additions and 27 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: audio.c,v 1.264 2014/11/01 05:56:36 uebayasi Exp $ */
/* $NetBSD: audio.c,v 1.265 2014/11/01 07:54:18 uebayasi Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@ -155,7 +155,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.264 2014/11/01 05:56:36 uebayasi Exp $");
__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.265 2014/11/01 07:54:18 uebayasi Exp $");
#include "audio.h"
#if NAUDIO > 0
@ -829,6 +829,27 @@ au_setup_ports(struct audio_softc *sc, struct au_mixer_ports *ports,
}
}
/*
* Called from hardware driver. This is where the MI audio driver gets
* probed/attached to the hardware driver.
*/
device_t
audio_attach_mi(const struct audio_hw_if *ahwp, void *hdlp, device_t dev)
{
struct audio_attach_args arg;
#ifdef DIAGNOSTIC
if (ahwp == NULL) {
aprint_error("audio_attach_mi: NULL\n");
return 0;
}
#endif
arg.type = AUDIODEV_TYPE_AUDIO;
arg.hwif = ahwp;
arg.hdl = hdlp;
return config_found(dev, &arg, audioprint);
}
#ifdef AUDIO_DEBUG
void audio_printsc(struct audio_softc *);
void audio_print_params(const char *, struct audio_params *);

View File

@ -1,4 +1,4 @@
/* $NetBSD: audio_if.h,v 1.68 2014/11/01 05:56:36 uebayasi Exp $ */
/* $NetBSD: audio_if.h,v 1.69 2014/11/01 07:54:18 uebayasi Exp $ */
/*
* Copyright (c) 1994 Havard Eidnes.
@ -254,32 +254,10 @@ struct audio_attach_args {
#define AUDIODEV_TYPE_MPU 3
#define AUDIODEV_TYPE_AUX 4
/* Attach the MI driver(s) to the MD driver. */
device_t audio_attach_mi(const struct audio_hw_if *, void *, device_t);
int audioprint(void *, const char *);
/*
* Called from hardware driver. This is where the MI audio driver gets
* probed/attached to the hardware driver.
*
* This is provided as inline so that hardware drivers don't need to depend
* on audio.c.
*/
static inline device_t
audio_attach_mi(const struct audio_hw_if *ahwp, void *hdlp, device_t dev)
{
struct audio_attach_args arg;
#ifdef DIAGNOSTIC
if (ahwp == NULL) {
aprint_error("audio_attach_mi: NULL\n");
return 0;
}
#endif
arg.type = AUDIODEV_TYPE_AUDIO;
arg.hwif = ahwp;
arg.hdl = hdlp;
return config_found(dev, &arg, audioprint);
}
/* Device identity flags */
#define SOUND_DEVICE 0
#define AUDIO_DEVICE 0x80