Last year we made AUDIO_GETDEV ioctl driver independent but forgot
to remove the getdev() methods of all the drivers.

OK?

Index: share/man/man9/audio.9
===================================================================
RCS file: /cvs/src/share/man/man9/audio.9,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 audio.9
--- share/man/man9/audio.9      14 Sep 2016 06:12:19 -0000      1.25
+++ share/man/man9/audio.9      17 Sep 2016 11:28:12 -0000
@@ -64,7 +64,6 @@ struct audio_hw_if {
 #define SPKR_ON  1
 #define SPKR_OFF 0
 
-       int     (*getdev)(void *, struct audio_device *);
        int     (*setfd)(void *, int);
 
        int     (*set_port)(void *, struct mixer_ctrl *);
@@ -279,11 +278,6 @@ If supplied, it is called when a half du
 playing and recording.
 It can, e.g., be used to turn the speaker on and off.
 This function returns 0 on success, otherwise an error code.
-.It Fn "int (*getdev)" "void *hdl" "struct audio_device *ret"
-This function fills
-.Fa ret
-with relevant information about the driver and returns 0 on success,
-or it returns an error code on failure.
 .It Fn "int (*setfd)" "void *hdl" "int fd"
 This function is optional.
 If supplied, it is called when the device is opened in full-duplex mode,
Index: sys/arch/hppa/gsc/harmony.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/gsc/harmony.c,v
retrieving revision 1.32
diff -u -p -u -p -r1.32 harmony.c
--- sys/arch/hppa/gsc/harmony.c 14 Sep 2016 06:12:19 -0000      1.32
+++ sys/arch/hppa/gsc/harmony.c 17 Sep 2016 11:28:12 -0000
@@ -62,7 +62,6 @@ int     harmony_round_blocksize(void *, 
 int     harmony_commit_settings(void *);
 int     harmony_halt_output(void *);
 int     harmony_halt_input(void *);
-int     harmony_getdev(void *, struct audio_device *);
 int     harmony_set_port(void *, mixer_ctrl_t *);
 int     harmony_get_port(void *, mixer_ctrl_t *);
 int     harmony_query_devinfo(void *addr, mixer_devinfo_t *);
@@ -88,7 +87,6 @@ struct audio_hw_if harmony_sa_hw_if = {
        harmony_halt_output,
        harmony_halt_input,
        NULL,
-       harmony_getdev,
        NULL,
        harmony_set_port,
        harmony_get_port,
@@ -252,13 +250,6 @@ harmony_attach(parent, self, aux)
        if ((rev & CS4215_REV_VER) >= CS4215_REV_VER_E)
                sc->sc_hasulinear8 = 1;
 
-       strlcpy(sc->sc_audev.name, ga->ga_name, sizeof(sc->sc_audev.name));
-       snprintf(sc->sc_audev.version, sizeof sc->sc_audev.version,
-           "%u.%u;%u", ga->ga_type.iodc_sv_rev,
-           ga->ga_type.iodc_model, ga->ga_type.iodc_revision);
-       strlcpy(sc->sc_audev.config, sc->sc_dv.dv_xname,
-           sizeof(sc->sc_audev.config));
-
        audio_attach_mi(&harmony_sa_hw_if, sc, &sc->sc_dv);
 
        timeout_set(&sc->sc_acc_tmo, harmony_acc_tmo, sc);
@@ -547,16 +538,6 @@ harmony_halt_input(void *vsc)
 
        /* XXX: disable interrupts */
        sc->sc_capturing = 0;
-       return (0);
-}
-
-int
-harmony_getdev(void *vsc, struct audio_device *retp)
-{
-       struct harmony_softc *sc = vsc;
-
-       *retp = sc->sc_audev;
-
        return (0);
 }
 
Index: sys/arch/hppa/gsc/harmonyvar.h
===================================================================
RCS file: /cvs/src/sys/arch/hppa/gsc/harmonyvar.h,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 harmonyvar.h
--- sys/arch/hppa/gsc/harmonyvar.h      15 Aug 2003 13:25:53 -0000      1.8
+++ sys/arch/hppa/gsc/harmonyvar.h      17 Sep 2016 11:28:12 -0000
@@ -78,7 +78,6 @@ struct harmony_channel {
 
 struct harmony_softc {
        struct device sc_dv;
-       struct audio_device sc_audev;
 
        bus_dma_tag_t sc_dmat;
        bus_space_tag_t sc_bt;
Index: sys/arch/luna88k/cbus/nec86.c
===================================================================
RCS file: /cvs/src/sys/arch/luna88k/cbus/nec86.c,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 nec86.c
--- sys/arch/luna88k/cbus/nec86.c       14 Sep 2016 06:12:19 -0000      1.2
+++ sys/arch/luna88k/cbus/nec86.c       17 Sep 2016 11:28:13 -0000
@@ -63,12 +63,6 @@
 #define NEC_SCR_MASK           0x0f
 #define NEC_SCR_EXT_ENABLE     0x01
 
-struct audio_device nec86_device = {
-       .name           = "PC-9801-86",
-       .version        = "",
-       .config         = "nec86"
-};
-
 /*
  * Define our interface to the higher level audio driver.
  */
@@ -86,7 +80,6 @@ struct audio_hw_if nec86_hw_if = {
        .halt_output    = nec86hw_halt_pdma,
        .halt_input     = nec86hw_halt_pdma,
        .speaker_ctl    = nec86hw_speaker_ctl,
-       .getdev         = nec86getdev,
        .setfd          = nec86hw_setfd,
        .set_port       = nec86hw_mixer_set_port,
        .get_port       = nec86hw_mixer_get_port,
@@ -247,15 +240,4 @@ nec86_attachsubr(struct nec86_softc *sc)
                audio_attach_mi(&nec86_hw_if, ysc, &ysc->sc_dev);
                sc->sc_attached = 1;
        }
-}
-
-/*
- * Various routines to interface to higher level audio driver.
- */
-int
-nec86getdev(void *addr, struct audio_device *retp)
-{
-       *retp = nec86_device;
-
-       return 0;
 }
Index: sys/arch/luna88k/cbus/nec86hwvar.h
===================================================================
RCS file: /cvs/src/sys/arch/luna88k/cbus/nec86hwvar.h,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 nec86hwvar.h
--- sys/arch/luna88k/cbus/nec86hwvar.h  14 Sep 2016 06:12:19 -0000      1.2
+++ sys/arch/luna88k/cbus/nec86hwvar.h  17 Sep 2016 11:28:13 -0000
@@ -213,7 +213,6 @@ void        nec86fifo_padding(struct nec86hw_so
 
 int    nec86hw_intr(void *);
 
-int    nec86getdev(void *, struct audio_device *);
 int    nec86_get_props(void *);
 
 #endif /* _KERNEL */
Index: sys/arch/macppc/dev/aoa.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/aoa.c,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 aoa.c
--- sys/arch/macppc/dev/aoa.c   14 Sep 2016 06:12:19 -0000      1.8
+++ sys/arch/macppc/dev/aoa.c   17 Sep 2016 11:28:13 -0000
@@ -52,7 +52,6 @@
 /* XXX */
 #define aoa_softc i2s_softc
 
-int aoa_getdev(void *, struct audio_device *);
 int aoa_match(struct device *, void *, void *);
 void aoa_attach(struct device *, struct device *, void *);
 void aoa_defer(struct device *);
@@ -79,7 +78,6 @@ struct audio_hw_if aoa_hw_if = {
        i2s_halt_output,
        i2s_halt_input,
        NULL,
-       aoa_getdev,
        NULL,
        i2s_set_port,
        i2s_get_port,
@@ -92,12 +90,6 @@ struct audio_hw_if aoa_hw_if = {
        i2s_trigger_input
 };
 
-struct audio_device aoa_device = {
-       "AOA",
-       "",
-       "aoa"
-};
-
 int
 aoa_match(struct device *parent, void *match, void *aux)
 {
@@ -143,13 +135,6 @@ aoa_defer(struct device *dev)
 
        audio_attach_mi(&aoa_hw_if, sc, &sc->sc_dev);
        deq_reset(sc);
-}
-
-int
-aoa_getdev(void *h, struct audio_device *retp)
-{
-       *retp = aoa_device;
-       return (0);
 }
 
 void
Index: sys/arch/macppc/dev/awacs.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/awacs.c,v
retrieving revision 1.33
diff -u -p -u -p -r1.33 awacs.c
--- sys/arch/macppc/dev/awacs.c 14 Sep 2016 06:12:19 -0000      1.33
+++ sys/arch/macppc/dev/awacs.c 17 Sep 2016 11:28:13 -0000
@@ -104,7 +104,6 @@ int awacs_trigger_input(void *, void *, 
                            void *, struct audio_params *);
 int awacs_halt_output(void *);
 int awacs_halt_input(void *);
-int awacs_getdev(void *, struct audio_device *);
 int awacs_set_port(void *, mixer_ctrl_t *);
 int awacs_get_port(void *, mixer_ctrl_t *);
 int awacs_query_devinfo(void *, mixer_devinfo_t *);
@@ -140,7 +139,6 @@ struct audio_hw_if awacs_hw_if = {
        awacs_halt_output,
        awacs_halt_input,
        NULL,                   /* speaker_ctl */
-       awacs_getdev,
        NULL,                   /* getfd */
        awacs_set_port,
        awacs_get_port,
@@ -153,12 +151,6 @@ struct audio_hw_if awacs_hw_if = {
        awacs_trigger_input
 };
 
-struct audio_device awacs_device = {
-       "AWACS",
-       "",
-       "awacs"
-};
-
 /* register offset */
 #define AWACS_SOUND_CTRL       0x00
 #define AWACS_CODEC_CTRL       0x10
@@ -571,13 +563,6 @@ awacs_halt_input(void *h)
        dbdma_stop(sc->sc_idma);
        dbdma_reset(sc->sc_idma);
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-awacs_getdev(void *h, struct audio_device *retp)
-{
-       *retp = awacs_device;
        return 0;
 }
 
Index: sys/arch/macppc/dev/daca.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/daca.c,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 daca.c
--- sys/arch/macppc/dev/daca.c  14 Sep 2016 06:12:19 -0000      1.9
+++ sys/arch/macppc/dev/daca.c  17 Sep 2016 11:28:13 -0000
@@ -57,7 +57,6 @@
 int kiic_write(struct device *, int, int, const void *, int);
 int kiic_writereg(struct device *, int, u_int);
 
-int daca_getdev(void *, struct audio_device *);
 int daca_match(struct device *, void *, void *);
 void daca_attach(struct device *, struct device *, void *);
 void daca_defer(struct device *);
@@ -85,7 +84,6 @@ struct audio_hw_if daca_hw_if = {
        i2s_halt_output,
        i2s_halt_input,
        NULL,
-       daca_getdev,
        NULL,
        i2s_set_port,
        i2s_get_port,
@@ -98,12 +96,6 @@ struct audio_hw_if daca_hw_if = {
        i2s_trigger_input
 };
 
-struct audio_device daca_device = {
-       "DACA",
-       "",
-       "daca"
-};
-
 /* DAC3550A registers */
 #define DEQ_SR         0x01    /* Sample rate control (8) */
 #define DEQ_AVOL       0x02    /* Analog volume (16) */
@@ -172,13 +164,6 @@ daca_init(struct daca_softc *sc)
 {
        i2s_set_rate(sc, 44100);
        kiic_writereg(sc->sc_i2c, 4, 0x01 | 0x02 | 0x04);
-}
-
-int
-daca_getdev(void *h, struct audio_device *retp)
-{
-       *retp = daca_device;
-       return (0);
 }
 
 void
Index: sys/arch/macppc/dev/onyx.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/onyx.c,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 onyx.c
--- sys/arch/macppc/dev/onyx.c  14 Sep 2016 06:12:19 -0000      1.11
+++ sys/arch/macppc/dev/onyx.c  17 Sep 2016 11:28:13 -0000
@@ -67,7 +67,6 @@
 void kiic_setmode(struct kiic_softc *, u_int, u_int);
 int kiic_write(struct device *, int, int, const void *, int);
 
-int onyx_getdev(void *, struct audio_device *);
 int onyx_match(struct device *, void *, void *);
 void onyx_attach(struct device *, struct device *, void *);
 void onyx_defer(struct device *);
@@ -94,7 +93,6 @@ struct audio_hw_if onyx_hw_if = {
        i2s_halt_output,
        i2s_halt_input,
        NULL,
-       onyx_getdev,
        NULL,
        i2s_set_port,
        i2s_get_port,
@@ -107,12 +105,6 @@ struct audio_hw_if onyx_hw_if = {
        i2s_trigger_input
 };
 
-struct audio_device onyx_device = {
-       "ONYX",
-       "",
-       "onyx"
-};
-
 int
 onyx_match(struct device *parent, void *match, void *aux)
 {
@@ -177,13 +169,6 @@ onyx_defer(struct device *dev)
 
        deq_reset(sc);
        onyx_set_volume(sc, 192, 192);
-}
-
-int
-onyx_getdev(void *h, struct audio_device *retp)
-{
-       *retp = onyx_device;
-       return (0);
 }
 
 void
Index: sys/arch/macppc/dev/snapper.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/snapper.c,v
retrieving revision 1.36
diff -u -p -u -p -r1.36 snapper.c
--- sys/arch/macppc/dev/snapper.c       14 Sep 2016 06:12:19 -0000      1.36
+++ sys/arch/macppc/dev/snapper.c       17 Sep 2016 11:28:13 -0000
@@ -59,7 +59,6 @@ int kiic_write(struct device *, int, int
 int kiic_writereg(struct device *, int, u_int);
 
 void snapper_init(struct snapper_softc *);
-int snapper_getdev(void *, struct audio_device *);
 int snapper_match(struct device *, void *, void *);
 void snapper_attach(struct device *, struct device *, void *);
 void snapper_defer(struct device *);
@@ -91,7 +90,6 @@ struct audio_hw_if snapper_hw_if = {
        i2s_halt_output,
        i2s_halt_input,
        NULL,
-       snapper_getdev,
        NULL,
        i2s_set_port,
        i2s_get_port,
@@ -104,12 +102,6 @@ struct audio_hw_if snapper_hw_if = {
        i2s_trigger_input
 };
 
-struct audio_device snapper_device = {
-       "SNAPPER",
-       "",
-       "snapper"
-};
-
 const uint8_t snapper_trebletab[] = {
        0x96,   /* -18dB */
        0x94,   /* -17dB */
@@ -727,11 +719,4 @@ snapper_init(struct snapper_softc *sc)
        /* Mic in, reflects tas3004_initdata.ACR */
        sc->sc_record_source = 1 << 1;
        snapper_set_input(sc, sc->sc_record_source);
-}
-
-int
-snapper_getdev(void *h, struct audio_device *retp)
-{
-       *retp = snapper_device;
-       return (0);
 }
Index: sys/arch/macppc/dev/tumbler.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/dev/tumbler.c,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 tumbler.c
--- sys/arch/macppc/dev/tumbler.c       14 Sep 2016 06:12:19 -0000      1.8
+++ sys/arch/macppc/dev/tumbler.c       17 Sep 2016 11:28:13 -0000
@@ -58,7 +58,6 @@ int kiic_write(struct device *, int, int
 int kiic_writereg(struct device *, int, u_int);
 
 void tumbler_init(struct tumbler_softc *);
-int tumbler_getdev(void *, struct audio_device *);
 int tumbler_match(struct device *, void *, void *);
 void tumbler_attach(struct device *, struct device *, void *);
 void tumbler_defer(struct device *);
@@ -89,7 +88,6 @@ struct audio_hw_if tumbler_hw_if = {
        i2s_halt_output,
        i2s_halt_input,
        NULL,
-       tumbler_getdev,
        NULL,
        i2s_set_port,
        i2s_get_port,
@@ -102,12 +100,6 @@ struct audio_hw_if tumbler_hw_if = {
        i2s_trigger_input
 };
 
-struct audio_device tumbler_device = {
-       "TUMBLER",
-       "",
-       "tumbler"
-};
-
 const uint8_t tumbler_trebletab[] = {
        0x96,   /* -18dB */
        0x94,   /* -17dB */
@@ -481,11 +473,4 @@ tumbler_init(struct tumbler_softc *sc)
                return;
 
        tumbler_set_volume(sc, 80, 80);
-}
-
-int
-tumbler_getdev(void *h, struct audio_device *retp)
-{
-       *retp = tumbler_device;
-       return (0);
 }
Index: sys/arch/sgi/dev/mavb.c
===================================================================
RCS file: /cvs/src/sys/arch/sgi/dev/mavb.c,v
retrieving revision 1.19
diff -u -p -u -p -r1.19 mavb.c
--- sys/arch/sgi/dev/mavb.c     14 Sep 2016 06:12:19 -0000      1.19
+++ sys/arch/sgi/dev/mavb.c     17 Sep 2016 11:28:14 -0000
@@ -165,7 +165,6 @@ int mavb_set_params(void *, int, int, st
 int mavb_round_blocksize(void *hdl, int bs);
 int mavb_halt_output(void *);
 int mavb_halt_input(void *);
-int mavb_getdev(void *, struct audio_device *);
 int mavb_set_port(void *, struct mixer_ctrl *);
 int mavb_get_port(void *, struct mixer_ctrl *);
 int mavb_query_devinfo(void *, struct mixer_devinfo *);
@@ -188,7 +187,6 @@ struct audio_hw_if mavb_sa_hw_if = {
        mavb_halt_output,
        mavb_halt_input,
        0,
-       mavb_getdev,
        0,
        mavb_set_port,
        mavb_get_port,
@@ -201,12 +199,6 @@ struct audio_hw_if mavb_sa_hw_if = {
        mavb_trigger_input
 };
 
-struct audio_device mavb_device = {
-       "A3",
-       "",
-       "mavb"
-};
-
 int
 mavb_open(void *hdl, int flags)
 {
@@ -387,13 +379,6 @@ mavb_halt_input(void *hdl)
        mtx_enter(&audio_lock);
        bus_space_write_8(sc->sc_st, sc->sc_sh, MAVB_CHANNEL1_CONTROL, 0);
        mtx_leave(&audio_lock);
-       return (0);
-}
-
-int
-mavb_getdev(void *hdl, struct audio_device *ret)
-{
-       *ret = mavb_device;
        return (0);
 }
 
Index: sys/arch/sparc64/dev/ce4231.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/dev/ce4231.c,v
retrieving revision 1.34
diff -u -p -u -p -r1.34 ce4231.c
--- sys/arch/sparc64/dev/ce4231.c       14 Sep 2016 06:12:19 -0000      1.34
+++ sys/arch/sparc64/dev/ce4231.c       17 Sep 2016 11:28:15 -0000
@@ -139,7 +139,6 @@ int ce4231_round_blocksize(void *, int);
 int    ce4231_commit_settings(void *);
 int    ce4231_halt_output(void *);
 int    ce4231_halt_input(void *);
-int    ce4231_getdev(void *, struct audio_device *);
 int    ce4231_set_port(void *, mixer_ctrl_t *);
 int    ce4231_get_port(void *, mixer_ctrl_t *);
 int    ce4231_query_devinfo(void *addr, mixer_devinfo_t *);
@@ -164,7 +163,6 @@ struct audio_hw_if ce4231_sa_hw_if = {
        ce4231_halt_output,
        ce4231_halt_input,
        0,
-       ce4231_getdev,
        0,
        ce4231_set_port,
        ce4231_get_port,
@@ -185,12 +183,6 @@ struct cfdriver audioce_cd = {
        NULL, "audioce", DV_DULL
 };
 
-struct audio_device ce4231_device = {
-       "SUNW,CS4231",
-       "b",
-       "onboard1",
-};
-
 int
 ce4231_match(parent, vcf, aux)
        struct device *parent;
@@ -618,15 +610,6 @@ ce4231_halt_input(addr)
            C_READ(sc, EBDMA_DCSR) & ~EBDCSR_DMAEN);
        ce4231_write(sc, SP_INTERFACE_CONFIG,
            ce4231_read(sc, SP_INTERFACE_CONFIG) & (~CAPTURE_ENABLE));
-       return (0);
-}
-
-int
-ce4231_getdev(addr, retp)
-       void *addr;
-       struct audio_device *retp;
-{
-       *retp = ce4231_device;
        return (0);
 }
 
Index: sys/dev/audio.c
===================================================================
RCS file: /cvs/src/sys/dev/audio.c,v
retrieving revision 1.152
diff -u -p -u -p -r1.152 audio.c
--- sys/dev/audio.c     14 Sep 2016 06:12:19 -0000      1.152
+++ sys/dev/audio.c     17 Sep 2016 11:28:15 -0000
@@ -1023,7 +1023,6 @@ audio_attach(struct device *parent, stru
            (ops->start_input == 0 && ops->trigger_input == 0) ||
            ops->halt_output == 0 ||
            ops->halt_input == 0 ||
-           ops->getdev == 0 ||
            ops->set_port == 0 ||
            ops->get_port == 0 ||
            ops->query_devinfo == 0 ||
Index: sys/dev/audio_if.h
===================================================================
RCS file: /cvs/src/sys/dev/audio_if.h,v
retrieving revision 1.32
diff -u -p -u -p -r1.32 audio_if.h
--- sys/dev/audio_if.h  14 Sep 2016 06:12:19 -0000      1.32
+++ sys/dev/audio_if.h  17 Sep 2016 11:28:15 -0000
@@ -53,7 +53,6 @@
  * Generic interface to hardware driver.
  */
 
-struct audio_device;
 struct mixer_devinfo;
 struct mixer_ctrl;
 
@@ -113,7 +112,6 @@ struct audio_hw_if {
 #define SPKR_ON                1
 #define SPKR_OFF       0
 
-       int     (*getdev)(void *, struct audio_device *);
        int     (*setfd)(void *, int);
 
        /* Mixer (in/out ports) */
Index: sys/dev/ic/am7930var.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/am7930var.h,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 am7930var.h
--- sys/dev/ic/am7930var.h      14 Sep 2016 06:12:19 -0000      1.4
+++ sys/dev/ic/am7930var.h      17 Sep 2016 11:28:15 -0000
@@ -102,7 +102,6 @@ void        am7930_init(struct am7930_softc *, 
  * audio(9) MI callbacks from upper-level audio layer.
  */
 
-struct audio_device;
 struct audio_params;
 
 int    am7930_open(void *, int);
@@ -113,7 +112,6 @@ int am7930_commit_settings(void *);
 int    am7930_round_blocksize(void *, int);
 int    am7930_halt_output(void *);
 int    am7930_halt_input(void *);
-int    am7930_getdev(void *, struct audio_device *);
 int    am7930_get_props(void *);
 int    am7930_set_port(void *, mixer_ctrl_t *);
 int    am7930_get_port(void *, mixer_ctrl_t *);
Index: sys/dev/ic/arcofi.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/arcofi.c,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 arcofi.c
--- sys/dev/ic/arcofi.c 17 Sep 2016 07:29:04 -0000      1.15
+++ sys/dev/ic/arcofi.c 17 Sep 2016 11:28:16 -0000
@@ -195,7 +195,6 @@ int arcofi_set_param(struct arcofi_softc
 
 void   arcofi_close(void *);
 int    arcofi_commit_settings(void *);
-int    arcofi_getdev(void *, struct audio_device *);
 int    arcofi_get_port(void *, mixer_ctrl_t *);
 int    arcofi_get_props(void *);
 int    arcofi_halt_input(void *);
@@ -545,15 +544,6 @@ arcofi_halt_output(void *v)
        return 0;
 }
 
-int
-arcofi_getdev(void *v, struct audio_device *ad)
-{
-       struct arcofi_softc *sc = (struct arcofi_softc *)v;
-
-       bcopy(&sc->sc_audio_device, ad, sizeof(*ad));
-       return 0;
-}
-
 /*
  * Convert gain table index to AUDIO_MIN_GAIN..AUDIO_MAX_GAIN scale.
  */
@@ -1135,13 +1125,6 @@ arcofi_attach(struct arcofi_softc *sc, c
 
        arcofi_write(sc, ARCOFI_FIFO_IR, 0);
        arcofi_write(sc, ARCOFI_CSR, CSR_INTR_ENABLE);
-
-       strlcpy(sc->sc_audio_device.name, arcofi_cd.cd_name,
-           sizeof(sc->sc_audio_device.name));
-       strlcpy(sc->sc_audio_device.version, version,
-           sizeof(sc->sc_audio_device.version));
-       strlcpy(sc->sc_audio_device.config, sc->sc_dev.dv_xname,
-           sizeof(sc->sc_audio_device.config));
 
        audio_attach_mi(&arcofi_hw_if, sc, &sc->sc_dev);
        return;
Index: sys/dev/ic/arcofivar.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/arcofivar.h,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 arcofivar.h
--- sys/dev/ic/arcofivar.h      25 Dec 2011 00:07:27 -0000      1.2
+++ sys/dev/ic/arcofivar.h      17 Sep 2016 11:28:16 -0000
@@ -24,7 +24,6 @@ struct arcofi_softc {
        bus_space_tag_t         sc_iot;
        bus_space_handle_t      sc_ioh;
 
-       struct audio_device     sc_audio_device;
        void                    *sc_sih;
 
        int                     sc_open;
Index: sys/dev/isa/ess.c
===================================================================
RCS file: /cvs/src/sys/dev/isa/ess.c,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 ess.c
--- sys/dev/isa/ess.c   14 Sep 2016 06:12:19 -0000      1.23
+++ sys/dev/isa/ess.c   17 Sep 2016 11:28:16 -0000
@@ -118,7 +118,6 @@ int ess_setup_sc(struct ess_softc *, int
 int    ess_open(void *, int);
 void   ess_1788_close(void *);
 void   ess_1888_close(void *);
-int    ess_getdev(void *, struct audio_device *);
 
 int    ess_set_params(void *, int, int, struct audio_params *,
            struct audio_params *);
@@ -140,8 +139,6 @@ void        ess_audio2_poll(void *);
 
 int    ess_speaker_ctl(void *, int);
 
-int    ess_getdev(void *, struct audio_device *);
-
 int    ess_set_port(void *, mixer_ctrl_t *);
 int    ess_get_port(void *, mixer_ctrl_t *);
 
@@ -196,12 +193,6 @@ static char *essmodel[] = {
        "1878",
 };
 
-struct audio_device ess_device = {
-       "ESS Technology",
-       "x",
-       "ess"
-};
-
 /*
  * Define our interface to the higher level audio driver.
  */
@@ -219,7 +210,6 @@ struct audio_hw_if ess_1788_hw_if = {
        ess_audio1_halt,
        ess_audio1_halt,
        ess_speaker_ctl,
-       ess_getdev,
        NULL,
        ess_set_port,
        ess_get_port,
@@ -245,7 +235,6 @@ struct audio_hw_if ess_1888_hw_if = {
        ess_audio2_halt,
        ess_audio1_halt,
        ess_speaker_ctl,
-       ess_getdev,
        NULL,
        ess_set_port,
        ess_get_port,
@@ -1076,13 +1065,6 @@ ess_speaker_ctl(void *addr, int newstate
                ess_speaker_off(sc);
                sc->spkr_state = SPKR_OFF;
        }
-       return (0);
-}
-
-int
-ess_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = ess_device;
        return (0);
 }
 
Index: sys/dev/isa/gus.c
===================================================================
RCS file: /cvs/src/sys/dev/isa/gus.c,v
retrieving revision 1.44
diff -u -p -u -p -r1.44 gus.c
--- sys/dev/isa/gus.c   14 Sep 2016 06:12:19 -0000      1.44
+++ sys/dev/isa/gus.c   17 Sep 2016 11:28:19 -0000
@@ -278,7 +278,6 @@ struct audio_hw_if gus_hw_if = {
        gus_halt_in_dma,
        gus_speaker_ctl,
 
-       gus_getdev,
        NULL,
        gus_mixer_set_port,
        gus_mixer_get_port,
@@ -311,7 +310,6 @@ static struct audio_hw_if gusmax_hw_if =
 
        gusmax_speaker_ctl,
 
-       gus_getdev,
        NULL,
        gusmax_mixer_set_port,
        gusmax_mixer_get_port,
@@ -325,16 +323,6 @@ static struct audio_hw_if gusmax_hw_if =
        NULL
 };
 
-/*
- * Some info about the current audio device
- */
-struct audio_device gus_device = {
-       "UltraSound",
-       "",
-       "gus",
-};
-
-
 int
 gusopen(void *addr, int flags)
 {
@@ -2111,18 +2099,6 @@ gus_init_cs4231(struct gus_softc *sc)
        }
 }
 
-
-/*
- * Return info about the audio device, for the AUDIO_GETINFO ioctl
- */
-
-int
-gus_getdev(void *addr, struct audio_device *dev)
-{
-       *dev = gus_device;
-       return 0;
-}
-
 /*
  * stubs (XXX)
  */
@@ -3363,9 +3339,6 @@ gus_subattach(struct gus_softc *sc, stru
         * of the board version. Simply use the revision register as
         * identification.
         */
-       snprintf(gus_device.version, sizeof gus_device.version, "%d",
-           sc->sc_revision);
-
        printf(": ver %d", sc->sc_revision);
        if (sc->sc_revision >= 10)
                printf(", MAX");
Index: sys/dev/isa/gusvar.h
===================================================================
RCS file: /cvs/src/sys/dev/isa/gusvar.h,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 gusvar.h
--- sys/dev/isa/gusvar.h        14 Sep 2016 06:12:19 -0000      1.9
+++ sys/dev/isa/gusvar.h        17 Sep 2016 11:28:19 -0000
@@ -329,7 +329,6 @@ int gusmax_dma_input(void *, void *, int
 int    gusmax_halt_out_dma(void *);
 int    gusmax_halt_in_dma(void *);
 int    gusmax_speaker_ctl(void *, int);
-int    gus_getdev(void *, struct audio_device *);
 
 void   gus_deinterleave(struct gus_softc *, void *, int);
 
@@ -408,7 +407,6 @@ extern const int gus_addrs;
 #define splgus splaudio
 
 extern struct audio_hw_if gus_hw_if;
-extern struct audio_device gus_device;
 
 #define FLIP_REV       5               /* This rev has flipped mixer chans */
 
Index: sys/dev/isa/pas.c
===================================================================
RCS file: /cvs/src/sys/dev/isa/pas.c,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 pas.c
--- sys/dev/isa/pas.c   14 Sep 2016 06:12:19 -0000      1.28
+++ sys/dev/isa/pas.c   17 Sep 2016 11:28:20 -0000
@@ -101,7 +101,6 @@ struct pas_softc {
 
 };
 
-int    pas_getdev(void *, struct audio_device *);
 void   pasconf(int, int, int, int);
 
 
@@ -122,7 +121,6 @@ struct audio_hw_if pas_hw_if = {
        sbdsp_haltdma,
        sbdsp_haltdma,
        sbdsp_speaker_ctl,
-       pas_getdev,
        0,
        sbdsp_mixer_set_port,
        sbdsp_mixer_get_port,
@@ -146,12 +144,6 @@ static char *pasnames[] = {
        "16Basic"
 };
 
-static struct audio_device pas_device = {
-       "PAS,??",
-       "",
-       "pas"
-};
-
 /*XXX assume default I/O base address */
 #define pasread(p) inb(p)
 #define paswrite(d, p) outb(p, d)
@@ -420,13 +412,4 @@ pasattach(parent, self, aux)
            sc->rev);
 
        audio_attach_mi(&pas_hw_if, &sc->sc_sbdsp, &sc->sc_sbdsp.sc_dev);
-}
-
-int
-pas_getdev(addr, retp)
-       void *addr;
-       struct audio_device *retp;
-{
-       *retp = pas_device;
-       return 0;
 }
Index: sys/dev/isa/sb.c
===================================================================
RCS file: /cvs/src/sys/dev/isa/sb.c,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 sb.c
--- sys/dev/isa/sb.c    14 Sep 2016 06:12:19 -0000      1.28
+++ sys/dev/isa/sb.c    17 Sep 2016 11:28:20 -0000
@@ -89,14 +89,6 @@ struct midi_hw_if sb_mpu401_hw_if = {
 };
 #endif
 
-struct audio_device sb_device = {
-       "SoundBlaster",
-       "x",
-       "sb"
-};
-
-int    sb_getdev(void *, struct audio_device *);
-
 /*
  * Define our interface to the higher level audio driver.
  */
@@ -114,7 +106,6 @@ struct audio_hw_if sb_hw_if = {
        sbdsp_haltdma,
        sbdsp_haltdma,
        sbdsp_speaker_ctl,
-       sb_getdev,
        0,
        sbdsp_mixer_set_port,
        sbdsp_mixer_get_port,
@@ -286,31 +277,6 @@ sbattach(sc)
 /*
  * Various routines to interface to higher level audio driver
  */
-
-int
-sb_getdev(addr, retp)
-       void *addr;
-       struct audio_device *retp;
-{
-       struct sbdsp_softc *sc = addr;
-       static char *names[] = SB_NAMES;
-       char *config;
-
-       if (sc->sc_model == SB_JAZZ)
-               strlcpy(retp->name, "MV Jazz16", sizeof retp->name);
-       else
-               strlcpy(retp->name, "SoundBlaster", sizeof retp->name);
-       snprintf(retp->version, sizeof retp->version, "%d.%02d", 
-                SBVER_MAJOR(sc->sc_version),
-                SBVER_MINOR(sc->sc_version));
-       if (0 <= sc->sc_model && sc->sc_model < sizeof names / sizeof names[0])
-               config = names[sc->sc_model];
-       else
-               config = "??";
-       strlcpy(retp->config, config, sizeof retp->config);
-               
-       return 0;
-}
 
 #if NMIDI > 0
 
Index: sys/dev/pci/auacer.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/auacer.c,v
retrieving revision 1.19
diff -u -p -u -p -r1.19 auacer.c
--- sys/dev/pci/auacer.c        14 Sep 2016 06:12:19 -0000      1.19
+++ sys/dev/pci/auacer.c        17 Sep 2016 11:28:21 -0000
@@ -91,8 +91,6 @@ struct auacer_softc {
        struct device sc_dev;
        void *sc_ih;
 
-       audio_device_t sc_audev;
-
        bus_space_tag_t iot;
        bus_space_handle_t mix_ioh;
        bus_space_handle_t aud_ioh;
@@ -158,7 +156,6 @@ int auacer_set_params(void *, int, int, 
 int    auacer_round_blocksize(void *, int);
 int    auacer_halt_output(void *);
 int    auacer_halt_input(void *);
-int    auacer_getdev(void *, struct audio_device *);
 int    auacer_set_port(void *, mixer_ctrl_t *);
 int    auacer_get_port(void *, mixer_ctrl_t *);
 int    auacer_query_devinfo(void *, mixer_devinfo_t *);
@@ -195,7 +192,6 @@ struct audio_hw_if auacer_hw_if = {
        auacer_halt_output,
        auacer_halt_input,
        NULL,                   /* speaker_ctl */
-       auacer_getdev,
        NULL,                   /* getfd */
        auacer_set_port,
        auacer_get_port,
@@ -258,11 +254,6 @@ auacer_attach(struct device *parent, str
                return;
        }
 
-       strlcpy(sc->sc_audev.name, "M5455 AC97", MAX_AUDIO_DEV_LEN);
-       snprintf(sc->sc_audev.version, MAX_AUDIO_DEV_LEN,
-                "0x%02x", PCI_REVISION(pa->pa_class));
-       strlcpy(sc->sc_audev.config, sc->sc_dev.dv_xname, MAX_AUDIO_DEV_LEN);
-
        printf(": %s\n", intrstr);
 
        /* Set up DMA lists. */
@@ -566,16 +557,6 @@ int
 auacer_halt_input(void *v)
 {
        DPRINTF(ALI_DEBUG_DMA, ("auacer_halt_input\n"));
-       return (0);
-}
-
-int
-auacer_getdev(void *v, struct audio_device *adp)
-{
-       struct auacer_softc *sc = v;
-
-       DPRINTF(ALI_DEBUG_API, ("auacer_getdev\n"));
-       *adp = sc->sc_audev;
        return (0);
 }
 
Index: sys/dev/pci/auglx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/auglx.c,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 auglx.c
--- sys/dev/pci/auglx.c 14 Sep 2016 06:12:19 -0000      1.14
+++ sys/dev/pci/auglx.c 17 Sep 2016 11:28:21 -0000
@@ -166,8 +166,6 @@ struct auglx_softc {
        struct device            sc_dev;
        void                    *sc_ih;
 
-       audio_device_t           sc_audev;
-
        bus_space_tag_t          sc_iot;
        bus_space_handle_t       sc_ioh;
        bus_dma_tag_t            sc_dmat;
@@ -219,7 +217,6 @@ int auglx_set_params(void *, int, int, s
 int auglx_round_blocksize(void *, int);
 int auglx_halt_output(void *);
 int auglx_halt_input(void *);
-int auglx_getdev(void *, struct audio_device *);
 int auglx_set_port(void *, mixer_ctrl_t *);
 int auglx_get_port(void *, mixer_ctrl_t *);
 int auglx_query_devinfo(void *, mixer_devinfo_t *);
@@ -250,7 +247,6 @@ struct audio_hw_if auglx_hw_if = {
        auglx_halt_output,
        auglx_halt_input,
        NULL,                   /* speaker_ctl */
-       auglx_getdev,
        NULL,                   /* getfd */
        auglx_set_port,
        auglx_get_port,
@@ -325,13 +321,7 @@ auglx_attach(struct device *parent, stru
                return;
        }
 
-       strlcpy(sc->sc_audev.name, "CS5536 AC97", sizeof sc->sc_audev.name);
-       snprintf(sc->sc_audev.version, sizeof sc->sc_audev.version, "0x%02x",
-                PCI_REVISION(pa->pa_class));
-       strlcpy(sc->sc_audev.config, sc->sc_dev.dv_xname,
-               sizeof sc->sc_audev.config);
-
-       printf(": %s, %s\n", intrstr, sc->sc_audev.name);
+       printf(": %s, %s\n", intrstr, "CS5536 AC97");
 
        sc->host_if.arg = sc;
        sc->host_if.attach = auglx_attach_codec;
@@ -549,14 +539,6 @@ auglx_halt_input(void *v)
 
        bus_space_write_1(sc->sc_iot, sc->sc_ioh, ACC_BM1_CMD, 0x00);
        sc->bm1.intr = NULL;
-       return 0;
-}
-
-int
-auglx_getdev(void *v, struct audio_device *adp)
-{
-       struct auglx_softc *sc = v;
-       *adp = sc->sc_audev;
        return 0;
 }
 
Index: sys/dev/pci/auich.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/auich.c,v
retrieving revision 1.105
diff -u -p -u -p -r1.105 auich.c
--- sys/dev/pci/auich.c 14 Sep 2016 06:12:19 -0000      1.105
+++ sys/dev/pci/auich.c 17 Sep 2016 11:28:22 -0000
@@ -170,8 +170,6 @@ struct auich_softc {
        struct device sc_dev;
        void *sc_ih;
 
-       audio_device_t sc_audev;
-
        pcireg_t pci_id;
        bus_space_tag_t iot;
        bus_space_tag_t iot_mix;
@@ -298,7 +296,6 @@ int auich_round_blocksize(void *, int);
 void auich_halt_pipe(struct auich_softc *, int, struct auich_ring *);
 int auich_halt_output(void *);
 int auich_halt_input(void *);
-int auich_getdev(void *, struct audio_device *);
 int auich_set_port(void *, mixer_ctrl_t *);
 int auich_get_port(void *, mixer_ctrl_t *);
 int auich_query_devinfo(void *, mixer_devinfo_t *);
@@ -331,7 +328,6 @@ struct audio_hw_if auich_hw_if = {
        auich_halt_output,
        auich_halt_input,
        NULL,                   /* speaker_ctl */
-       auich_getdev,
        NULL,                   /* getfd */
        auich_set_port,
        auich_get_port,
@@ -451,14 +447,7 @@ auich_attach(struct device *parent, stru
                if (PCI_PRODUCT(pa->pa_id) == auich_devices[i].product)
                        break;
 
-       snprintf(sc->sc_audev.name, sizeof sc->sc_audev.name, "%s AC97",
-                auich_devices[i].name);
-       snprintf(sc->sc_audev.version, sizeof sc->sc_audev.version, "0x%02x",
-                PCI_REVISION(pa->pa_class));
-       strlcpy(sc->sc_audev.config, sc->sc_dev.dv_xname,
-               sizeof sc->sc_audev.config);
-
-       printf(": %s, %s\n", intrstr, sc->sc_audev.name);
+       printf(": %s, %s\n", intrstr, auich_devices[i].name);
 
        /* SiS 7012 needs special handling */
        if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_SIS &&
@@ -851,14 +840,6 @@ auich_halt_input(void *v)
 
        sc->pcmi.intr = NULL;
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-auich_getdev(void *v, struct audio_device *adp)
-{
-       struct auich_softc *sc = v;
-       *adp = sc->sc_audev;
        return 0;
 }
 
Index: sys/dev/pci/auixp.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/auixp.c,v
retrieving revision 1.37
diff -u -p -u -p -r1.37 auixp.c
--- sys/dev/pci/auixp.c 14 Sep 2016 06:12:19 -0000      1.37
+++ sys/dev/pci/auixp.c 17 Sep 2016 11:28:22 -0000
@@ -125,7 +125,6 @@ int auixp_get_port(void *, mixer_ctrl_t 
 int    auixp_query_devinfo(void *, mixer_devinfo_t *);
 void * auixp_malloc(void *, int, size_t, int, int);
 void   auixp_free(void *, void *, int);
-int    auixp_getdev(void *, struct audio_device *);
 size_t auixp_round_buffersize(void *, int, size_t);
 int    auixp_get_props(void *);
 int    auixp_intr(void *);
@@ -177,7 +176,6 @@ struct audio_hw_if auixp_hw_if = {
        auixp_halt_output,
        auixp_halt_input,
        NULL,                   /* speaker_ctl */
-       auixp_getdev,
        NULL,                   /* getfd */
        auixp_set_port,
        auixp_get_port,
@@ -425,14 +423,6 @@ auixp_free(void *hdl, void *addr, int po
        }
 }
 
-int
-auixp_getdev(void *v, struct audio_device *adp)
-{
-       struct auixp_softc *sc = v;
-       *adp = sc->sc_audev;
-       return 0;
-}
-
 /* pass request to AC'97 codec code */
 int
 auixp_set_port(void *hdl, mixer_ctrl_t *mc)
@@ -1030,12 +1020,6 @@ auixp_attach(struct device *parent, stru
                return;
        }
        printf(": %s\n", intrstr);
-
-       strlcpy(sc->sc_audev.name, "ATI IXP AC97", sizeof sc->sc_audev.name);
-       snprintf(sc->sc_audev.version, sizeof sc->sc_audev.version, "0x%02x",
-           PCI_REVISION(pa->pa_class));
-       strlcpy(sc->sc_audev.config, sc->sc_dev.dv_xname,
-           sizeof sc->sc_audev.config);
 
        /* power up chip */
        pci_set_powerstate(pc, tag, PCI_PMCSR_STATE_D0);
Index: sys/dev/pci/auixpvar.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/auixpvar.h,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 auixpvar.h
--- sys/dev/pci/auixpvar.h      21 Sep 2010 02:09:15 -0000      1.3
+++ sys/dev/pci/auixpvar.h      17 Sep 2016 11:28:22 -0000
@@ -82,7 +82,6 @@ struct auixp_codec {
 
 struct auixp_softc {
        struct device           sc_dev;
-       audio_device_t          sc_audev;
        void                    *sc_ih;
 
        /* card properties */
Index: sys/dev/pci/autri.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/autri.c,v
retrieving revision 1.40
diff -u -p -u -p -r1.40 autri.c
--- sys/dev/pci/autri.c 14 Sep 2016 06:12:19 -0000      1.40
+++ sys/dev/pci/autri.c 17 Sep 2016 11:28:23 -0000
@@ -130,7 +130,6 @@ int autri_trigger_input(void *, void *, 
            void *, struct audio_params *);
 int    autri_halt_output(void *);
 int    autri_halt_input(void *);
-int    autri_getdev(void *, struct audio_device *);
 int    autri_mixer_set_port(void *, mixer_ctrl_t *);
 int    autri_mixer_get_port(void *, mixer_ctrl_t *);
 void   *autri_malloc(void *, int, size_t, int, int);
@@ -153,7 +152,6 @@ struct audio_hw_if autri_hw_if = {
        autri_halt_output,
        autri_halt_input,
        NULL,                   /* speaker_ctl */
-       autri_getdev,
        NULL,                   /* setfd */
        autri_mixer_set_port,
        autri_mixer_get_port,
@@ -950,37 +948,6 @@ autri_halt_input(void *addr)
        autri_stopch(sc, sc->sc_rec.ch, sc->sc_rec.ch_intr);
        autri_disable_interrupt(sc, sc->sc_rec.ch_intr);
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-autri_getdev(void *addr, struct audio_device *retp)
-{
-       struct autri_softc *sc = addr;
-
-       DPRINTF(("autri_getdev().\n"));
-
-       strncpy(retp->name, "Trident 4DWAVE", sizeof(retp->name));
-       snprintf(retp->version, sizeof(retp->version), "0x%02x",
-           PCI_REVISION(sc->sc_class));
-
-       switch (sc->sc_devid) {
-       case AUTRI_DEVICE_ID_4DWAVE_DX:
-               strncpy(retp->config, "4DWAVE-DX", sizeof(retp->config));
-               break;
-       case AUTRI_DEVICE_ID_4DWAVE_NX:
-               strncpy(retp->config, "4DWAVE-NX", sizeof(retp->config));
-               break;
-       case AUTRI_DEVICE_ID_SIS_7018:
-               strncpy(retp->config, "SiS 7018", sizeof(retp->config));
-               break;
-       case AUTRI_DEVICE_ID_ALI_M5451:
-               strncpy(retp->config, "ALi M5451", sizeof(retp->config));
-               break;
-       default:
-               strncpy(retp->config, "unknown", sizeof(retp->config));
-       }
-
        return 0;
 }
 
Index: sys/dev/pci/auvia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/auvia.c,v
retrieving revision 1.56
diff -u -p -u -p -r1.56 auvia.c
--- sys/dev/pci/auvia.c 14 Sep 2016 06:12:19 -0000      1.56
+++ sys/dev/pci/auvia.c 17 Sep 2016 11:28:23 -0000
@@ -81,7 +81,6 @@ int   auvia_set_params(void *, int, int, s
 int    auvia_round_blocksize(void *, int);
 int    auvia_halt_output(void *);
 int    auvia_halt_input(void *);
-int    auvia_getdev(void *, struct audio_device *);
 int    auvia_set_port(void *, mixer_ctrl_t *);
 int    auvia_get_port(void *, mixer_ctrl_t *);
 int    auvia_query_devinfo(void *, mixer_devinfo_t *);
@@ -192,7 +191,6 @@ struct audio_hw_if auvia_hw_if = {
        auvia_halt_output,
        auvia_halt_input,
        NULL, /* speaker_ctl */
-       auvia_getdev,
        NULL, /* setfd */
        auvia_set_port,
        auvia_get_port,
@@ -689,23 +687,6 @@ auvia_halt_input(void *addr)
 
        CH_WRITE1(sc, ch, AUVIA_RP_CONTROL, AUVIA_RPCTRL_TERMINATE);
        ch->sc_intr = NULL;
-       return 0;
-}
-
-
-int
-auvia_getdev(void *addr, struct audio_device *retp)
-{
-       struct auvia_softc *sc = addr;
-
-       if (retp) {
-               strncpy(retp->name,
-                   sc->sc_flags & AUVIA_FLAGS_VT8233? "VIA VT8233" :
-                   "VIA VT82C686A", sizeof(retp->name));
-               strncpy(retp->version, sc->sc_revision, sizeof(retp->version));
-               strncpy(retp->config, "auvia", sizeof(retp->config));
-       }
-
        return 0;
 }
 
Index: sys/dev/pci/azalia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia.c,v
retrieving revision 1.228
diff -u -p -u -p -r1.228 azalia.c
--- sys/dev/pci/azalia.c        14 Sep 2016 06:12:19 -0000      1.228
+++ sys/dev/pci/azalia.c        17 Sep 2016 11:28:25 -0000
@@ -254,7 +254,6 @@ int azalia_set_params(void *, int, int, 
 int    azalia_round_blocksize(void *, int);
 int    azalia_halt_output(void *);
 int    azalia_halt_input(void *);
-int    azalia_getdev(void *, struct audio_device *);
 int    azalia_set_port(void *, mixer_ctrl_t *);
 int    azalia_get_port(void *, mixer_ctrl_t *);
 int    azalia_query_devinfo(void *, mixer_devinfo_t *);
@@ -302,7 +301,6 @@ struct audio_hw_if azalia_hw_if = {
        azalia_halt_output,
        azalia_halt_input,
        NULL,                   /* speaker_ctl */
-       azalia_getdev,
        NULL,                   /* setfd */
        azalia_set_port,
        azalia_get_port,
@@ -4035,19 +4033,6 @@ azalia_halt_input(void *v)
        DPRINTFN(1, ("%s\n", __func__));
        az = v;
        return azalia_stream_halt(&az->rstream);
-}
-
-int
-azalia_getdev(void *v, struct audio_device *dev)
-{
-       azalia_t *az;
-
-       az = v;
-       strlcpy(dev->name, "HD-Audio", MAX_AUDIO_DEV_LEN);
-       snprintf(dev->version, MAX_AUDIO_DEV_LEN,
-           "%d.%d", AZ_READ_1(az, VMAJ), AZ_READ_1(az, VMIN));
-       strlcpy(dev->config, XNAME(az), MAX_AUDIO_DEV_LEN);
-       return 0;
 }
 
 int
Index: sys/dev/pci/cmpci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/cmpci.c,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 cmpci.c
--- sys/dev/pci/cmpci.c 14 Sep 2016 06:12:19 -0000      1.41
+++ sys/dev/pci/cmpci.c 17 Sep 2016 11:28:26 -0000
@@ -135,7 +135,6 @@ int cmpci_set_params(void *, int, int,
 int cmpci_round_blocksize(void *, int);
 int cmpci_halt_output(void *);
 int cmpci_halt_input(void *);
-int cmpci_getdev(void *, struct audio_device *);
 int cmpci_set_port(void *, mixer_ctrl_t *);
 int cmpci_get_port(void *, mixer_ctrl_t *);
 int cmpci_query_devinfo(void *, mixer_devinfo_t *);
@@ -163,7 +162,6 @@ struct audio_hw_if cmpci_hw_if = {
        cmpci_halt_output,      /* halt_output */
        cmpci_halt_input,       /* halt_input */
        NULL,                   /* speaker_ctl */
-       cmpci_getdev,           /* getdev */
        NULL,                   /* setfd */
        cmpci_set_port,         /* set_port */
        cmpci_get_port,         /* get_port */
@@ -871,35 +869,6 @@ cmpci_halt_input(void *handle)
        delay(10);
        cmpci_reg_clear_4(sc, CMPCI_REG_FUNC_0, CMPCI_REG_CH1_RESET);
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-/* get audio device information */
-int
-cmpci_getdev(void *handle, struct audio_device *ad)
-{
-       struct cmpci_softc *sc = handle;
-
-       strncpy(ad->name, "CMI PCI Audio", sizeof(ad->name));
-       snprintf(ad->version, sizeof(ad->version), "0x%02x (%d)",
-                PCI_REVISION(sc->sc_class), sc->sc_version);
-       switch (PCI_PRODUCT(sc->sc_id)) {
-       case PCI_PRODUCT_CMI_CMI8338A:
-               strncpy(ad->config, "CMI8338A", sizeof(ad->config));
-               break;
-       case PCI_PRODUCT_CMI_CMI8338B:
-               strncpy(ad->config, "CMI8338B", sizeof(ad->config));
-               break;
-       case PCI_PRODUCT_CMI_CMI8738:
-               strncpy(ad->config, "CMI8738", sizeof(ad->config));
-               break;
-       case PCI_PRODUCT_CMI_CMI8738B:
-               strncpy(ad->config, "CMI8738B", sizeof(ad->config));
-               break;
-       default:
-               strncpy(ad->config, "unknown", sizeof(ad->config));
-       }
-
        return 0;
 }
 
Index: sys/dev/pci/cs4280.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/cs4280.c,v
retrieving revision 1.49
diff -u -p -u -p -r1.49 cs4280.c
--- sys/dev/pci/cs4280.c        14 Sep 2016 06:12:19 -0000      1.49
+++ sys/dev/pci/cs4280.c        17 Sep 2016 11:28:26 -0000
@@ -201,8 +201,6 @@ int cs4280_round_blocksize(void *, int);
 int    cs4280_halt_output(void *);
 int    cs4280_halt_input(void *);
 
-int    cs4280_getdev(void *, struct audio_device *);
-
 int    cs4280_mixer_set_port(void *, mixer_ctrl_t *);
 int    cs4280_mixer_get_port(void *, mixer_ctrl_t *);
 int    cs4280_query_devinfo(void *addr, mixer_devinfo_t *dip);
@@ -249,7 +247,6 @@ struct audio_hw_if cs4280_hw_if = {
        cs4280_halt_output,
        cs4280_halt_input,
        NULL,
-       cs4280_getdev,
        NULL,
        cs4280_mixer_set_port,
        cs4280_mixer_get_port,
@@ -274,13 +271,6 @@ struct midi_hw_if cs4280_midi_hw_if = {
 #endif
 
        
-
-struct audio_device cs4280_device = {
-       "CS4280",
-       "",
-       "cs4280"
-};
-
 const struct pci_matchid cs4280_devices[] = {
        { PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_CS4280 },
        { PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_CS4610 },
@@ -1146,13 +1136,6 @@ cs4280_halt_input(void *addr)
        sc->sc_rrun = 0;
 #endif
        mtx_leave(&audio_lock);
-       return (0);
-}
-
-int
-cs4280_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = cs4280_device;
        return (0);
 }
 
Index: sys/dev/pci/cs4281.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/cs4281.c,v
retrieving revision 1.35
diff -u -p -u -p -r1.35 cs4281.c
--- sys/dev/pci/cs4281.c        14 Sep 2016 06:12:19 -0000      1.35
+++ sys/dev/pci/cs4281.c        17 Sep 2016 11:28:27 -0000
@@ -154,7 +154,6 @@ int cs4281_set_params(void *, int, int, 
                                     struct audio_params *);
 int cs4281_halt_output(void *);
 int cs4281_halt_input(void *);
-int cs4281_getdev(void *, struct audio_device *);
 int cs4281_trigger_output(void *, void *, void *, int, void (*)(void *),
                          void *, struct audio_params *);
 int cs4281_trigger_input(void *, void *, void *, int, void (*)(void *),
@@ -208,7 +207,6 @@ struct audio_hw_if cs4281_hw_if = {
        cs4281_halt_output,
        cs4281_halt_input,
        NULL,
-       cs4281_getdev,
        NULL,
        cs4281_mixer_set_port,
        cs4281_mixer_get_port,
@@ -247,13 +245,6 @@ struct cfdriver clct_cd = {
        NULL, "clct", DV_DULL
 };
 
-struct audio_device cs4281_device = {
-       "CS4281",
-       "",
-       "cs4281"
-};
-
-
 int
 cs4281_match(parent, match, aux)
        struct device *parent;
@@ -484,17 +475,6 @@ cs4281_halt_input(addr)
 #endif
        return (0);
 }
-
-/* trivial */
-int
-cs4281_getdev(addr, retp)
-     void *addr;
-     struct audio_device *retp;
-{
-       *retp = cs4281_device;
-       return (0);
-}
-
 
 int
 cs4281_trigger_output(addr, start, end, blksize, intr, arg, param)
Index: sys/dev/pci/eap.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/eap.c,v
retrieving revision 1.52
diff -u -p -u -p -r1.52 eap.c
--- sys/dev/pci/eap.c   14 Sep 2016 06:12:19 -0000      1.52
+++ sys/dev/pci/eap.c   17 Sep 2016 11:28:28 -0000
@@ -169,7 +169,6 @@ int eap_halt_output(void *);
 int    eap_halt_input(void *);
 int    eap_resume(struct eap_softc *);
 void    eap1370_write_codec(struct eap_softc *, int, int);
-int    eap_getdev(void *, struct audio_device *);
 int    eap1370_mixer_set_port(void *, mixer_ctrl_t *);
 int    eap1370_mixer_get_port(void *, mixer_ctrl_t *);
 int    eap1371_mixer_set_port(void *, mixer_ctrl_t *);
@@ -208,7 +207,6 @@ struct audio_hw_if eap1370_hw_if = {
        eap_halt_output,
        eap_halt_input,
        NULL,
-       eap_getdev,
        NULL,
        eap1370_mixer_set_port,
        eap1370_mixer_get_port,
@@ -234,7 +232,6 @@ struct audio_hw_if eap1371_hw_if = {
        eap_halt_output,
        eap_halt_input,
        NULL,
-       eap_getdev,
        NULL,
        eap1371_mixer_set_port,
        eap1371_mixer_get_port,
@@ -258,12 +255,6 @@ struct midi_hw_if eap_midi_hw_if = {
 };
 #endif
 
-struct audio_device eap_device = {
-       "Ensoniq AudioPCI",
-       "",
-       "eap"
-};
-
 const struct pci_matchid eap_devices[] = {
        { PCI_VENDOR_CREATIVELABS, PCI_PRODUCT_CREATIVELABS_EV1938 },
        { PCI_VENDOR_ENSONIQ, PCI_PRODUCT_ENSONIQ_AUDIOPCI },
@@ -1111,13 +1102,6 @@ eap_halt_input(void *addr)
        sc->sc_rrun = 0;
 #endif
        mtx_leave(&audio_lock);
-       return (0);
-}
-
-int
-eap_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = eap_device;
        return (0);
 }
 
Index: sys/dev/pci/emuxki.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/emuxki.c,v
retrieving revision 1.50
diff -u -p -u -p -r1.50 emuxki.c
--- sys/dev/pci/emuxki.c        14 Sep 2016 06:12:19 -0000      1.50
+++ sys/dev/pci/emuxki.c        17 Sep 2016 11:28:29 -0000
@@ -172,7 +172,6 @@ int emuxki_trigger_input(void *, void *,
 int    emuxki_halt_output(void *);
 int    emuxki_halt_input(void *);
 
-int    emuxki_getdev(void *, struct audio_device *);
 int    emuxki_set_port(void *, mixer_ctrl_t *);
 int    emuxki_get_port(void *, mixer_ctrl_t *);
 int    emuxki_query_devinfo(void *, mixer_devinfo_t *);
@@ -226,7 +225,6 @@ struct audio_hw_if emuxki_hw_if = {
        emuxki_halt_output,
        emuxki_halt_input,
        NULL,                   /* speaker_ctl */
-       emuxki_getdev,
        NULL,                   /* setfd */
        emuxki_set_port,
        emuxki_get_port,
@@ -460,29 +458,19 @@ emuxki_attach(struct device *parent, str
                 if (PCI_REVISION(pa->pa_class) == 0x04 ||
                    PCI_REVISION(pa->pa_class) == 0x08) {
                        sc->sc_flags |= EMUXKI_AUDIGY2;
-                       strlcpy(sc->sc_audv.name, "Audigy2", sizeof 
sc->sc_audv.name);
-               } else {
-                       strlcpy(sc->sc_audv.name, "Audigy", sizeof 
sc->sc_audv.name);
                }
        } else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_CREATIVELABS_AUDIGY2) {
                sc->sc_flags |= EMUXKI_AUDIGY | EMUXKI_AUDIGY2;
                if (pci_conf_read(pa->pa_pc, pa->pa_tag,
                    PCI_SUBSYS_ID_REG) == 0x10011102) {
                        sc->sc_flags |= EMUXKI_CA0108;
-                       strlcpy(sc->sc_audv.name, "Audigy2Value", sizeof 
sc->sc_audv.name);
-               } else
-                       strlcpy(sc->sc_audv.name, "Audigy2", sizeof 
sc->sc_audv.name);
+               }
        } else if (pci_conf_read(pa->pa_pc, pa->pa_tag,
            PCI_SUBSYS_ID_REG) == EMU_SUBSYS_APS) {
                sc->sc_flags |= EMUXKI_APS;
-               strlcpy(sc->sc_audv.name, "E-mu APS", sizeof sc->sc_audv.name);
        } else {
                sc->sc_flags |= EMUXKI_SBLIVE;
-               strlcpy(sc->sc_audv.name, "SB Live!", sizeof sc->sc_audv.name);
        }
-       snprintf(sc->sc_audv.version, sizeof sc->sc_audv.version, "0x%02x",
-                PCI_REVISION(pa->pa_class));
-       strlcpy(sc->sc_audv.config, "emuxki", sizeof sc->sc_audv.config);
 
        if (emuxki_scinit(sc, 0) ||
            /* APS has no ac97 XXX */
@@ -2167,14 +2155,6 @@ emuxki_halt_input(void *addr)
                return (ENXIO);
        emuxki_voice_halt(sc->rvoice);
        return (0);
-}
-
-int
-emuxki_getdev(void *v, struct audio_device *adp)
-{
-       struct emuxki_softc *sc = v;
-       *adp = sc->sc_audv;
-       return 0;
 }
 
 int
Index: sys/dev/pci/emuxkivar.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/emuxkivar.h,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 emuxkivar.h
--- sys/dev/pci/emuxkivar.h     9 Dec 2008 12:30:12 -0000       1.10
+++ sys/dev/pci/emuxkivar.h     17 Sep 2016 11:28:29 -0000
@@ -219,7 +219,6 @@ struct emuxki_stream {
 
 struct emuxki_softc {
        struct device   sc_dev;
-       struct audio_device sc_audv;
 
        /* Autoconfig parameters */
        bus_space_tag_t         sc_iot;
Index: sys/dev/pci/envy.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/envy.c,v
retrieving revision 1.67
diff -u -p -u -p -r1.67 envy.c
--- sys/dev/pci/envy.c  14 Sep 2016 06:12:19 -0000      1.67
+++ sys/dev/pci/envy.c  17 Sep 2016 11:28:30 -0000
@@ -108,7 +108,6 @@ int envy_trigger_input(void *, void *, v
     void (*)(void *), void *, struct audio_params *);
 int envy_halt_output(void *);
 int envy_halt_input(void *);
-int envy_getdev(void *, struct audio_device *);
 int envy_query_devinfo(void *, struct mixer_devinfo *);
 int envy_get_port(void *, struct mixer_ctrl *);
 int envy_set_port(void *, struct mixer_ctrl *);
@@ -189,7 +188,6 @@ struct audio_hw_if envy_hw_if = {
        envy_halt_output,       /* halt_output */
        envy_halt_input,        /* halt_input */
        NULL,                   /* speaker_ctl */
-       envy_getdev,            /* getdev */
        NULL,                   /* setfd */
        envy_set_port,          /* set_port */
        envy_get_port,          /* get_port */
@@ -2165,17 +2163,6 @@ envy_halt_input(void *self)
                envy_pintr(sc);
 #endif
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-envy_getdev(void *self, struct audio_device *dev)
-{
-       struct envy_softc *sc = (struct envy_softc *)self;
-
-       strlcpy(dev->name, sc->isht ? "Envy24HT" : "Envy24", MAX_AUDIO_DEV_LEN);
-       strlcpy(dev->version, "-", MAX_AUDIO_DEV_LEN);
-       strlcpy(dev->config, sc->card->name, MAX_AUDIO_DEV_LEN);
        return 0;
 }
 
Index: sys/dev/pci/esa.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/esa.c,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 esa.c
--- sys/dev/pci/esa.c   14 Sep 2016 06:12:19 -0000      1.30
+++ sys/dev/pci/esa.c   17 Sep 2016 11:28:30 -0000
@@ -91,12 +91,6 @@ static struct esa_card_type {
        { 0, 0, 0, 0, 0 }
 };
 
-struct audio_device esa_device = {
-       "ESS Allegro",
-       "",
-       "esa"
-};
-
 int            esa_match(struct device *, void *, void *);
 void           esa_attach(struct device *, struct device *, void *);
 int            esa_detach(struct device *, int);
@@ -116,7 +110,6 @@ int         esa_get_port(void *, mixer_ctrl_t *
 int            esa_query_devinfo(void *, mixer_devinfo_t *);
 void *         esa_malloc(void *, int, size_t, int, int);
 void           esa_free(void *, void *, int);
-int            esa_getdev(void *, struct audio_device *);
 size_t         esa_round_buffersize(void *, int, size_t);
 int            esa_get_props(void *);
 int            esa_trigger_output(void *, void *, void *, int,
@@ -172,7 +165,6 @@ struct audio_hw_if esa_hw_if = {
        esa_halt_output,
        esa_halt_input,
        NULL,                   /* speaker_ctl */
-       esa_getdev,
        NULL,                   /* getfd */
        esa_set_port,
        esa_get_port,
@@ -462,15 +454,6 @@ esa_free(void *hdl, void *addr, int type
                        free(p, type, 0);
                        return;
                }
-}
-
-int
-esa_getdev(void *hdl, struct audio_device *ret)
-{
-
-       *ret = esa_device;
-
-       return (0);
 }
 
 int
Index: sys/dev/pci/eso.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/eso.c,v
retrieving revision 1.42
diff -u -p -u -p -r1.42 eso.c
--- sys/dev/pci/eso.c   14 Sep 2016 06:12:19 -0000      1.42
+++ sys/dev/pci/eso.c   17 Sep 2016 11:28:31 -0000
@@ -110,7 +110,6 @@ int eso_set_params(void *, int, int, str
 int    eso_round_blocksize(void *, int);
 int    eso_halt_output(void *);
 int    eso_halt_input(void *);
-int    eso_getdev(void *, struct audio_device *);
 int    eso_set_port(void *, mixer_ctrl_t *);
 int    eso_get_port(void *, mixer_ctrl_t *);
 int    eso_query_devinfo(void *, mixer_devinfo_t *);
@@ -137,7 +136,6 @@ struct audio_hw_if eso_hw_if = {
        eso_halt_output,
        eso_halt_input,
        NULL,                   /* speaker_ctl */
-       eso_getdev,
        NULL,                   /* setfd */
        eso_set_port,
        eso_get_port,
@@ -799,24 +797,6 @@ eso_halt_input(void *hdl)
            ESO_DMAC_MASK_MASK);
 
        return (error == EWOULDBLOCK ? 0 : error);
-}
-
-int
-eso_getdev(void *hdl, struct audio_device *retp)
-{
-       struct eso_softc *sc = hdl;
-
-       strlcpy(retp->name, "ESS Solo-1", sizeof retp->name);
-       snprintf(retp->version, sizeof retp->version, "0x%02x",
-           sc->sc_revision);
-       if (sc->sc_revision <
-           sizeof (eso_rev2model) / sizeof (eso_rev2model[0]))
-               strlcpy(retp->config, eso_rev2model[sc->sc_revision],
-                   sizeof retp->config);
-       else
-               strlcpy(retp->config, "unknown", sizeof retp->config);
-
-       return (0);
 }
 
 int
Index: sys/dev/pci/fms.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/fms.c,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 fms.c
--- sys/dev/pci/fms.c   14 Sep 2016 06:12:19 -0000      1.28
+++ sys/dev/pci/fms.c   17 Sep 2016 11:28:32 -0000
@@ -80,7 +80,6 @@ int   fms_set_params(void *, int, int, str
 int    fms_round_blocksize(void *, int);
 int    fms_halt_output(void *);
 int    fms_halt_input(void *);
-int    fms_getdev(void *, struct audio_device *);
 int    fms_set_port(void *, mixer_ctrl_t *);
 int    fms_get_port(void *, mixer_ctrl_t *);
 int    fms_query_devinfo(void *, mixer_devinfo_t *);
@@ -100,13 +99,6 @@ struct cfattach fms_ca = {
        sizeof (struct fms_softc), fms_match, fms_attach
 };
 
-struct audio_device fms_device = {
-       "Forte Media 801",
-       "1.0",
-       "fms"
-};
-
-
 struct audio_hw_if fms_hw_if = {
        fms_open,
        fms_close,
@@ -120,7 +112,6 @@ struct audio_hw_if fms_hw_if = {
        fms_halt_output,
        fms_halt_input,
        NULL,
-       fms_getdev,
        NULL,
        fms_set_port,
        fms_get_port,
@@ -543,13 +534,6 @@ fms_halt_input(void *addr)
                          (k1 & ~(FM_REC_STOPNOW | FM_REC_START)) |
                          FM_REC_BUF1_LAST | FM_REC_BUF2_LAST);
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-fms_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = fms_device;
        return 0;
 }
 
Index: sys/dev/pci/maestro.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/maestro.c,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 maestro.c
--- sys/dev/pci/maestro.c       14 Sep 2016 06:12:19 -0000      1.41
+++ sys/dev/pci/maestro.c       17 Sep 2016 11:28:32 -0000
@@ -441,7 +441,6 @@ struct maestro_softc {
 
        struct ac97_codec_if    *codec_if;
        struct ac97_host_if     host_if;
-       struct audio_device     *sc_audev;
 
        int                     suspend;
 
@@ -472,7 +471,6 @@ int maestro_set_params(void *, int, int,
 int    maestro_round_blocksize(void *, int);
 int    maestro_halt_output(void *);
 int    maestro_halt_input(void *);
-int    maestro_getdev(void *, struct audio_device *);
 int    maestro_set_port(void *, mixer_ctrl_t *);
 int    maestro_get_port(void *, mixer_ctrl_t *);
 int    maestro_query_devinfo(void *, mixer_devinfo_t *);
@@ -542,7 +540,6 @@ struct audio_hw_if maestro_hw_if = {
        maestro_halt_output,
        maestro_halt_input,
        NULL,
-       maestro_getdev,
        NULL,
        maestro_set_port,
        maestro_get_port,
@@ -555,10 +552,6 @@ struct audio_hw_if maestro_hw_if = {
        maestro_trigger_input
 };
 
-struct audio_device maestro_audev = {
-       "ESS Maestro", "", "maestro"
-};
-
 struct {
        u_short vendor, product;
        int flags;
@@ -616,7 +609,6 @@ maestro_attach(struct device *parent, st
        int dmastage = 0;
        int rseg;
 
-       sc->sc_audev = &maestro_audev;
        sc->flags = maestro_get_flags(pa);
 
        sc->pc = pa->pa_pc;
@@ -861,15 +853,6 @@ maestro_get_props(void *self)
        /* struct maestro_softc *sc = (struct maestro_softc *)self; */
 
        return (AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT); /* XXX */
-}
-
-int
-maestro_getdev(void *self, struct audio_device *retp)
-{
-       struct maestro_softc *sc = (struct maestro_softc *)self;
-
-       *retp = *sc->sc_audev;
-       return 0;
 }
 
 int
Index: sys/dev/pci/neo.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/neo.c,v
retrieving revision 1.31
diff -u -p -u -p -r1.31 neo.c
--- sys/dev/pci/neo.c   14 Sep 2016 06:12:19 -0000      1.31
+++ sys/dev/pci/neo.c   17 Sep 2016 11:28:33 -0000
@@ -188,7 +188,6 @@ int neo_trigger_input(void *, void *, vo
            void *, struct audio_params *);
 int    neo_halt_output(void *);
 int    neo_halt_input(void *);
-int    neo_getdev(void *, struct audio_device *);
 int    neo_mixer_set_port(void *, mixer_ctrl_t *);
 int    neo_mixer_get_port(void *, mixer_ctrl_t *);
 int     neo_attach_codec(void *sc, struct ac97_codec_if *);
@@ -214,12 +213,6 @@ struct cfattach neo_ca = {
 };
 
 
-struct audio_device neo_device = {
-       "NeoMagic 256",
-       "",
-       "neo"
-};
-
 #if 0
 static u_int32_t badcards[] = {
        0x0007103c,
@@ -261,7 +254,6 @@ struct audio_hw_if neo_hw_if = {
        neo_halt_output,
        neo_halt_input,
        NULL,
-       neo_getdev,
        NULL,
        neo_mixer_set_port,
        neo_mixer_get_port,
@@ -887,13 +879,6 @@ neo_halt_input(void *addr)
 
        sc->rintr = 0;
        mtx_leave(&audio_lock);
-       return (0);
-}
-
-int
-neo_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = neo_device;
        return (0);
 }
 
Index: sys/dev/pci/sv.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/sv.c,v
retrieving revision 1.33
diff -u -p -u -p -r1.33 sv.c
--- sys/dev/pci/sv.c    14 Sep 2016 06:12:19 -0000      1.33
+++ sys/dev/pci/sv.c    17 Sep 2016 11:28:33 -0000
@@ -124,12 +124,6 @@ struct cfattach sv_ca = {
        sizeof(struct sv_softc), sv_match, sv_attach
 };
 
-struct audio_device sv_device = {
-       "S3 SonicVibes",
-       "",
-       "sv"
-};
-
 #define ARRAY_SIZE(foo)  ((sizeof(foo)) / sizeof(foo[0]))
 
 int    sv_allocmem(struct sv_softc *, size_t, size_t, struct sv_dma *);
@@ -145,7 +139,6 @@ int sv_dma_output(void *, void *, int, v
 int    sv_dma_input(void *, void *, int, void (*)(void *), void *);
 int    sv_halt_in_dma(void *);
 int    sv_halt_out_dma(void *);
-int    sv_getdev(void *, struct audio_device *);
 int    sv_mixer_set_port(void *, mixer_ctrl_t *);
 int    sv_mixer_get_port(void *, mixer_ctrl_t *);
 int    sv_query_devinfo(void *, mixer_devinfo_t *);
@@ -168,7 +161,6 @@ struct audio_hw_if sv_hw_if = {
        sv_halt_out_dma,
        sv_halt_in_dma,
        NULL,
-       sv_getdev,
        NULL,
        sv_mixer_set_port,
        sv_mixer_get_port,
@@ -821,14 +813,6 @@ sv_halt_in_dma(void *addr)
        mtx_leave(&audio_lock);
         return (0);
 }
-
-int
-sv_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = sv_device;
-        return (0);
-}
-
 
 /*
  * Mixer related code is here
Index: sys/dev/pci/yds.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/yds.c,v
retrieving revision 1.53
diff -u -p -u -p -r1.53 yds.c
--- sys/dev/pci/yds.c   14 Sep 2016 06:12:19 -0000      1.53
+++ sys/dev/pci/yds.c   17 Sep 2016 11:28:34 -0000
@@ -161,7 +161,6 @@ int yds_trigger_input(void *, void *, vo
            void *, struct audio_params *);
 int    yds_halt_output(void *);
 int    yds_halt_input(void *);
-int    yds_getdev(void *, struct audio_device *);
 int    yds_mixer_set_port(void *, mixer_ctrl_t *);
 int    yds_mixer_get_port(void *, mixer_ctrl_t *);
 void   *yds_malloc(void *, int, size_t, int, int);
@@ -213,7 +212,6 @@ static struct audio_hw_if yds_hw_if = {
        yds_halt_output,
        yds_halt_input,
        NULL,
-       yds_getdev,
        NULL,
        yds_mixer_set_port,
        yds_mixer_get_port,
@@ -226,12 +224,6 @@ static struct audio_hw_if yds_hw_if = {
        yds_trigger_input
 };
 
-struct audio_device yds_device = {
-       "Yamaha DS-1",
-       "",
-       "yds"
-};
-
 const static struct {
        u_int   id;
        u_int   flags;
@@ -1480,14 +1472,6 @@ yds_halt_input(void *addr)
        }
        sc->sc_rec.intr = NULL;
        mtx_leave(&audio_lock);
-       return 0;
-}
-
-int
-yds_getdev(void *addr, struct audio_device *retp)
-{
-       *retp = yds_device;
-
        return 0;
 }
 
Index: sys/dev/sbus/cs4231.c
===================================================================
RCS file: /cvs/src/sys/dev/sbus/cs4231.c,v
retrieving revision 1.36
diff -u -p -u -p -r1.36 cs4231.c
--- sys/dev/sbus/cs4231.c       14 Sep 2016 06:12:20 -0000      1.36
+++ sys/dev/sbus/cs4231.c       17 Sep 2016 11:28:34 -0000
@@ -140,7 +140,6 @@ int cs4231_round_blocksize(void *, int);
 int    cs4231_commit_settings(void *);
 int    cs4231_halt_output(void *);
 int    cs4231_halt_input(void *);
-int    cs4231_getdev(void *, struct audio_device *);
 int    cs4231_set_port(void *, mixer_ctrl_t *);
 int    cs4231_get_port(void *, mixer_ctrl_t *);
 int    cs4231_query_devinfo(void *, mixer_devinfo_t *);
@@ -165,7 +164,6 @@ struct audio_hw_if cs4231_sa_hw_if = {
        cs4231_halt_output,
        cs4231_halt_input,
        0,
-       cs4231_getdev,
        0,
        cs4231_set_port,
        cs4231_get_port,
@@ -186,12 +184,6 @@ struct cfdriver audiocs_cd = {
        NULL, "audiocs", DV_DULL
 };
 
-struct audio_device cs4231_device = {
-       "SUNW,CS4231",
-       "b",
-       "onboard1",
-};
-
 int
 cs4231_match(struct device *parent, void *vcf, void *aux)
 {
@@ -646,13 +638,6 @@ cs4231_halt_input(void *vsc)
            cs4231_read(sc, SP_INTERFACE_CONFIG) & (~CAPTURE_ENABLE));
        sc->sc_capture.cs_locked = 0;
        mtx_leave(&audio_lock);
-       return (0);
-}
-
-int
-cs4231_getdev(void *vsc, struct audio_device *retp)
-{
-       *retp = cs4231_device;
        return (0);
 }
 
Index: sys/dev/tc/bba.c
===================================================================
RCS file: /cvs/src/sys/dev/tc/bba.c,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 bba.c
--- sys/dev/tc/bba.c    14 Sep 2016 06:12:20 -0000      1.6
+++ sys/dev/tc/bba.c    17 Sep 2016 11:28:34 -0000
@@ -143,7 +143,6 @@ struct am7930_glue bba_glue = {
 int    bba_round_blocksize(void *, int);
 int    bba_halt_output(void *);
 int    bba_halt_input(void *);
-int    bba_getdev(void *, struct audio_device *);
 void   *bba_allocm(void *, int, size_t, int, int);
 void   bba_freem(void *, void *, int);
 size_t bba_round_buffersize(void *, int, size_t);
@@ -166,7 +165,6 @@ struct audio_hw_if bba_hw_if = {
        bba_halt_output,                /* md */
        bba_halt_input,                 /* md */
        NULL,
-       bba_getdev,
        NULL,
        am7930_set_port,
        am7930_get_port,
@@ -179,12 +177,6 @@ struct audio_hw_if bba_hw_if = {
        bba_trigger_input               /* md */
 };
 
-static struct audio_device bba_device = {
-       "am7930",
-       "x",
-       "bba"
-};
-
 int    bba_intr(void *);
 void   bba_reset(struct bba_softc *, int);
 void   bba_codec_dwrite(struct am7930_softc *, int, uint8_t);
@@ -414,13 +406,6 @@ bba_halt_input(void *v)
                d->active = 0;
        }
 
-       return 0;
-}
-
-int
-bba_getdev(void *v, struct audio_device *retp)
-{
-       *retp = bba_device;
        return 0;
 }
 
Index: sys/dev/usb/uaudio.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uaudio.c,v
retrieving revision 1.114
diff -u -p -u -p -r1.114 uaudio.c
--- sys/dev/usb/uaudio.c        14 Sep 2016 06:12:20 -0000      1.114
+++ sys/dev/usb/uaudio.c        17 Sep 2016 11:28:35 -0000
@@ -386,7 +386,6 @@ int uaudio_trigger_input
         struct audio_params *);
 int    uaudio_halt_in_dma(void *);
 int    uaudio_halt_out_dma(void *);
-int    uaudio_getdev(void *, struct audio_device *);
 int    uaudio_mixer_set_port(void *, mixer_ctrl_t *);
 int    uaudio_mixer_get_port(void *, mixer_ctrl_t *);
 int    uaudio_query_devinfo(void *, mixer_devinfo_t *);
@@ -405,7 +404,6 @@ struct audio_hw_if uaudio_hw_if = {
        uaudio_halt_out_dma,
        uaudio_halt_in_dma,
        NULL,
-       uaudio_getdev,
        NULL,
        uaudio_mixer_set_port,
        uaudio_mixer_get_port,
@@ -418,12 +416,6 @@ struct audio_hw_if uaudio_hw_if = {
        uaudio_trigger_input
 };
 
-struct audio_device uaudio_device = {
-       "USB audio",
-       "",
-       "uaudio"
-};
-
 int uaudio_match(struct device *, void *, void *); 
 void uaudio_attach(struct device *, struct device *, void *); 
 int uaudio_detach(struct device *, int); 
@@ -2162,19 +2154,6 @@ uaudio_halt_in_dma(void *addr)
                uaudio_chan_free_buffers(sc, &sc->sc_recchan);
                sc->sc_recchan.intr = NULL;
        }
-       return (0);
-}
-
-int
-uaudio_getdev(void *addr, struct audio_device *retp)
-{
-       struct uaudio_softc *sc = addr;
-
-       DPRINTF(("uaudio_mixer_getdev:\n"));
-       if (usbd_is_dying(sc->sc_udev))
-               return (EIO);
-
-       *retp = uaudio_device;
        return (0);
 }
 
Index: sys/dev/usb/utvfu.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/utvfu.c,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 utvfu.c
--- sys/dev/usb/utvfu.c 14 Sep 2016 06:12:20 -0000      1.8
+++ sys/dev/usb/utvfu.c 17 Sep 2016 11:28:35 -0000
@@ -776,7 +776,6 @@ int         utvfu_audio_set_params(void *, int,
                    struct audio_params *, struct audio_params *);
 int            utvfu_audio_halt_out(void *);
 int            utvfu_audio_halt_in(void *);
-int            utvfu_audio_getdev(void *, struct audio_device *);
 int            utvfu_audio_mixer_set_port(void *, struct mixer_ctrl *);
 int            utvfu_audio_mixer_get_port(void *, struct mixer_ctrl *);
 int            utvfu_audio_query_devinfo(void *, struct mixer_devinfo *);
@@ -827,13 +826,6 @@ struct video_hw_if utvfu_vid_hw_if = {
        utvfu_start_read        /* start stream for read */
 };
 
-
-struct audio_device utvfu_audio_device = {
-       "UTVFU Audio",  /* name */
-       "",             /* version */
-       "utvfu"         /* config */
-};
-
 struct audio_hw_if utvfu_au_hw_if = {
        utvfu_audio_open,               /* open hardware */
        utvfu_audio_close,              /* close hardware */
@@ -847,7 +839,6 @@ struct audio_hw_if utvfu_au_hw_if = {
        utvfu_audio_halt_out,
        utvfu_audio_halt_in,
        NULL,
-       utvfu_audio_getdev,
        NULL,
        utvfu_audio_mixer_set_port,
        utvfu_audio_mixer_get_port,
@@ -1920,18 +1911,6 @@ utvfu_audio_halt_in(void *v)
        utvfu_audio_stop(sc);
        utvfu_audio_clear_client(sc);
 
-       return (0);
-}
-
-int
-utvfu_audio_getdev(void *v, struct audio_device *retp)
-{
-       struct utvfu_softc *sc = v;
-
-       if (usbd_is_dying(sc->sc_udev))
-               return (EIO);
-
-       *retp = utvfu_audio_device;
        return (0);
 }
 

Reply via email to