diff options
Diffstat (limited to 'sys/dev/sound/pci/hda/hdac.c')
-rw-r--r-- | sys/dev/sound/pci/hda/hdac.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index b0bab7c..9648aac 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -60,21 +60,19 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDAC_QUIRK_MSI (1 << 2) static const struct { - char *key; + const char *key; uint32_t value; } hdac_quirks_tab[] = { { "64bit", HDAC_QUIRK_DMAPOS }, { "dmapos", HDAC_QUIRK_DMAPOS }, { "msi", HDAC_QUIRK_MSI }, }; -#define HDAC_QUIRKS_TAB_LEN \ - (sizeof(hdac_quirks_tab) / sizeof(hdac_quirks_tab[0])) MALLOC_DEFINE(M_HDAC, "hdac", "HDA Controller"); static const struct { uint32_t model; - char *desc; + const char *desc; char quirks_on; char quirks_off; } hdac_devices[] = { @@ -170,7 +168,6 @@ static const struct { { HDA_SIS_ALL, "SiS", 0, 0 }, { HDA_ULI_ALL, "ULI", 0, 0 }, }; -#define HDAC_DEVICES_LEN (sizeof(hdac_devices) / sizeof(hdac_devices[0])) static const struct { uint16_t vendor; @@ -182,8 +179,6 @@ static const struct { { ATI_VENDORID, 0x42, 0xf8, 0x02 }, { NVIDIA_VENDORID, 0x4e, 0xf0, 0x0f }, }; -#define HDAC_PCIESNOOP_LEN \ - (sizeof(hdac_pcie_snoop) / sizeof(hdac_pcie_snoop[0])) /**************************************************************************** * Function prototypes @@ -254,7 +249,7 @@ hdac_config_fetch(struct hdac_softc *sc, uint32_t *on, uint32_t *off) inv = 2; else inv = 0; - for (k = 0; len > inv && k < HDAC_QUIRKS_TAB_LEN; k++) { + for (k = 0; len > inv && k < nitems(hdac_quirks_tab); k++) { if (strncmp(res + i + inv, hdac_quirks_tab[k].key, len - inv) != 0) continue; @@ -1024,7 +1019,7 @@ hdac_probe(device_t dev) bzero(desc, sizeof(desc)); result = ENXIO; - for (i = 0; i < HDAC_DEVICES_LEN; i++) { + for (i = 0; i < nitems(hdac_devices); i++) { if (hdac_devices[i].model == model) { strlcpy(desc, hdac_devices[i].desc, sizeof(desc)); result = BUS_PROBE_DEFAULT; @@ -1096,7 +1091,7 @@ hdac_attach(device_t dev) class = pci_get_class(dev); subclass = pci_get_subclass(dev); - for (i = 0; i < HDAC_DEVICES_LEN; i++) { + for (i = 0; i < nitems(hdac_devices); i++) { if (hdac_devices[i].model == model) { devid = i; break; @@ -1175,7 +1170,7 @@ hdac_attach(device_t dev) * * http://msdn2.microsoft.com/en-us/library/ms790324.aspx */ - for (i = 0; i < HDAC_PCIESNOOP_LEN; i++) { + for (i = 0; i < nitems(hdac_pcie_snoop); i++) { if (hdac_pcie_snoop[i].vendor != vendor) continue; sc->flags &= ~HDAC_F_DMA_NOCACHE; @@ -2078,7 +2073,7 @@ static device_method_t hdac_methods[] = { DEVMETHOD(hdac_stream_getptr, hdac_stream_getptr), DEVMETHOD(hdac_unsol_alloc, hdac_unsol_alloc), DEVMETHOD(hdac_unsol_free, hdac_unsol_free), - { 0, 0 } + DEVMETHOD_END }; static driver_t hdac_driver = { @@ -2089,4 +2084,4 @@ static driver_t hdac_driver = { static devclass_t hdac_devclass; -DRIVER_MODULE(snd_hda, pci, hdac_driver, hdac_devclass, 0, 0); +DRIVER_MODULE(snd_hda, pci, hdac_driver, hdac_devclass, NULL, NULL); |