From 03ed5fc3f471bd83952add97b5d2b5e453486b3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Thu, 4 May 2023 14:25:34 +0200 Subject: [PATCH] dde_bsd: update audio driver to OpenBSD 7.3 Fixes #4857. --- repos/dde_bsd/README | 2 +- repos/dde_bsd/ports/dde_bsd.hash | 2 +- repos/dde_bsd/ports/dde_bsd.port | 6 +++--- repos/dde_bsd/src/lib/audio/bsd_emul.c | 6 +++--- repos/dde_bsd/src/lib/audio/bsd_emul_pci.c | 4 ++-- repos/dde_bsd/src/lib/audio/dummies.cc | 1 + repos/dde_bsd/src/lib/audio/include/bsd_emul.h | 6 ++++++ 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/repos/dde_bsd/README b/repos/dde_bsd/README index 9f30b6d92c..3eebef4c85 100644 --- a/repos/dde_bsd/README +++ b/repos/dde_bsd/README @@ -3,7 +3,7 @@ This repository contains device drivers ported from OpenBSD. Audio ##### -The audio driver is ported from OpenBSD 6.6 and includes support for +The audio driver is ported from OpenBSD 7.3 and includes support for Intel HD Audio devices. The HDA driver works on real hardware and supposedly in VirtualBox. diff --git a/repos/dde_bsd/ports/dde_bsd.hash b/repos/dde_bsd/ports/dde_bsd.hash index 025ba4ecf6..be05365055 100644 --- a/repos/dde_bsd/ports/dde_bsd.hash +++ b/repos/dde_bsd/ports/dde_bsd.hash @@ -1 +1 @@ -771f320f0d4e11510d8f565fda456400b4793230 +c84599f4ae0aebf2bb6e82151fa629867a3b07c0 diff --git a/repos/dde_bsd/ports/dde_bsd.port b/repos/dde_bsd/ports/dde_bsd.port index b4dfb5b6d9..6739434b26 100644 --- a/repos/dde_bsd/ports/dde_bsd.port +++ b/repos/dde_bsd/ports/dde_bsd.port @@ -3,13 +3,13 @@ VERSION := 1 DOWNLOADS := audio.archive # -# Audio drivers from OpenBSD 7.1 +# Audio drivers from OpenBSD 7.3 # SRC_DIR_AUDIO := src/lib/audio -VERSION_AUDIO := 7.1 +VERSION_AUDIO := 7.3 BASE_URL := https://cdn.openbsd.org/pub/OpenBSD URL(audio) := $(BASE_URL)/$(VERSION_AUDIO)/sys.tar.gz -SHA(audio) := 890cb97c01052f26cefe5430d635e0fdf6047ca701a99992968e16801e2a6565 +SHA(audio) := bb0dfa11584d68464b3f788e43655f6454bb3ecba8ad5500377630bcf23570ec DIR(audio) := $(SRC_DIR_AUDIO) TAR_OPT(audio) := --strip-components=1 --files-from $(REP_DIR)/audio.list HASH_INPUT += $(REP_DIR)/audio.list diff --git a/repos/dde_bsd/src/lib/audio/bsd_emul.c b/repos/dde_bsd/src/lib/audio/bsd_emul.c index 16012527aa..c72720c7a1 100644 --- a/repos/dde_bsd/src/lib/audio/bsd_emul.c +++ b/repos/dde_bsd/src/lib/audio/bsd_emul.c @@ -42,7 +42,7 @@ struct cdevsw cdevsw[] = { audioioctl, (int (*)(struct tty*, int)) enodev, 0, - audiopoll, + 0, 0, 0, 0, @@ -59,8 +59,8 @@ struct device *config_found_sm(struct device *parent, void *aux, cfprint_t print cfmatch_t submatch) { struct cfdata *cf = &cfdata[0]; - struct cfattach *ca = cf->cf_attach; - struct cfdriver *cd = cf->cf_driver; + struct cfattach const *ca = cf->cf_attach; + struct cfdriver const *cd = cf->cf_driver; int rv = ca->ca_match(parent, NULL, aux); if (rv) { diff --git a/repos/dde_bsd/src/lib/audio/bsd_emul_pci.c b/repos/dde_bsd/src/lib/audio/bsd_emul_pci.c index 2b2a0a26d3..b3cc2f85ec 100644 --- a/repos/dde_bsd/src/lib/audio/bsd_emul_pci.c +++ b/repos/dde_bsd/src/lib/audio/bsd_emul_pci.c @@ -61,12 +61,12 @@ int probe_cfdata(struct pci_attach_args *pa) size_t i; for (i = 0; i < ncd; i++) { struct cfdata *cf = &cfdata[i]; - struct cfdriver *cd = cf->cf_driver; + struct cfdriver const *cd = cf->cf_driver; if (*cf->cf_parents != PCI_BUS_PARENT) continue; - struct cfattach *ca = cf->cf_attach; + struct cfattach const *ca = cf->cf_attach; if (!ca->ca_match) continue; diff --git a/repos/dde_bsd/src/lib/audio/dummies.cc b/repos/dde_bsd/src/lib/audio/dummies.cc index 28eea52e1b..d9fa953456 100644 --- a/repos/dde_bsd/src/lib/audio/dummies.cc +++ b/repos/dde_bsd/src/lib/audio/dummies.cc @@ -64,6 +64,7 @@ DUMMY(0, klist_remove) DUMMY(0, klist_remove_locked) DUMMY(0, knote_modify) DUMMY(0, knote_process) +DUMMY(0, knote_locked) DUMMY(0, pci_findvendor) DUMMY(0, pci_intr_disestablish) DUMMY(0, pci_set_powerstate) diff --git a/repos/dde_bsd/src/lib/audio/include/bsd_emul.h b/repos/dde_bsd/src/lib/audio/include/bsd_emul.h index cc09802601..0ecde4c6ca 100644 --- a/repos/dde_bsd/src/lib/audio/include/bsd_emul.h +++ b/repos/dde_bsd/src/lib/audio/include/bsd_emul.h @@ -247,6 +247,12 @@ struct kevent short filter; }; + +struct klist; + +void knote_locked(struct klist *list, long hint); + + #include struct knote;