summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pci/hda/hdac.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/pci/hda/hdac.c')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c21
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);
OpenPOWER on IntegriCloud