1098ca2bdSWarner Losh /*-
24d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause
3718cf2ccSPedro F. Giffuni *
4e71eb9c3SCameron Grant * Copyright (c) 2000 Cameron Grant <cg@freebsd.org>
5e71eb9c3SCameron Grant * All rights reserved.
6e71eb9c3SCameron Grant *
7e71eb9c3SCameron Grant * Redistribution and use in source and binary forms, with or without
8e71eb9c3SCameron Grant * modification, are permitted provided that the following conditions
9e71eb9c3SCameron Grant * are met:
10e71eb9c3SCameron Grant * 1. Redistributions of source code must retain the above copyright
11e71eb9c3SCameron Grant * notice, this list of conditions and the following disclaimer.
12e71eb9c3SCameron Grant * 2. Redistributions in binary form must reproduce the above copyright
13e71eb9c3SCameron Grant * notice, this list of conditions and the following disclaimer in the
14e71eb9c3SCameron Grant * documentation and/or other materials provided with the distribution.
15e71eb9c3SCameron Grant *
16e71eb9c3SCameron Grant * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17e71eb9c3SCameron Grant * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18e71eb9c3SCameron Grant * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19e71eb9c3SCameron Grant * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20e71eb9c3SCameron Grant * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21e71eb9c3SCameron Grant * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22e71eb9c3SCameron Grant * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23e71eb9c3SCameron Grant * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24e71eb9c3SCameron Grant * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25e71eb9c3SCameron Grant * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26e71eb9c3SCameron Grant * SUCH DAMAGE.
27e71eb9c3SCameron Grant */
28e71eb9c3SCameron Grant
2990da2b28SAriff Abdullah #ifdef HAVE_KERNEL_OPTION_HEADERS
3090da2b28SAriff Abdullah #include "opt_snd.h"
3190da2b28SAriff Abdullah #endif
3290da2b28SAriff Abdullah
33e71eb9c3SCameron Grant #include <dev/sound/pcm/sound.h>
34e71eb9c3SCameron Grant
35e71eb9c3SCameron Grant static int
snd_modevent(module_t mod,int type,void * data)36e71eb9c3SCameron Grant snd_modevent(module_t mod, int type, void *data)
37e71eb9c3SCameron Grant {
38e71eb9c3SCameron Grant
39e71eb9c3SCameron Grant switch (type) {
40e71eb9c3SCameron Grant case MOD_LOAD:
41e71eb9c3SCameron Grant break;
42e71eb9c3SCameron Grant case MOD_UNLOAD:
43e71eb9c3SCameron Grant break;
44e71eb9c3SCameron Grant default:
4590da2b28SAriff Abdullah return (ENOTSUP);
46e71eb9c3SCameron Grant }
47e71eb9c3SCameron Grant return 0;
48e71eb9c3SCameron Grant }
49e71eb9c3SCameron Grant
50e71eb9c3SCameron Grant static moduledata_t snd_mod = {
51e71eb9c3SCameron Grant "snd_driver",
52e71eb9c3SCameron Grant snd_modevent,
53e71eb9c3SCameron Grant NULL
54e71eb9c3SCameron Grant };
55e71eb9c3SCameron Grant DECLARE_MODULE(snd_driver, snd_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE);
56e71eb9c3SCameron Grant MODULE_VERSION(snd_driver, 1);
57e71eb9c3SCameron Grant
58*cdd32341SJose Luis Duran #if defined(__powerpc__)
59*cdd32341SJose Luis Duran MODULE_DEPEND(snd_driver, snd_ai2s, 1, 1, 1);
60*cdd32341SJose Luis Duran #endif
611f2b9fe6SOrion Hodson MODULE_DEPEND(snd_driver, snd_als4000, 1, 1, 1);
62d5688b6aSAriff Abdullah MODULE_DEPEND(snd_driver, snd_atiixp, 1, 1, 1);
630187bc8aSJose Luis Duran #if defined(__i386__) || defined(__amd64__)
64dfe67249SOrion Hodson MODULE_DEPEND(snd_driver, snd_cmi, 1, 1, 1);
650187bc8aSJose Luis Duran #endif
66dfe67249SOrion Hodson MODULE_DEPEND(snd_driver, snd_cs4281, 1, 1, 1);
67e71eb9c3SCameron Grant MODULE_DEPEND(snd_driver, snd_csa, 1, 1, 1);
68e71eb9c3SCameron Grant MODULE_DEPEND(snd_driver, snd_csapcm, 1, 1, 1);
69*cdd32341SJose Luis Duran #if defined(__powerpc__)
70*cdd32341SJose Luis Duran MODULE_DEPEND(snd_driver, snd_davbus, 1, 1, 1);
71*cdd32341SJose Luis Duran #endif
720fa7ab6aSAlexander Leidinger MODULE_DEPEND(snd_driver, snd_emu10kx, 1, 1, 1);
7337d12296SAlexander Leidinger MODULE_DEPEND(snd_driver, snd_envy24, 1, 1, 1);
74f06e3ebcSAlexander Leidinger MODULE_DEPEND(snd_driver, snd_envy24ht, 1, 1, 1);
75e71eb9c3SCameron Grant MODULE_DEPEND(snd_driver, snd_es137x, 1, 1, 1);
761b6c76a2SCameron Grant MODULE_DEPEND(snd_driver, snd_fm801, 1, 1, 1);
772c72e284SAriff Abdullah MODULE_DEPEND(snd_driver, snd_hda, 1, 1, 1);
785687c71dSFlorian Walpen MODULE_DEPEND(snd_driver, snd_hdsp, 1, 1, 1);
793a79c3acSChristos Margiolis MODULE_DEPEND(snd_driver, snd_hdspe, 1, 1, 1);
801b6c76a2SCameron Grant MODULE_DEPEND(snd_driver, snd_ich, 1, 1, 1);
81a5108eaeSScott Long MODULE_DEPEND(snd_driver, snd_maestro3, 1, 1, 1);
82e71eb9c3SCameron Grant MODULE_DEPEND(snd_driver, snd_neomagic, 1, 1, 1);
83fc35953aSNick Sayer MODULE_DEPEND(snd_driver, snd_solo, 1, 1, 1);
84f06e3ebcSAlexander Leidinger MODULE_DEPEND(snd_driver, snd_spicds, 1, 1, 1);
85e71eb9c3SCameron Grant MODULE_DEPEND(snd_driver, snd_t4dwave, 1, 1, 1);
86a9054546SMichael Reifenberger MODULE_DEPEND(snd_driver, snd_via8233, 1, 1, 1);
87ba90ebe7SCameron Grant MODULE_DEPEND(snd_driver, snd_via82c686, 1, 1, 1);
88dfe67249SOrion Hodson MODULE_DEPEND(snd_driver, snd_vibes, 1, 1, 1);
893a79c3acSChristos Margiolis MODULE_DEPEND(snd_driver, snd_uaudio, 1, 1, 1);
90