Module Name: src Committed By: mrg Date: Mon Feb 27 23:31:00 UTC 2017
Modified Files: src/sys/dev: audio.c audiobell.c audiovar.h Log Message: minor clean ups: - mark a bunch of local things static - export an explicit set of functions for audiobell, instead of hooking directly into the device callbacks, and avoid non-shared headers for the same prototypes - s/audioprobe/audiomatch/ - use __func__ To generate a diff of this commit: cvs rdiff -u -r1.313 -r1.314 src/sys/dev/audio.c cvs rdiff -u -r1.15 -r1.16 src/sys/dev/audiobell.c cvs rdiff -u -r1.50 -r1.51 src/sys/dev/audiovar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/audio.c diff -u src/sys/dev/audio.c:1.313 src/sys/dev/audio.c:1.314 --- src/sys/dev/audio.c:1.313 Mon Feb 27 10:31:02 2017 +++ src/sys/dev/audio.c Mon Feb 27 23:31:00 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: audio.c,v 1.313 2017/02/27 10:31:02 nat Exp $ */ +/* $NetBSD: audio.c,v 1.314 2017/02/27 23:31:00 mrg Exp $ */ /*- * Copyright (c) 2016 Nathanial Sloss <nathanialsl...@yahoo.com.au> @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.313 2017/02/27 10:31:02 nat Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.314 2017/02/27 23:31:00 mrg Exp $"); #include "audio.h" #if NAUDIO > 0 @@ -233,8 +233,8 @@ int audio_poll(struct audio_softc *, int int audio_kqfilter(struct audio_chan *, struct knote *); paddr_t audiommap(dev_t, off_t, int, struct virtual_channel *); paddr_t audio_mmap(struct audio_softc *, off_t, int, struct virtual_channel *); -int audio_fop_mmap(struct file *, off_t *, size_t, int, int *, int *, - struct uvm_object **, int *); +static int audio_fop_mmap(struct file *, off_t *, size_t, int, int *, int *, + struct uvm_object **, int *); int mixer_open(dev_t, struct audio_softc *, int, int, struct lwp *, struct file **); @@ -315,12 +315,12 @@ static int audio_sysctl_frequency(SYSCTL static int audio_sysctl_precision(SYSCTLFN_PROTO); static int audio_sysctl_channels(SYSCTLFN_PROTO); -int audioprobe(device_t, cfdata_t, void *); -void audioattach(device_t, device_t, void *); -int audiodetach(device_t, int); -int audioactivate(device_t, enum devact); -void audiochilddet(device_t, device_t); -int audiorescan(device_t, const char *, const int *); +static int audiomatch(device_t, cfdata_t, void *); +static void audioattach(device_t, device_t, void *); +static int audiodetach(device_t, int); +static int audioactivate(device_t, enum devact); +static void audiochilddet(device_t, device_t); +static int audiorescan(device_t, const char *, const int *); #ifdef AUDIO_PM_IDLE static void audio_idle(void *); @@ -348,13 +348,13 @@ static void audio_exit(struct audio_soft static int audio_waitio(struct audio_softc *, kcondvar_t *, struct virtual_channel *); -int audioclose(struct file *); -int audioread(struct file *, off_t *, struct uio *, kauth_cred_t, int); -int audiowrite(struct file *, off_t *, struct uio *, kauth_cred_t, int); -int audioioctl(struct file *, u_long, void *); -int audiopoll(struct file *, int); -int audiokqfilter(struct file *, struct knote *); -int audiostat(struct file *, struct stat *); +static int audioclose(struct file *); +static int audioread(struct file *, off_t *, struct uio *, kauth_cred_t, int); +static int audiowrite(struct file *, off_t *, struct uio *, kauth_cred_t, int); +static int audioioctl(struct file *, u_long, void *); +static int audiopoll(struct file *, int); +static int audiokqfilter(struct file *, struct knote *); +static int audiostat(struct file *, struct stat *); struct portname { const char *name; @@ -413,9 +413,8 @@ static int uio_fetcher_fetch_to(struct a static int null_fetcher_fetch_to(struct audio_softc *, stream_fetcher_t *, audio_stream_t *, int); -int audiobellopen(dev_t, int, int, struct lwp *, struct file **); - -dev_type_open(audioopen); +static dev_type_open(audioopen); +/* XXXMRG use more dev_type_xxx */ const struct cdevsw audio_cdevsw = { .d_open = audioopen, @@ -460,23 +459,23 @@ int auto_config_freq[] = { 48000, 44100, 22050, 16000, 11025, 8000, 4000 }; CFATTACH_DECL3_NEW(audio, sizeof(struct audio_softc), - audioprobe, audioattach, audiodetach, audioactivate, audiorescan, + audiomatch, audioattach, audiodetach, audioactivate, audiorescan, audiochilddet, DVF_DETACH_SHUTDOWN); extern struct cfdriver audio_cd; -int -audioprobe(device_t parent, cfdata_t match, void *aux) +static int +audiomatch(device_t parent, cfdata_t match, void *aux) { struct audio_attach_args *sa; sa = aux; - DPRINTF(("audioprobe: type=%d sa=%p hw=%p\n", - sa->type, sa, sa->hwif)); + DPRINTF(("%s: type=%d sa=%p hw=%p\n", + __func__, sa->type, sa, sa->hwif)); return (sa->type == AUDIODEV_TYPE_AUDIO) ? 1 : 0; } -void +static void audioattach(device_t parent, device_t self, void *aux) { struct audio_softc *sc; @@ -905,7 +904,7 @@ bad_rec: audiorescan(self, "audio", NULL); } -int +static int audioactivate(device_t self, enum devact act) { struct audio_softc *sc = device_private(self); @@ -924,7 +923,7 @@ audioactivate(device_t self, enum devact } } -int +static int audiodetach(device_t self, int flags) { struct audio_softc *sc; @@ -1054,7 +1053,7 @@ audiodetach(device_t self, int flags) return 0; } -void +static void audiochilddet(device_t self, device_t child) { @@ -1071,7 +1070,7 @@ audiosearch(device_t parent, cfdata_t cf return 0; } -int +static int audiorescan(device_t self, const char *ifattr, const int *flags) { struct audio_softc *sc = device_private(self); @@ -1552,6 +1551,7 @@ audio_waitio(struct audio_softc *sc, kco return error; } +/* Exported interfaces for audiobell. */ int audiobellopen(dev_t dev, int flags, int ifmt, struct lwp *l, struct file **fp) @@ -1574,7 +1574,30 @@ audiobellopen(dev_t dev, int flags, int return error; } + +int +audiobellclose(struct file *fp) +{ + + return audioclose(fp); +} + +int +audiobellwrite(struct file *fp, off_t *offp, struct uio *uio, kauth_cred_t cred, + int ioflag) +{ + + return audiowrite(fp, offp, uio, cred, ioflag); +} + int +audiobellioctl(struct file *fp, u_long cmd, void *addr) +{ + + return audioioctl(fp, cmd, addr); +} + +static int audioopen(dev_t dev, int flags, int ifmt, struct lwp *l) { struct audio_softc *sc; @@ -1602,7 +1625,7 @@ audioopen(dev_t dev, int flags, int ifmt return error; } -int +static int audioclose(struct file *fp) { struct audio_softc *sc; @@ -1643,7 +1666,7 @@ audioclose(struct file *fp) return error; } -int +static int audioread(struct file *fp, off_t *offp, struct uio *uio, kauth_cred_t cred, int ioflag) { @@ -1676,7 +1699,7 @@ audioread(struct file *fp, off_t *offp, return error; } -int +static int audiowrite(struct file *fp, off_t *offp, struct uio *uio, kauth_cred_t cred, int ioflag) { @@ -1709,7 +1732,7 @@ audiowrite(struct file *fp, off_t *offp, return error; } -int +static int audioioctl(struct file *fp, u_long cmd, void *addr) { struct audio_softc *sc; @@ -1762,7 +1785,7 @@ audioioctl(struct file *fp, u_long cmd, return error; } -int +static int audiostat(struct file *fp, struct stat *st) { memset(st, 0, sizeof(*st)); @@ -1775,7 +1798,7 @@ audiostat(struct file *fp, struct stat * return 0; } -int +static int audiopoll(struct file *fp, int events) { struct audio_softc *sc; @@ -1815,7 +1838,7 @@ audiopoll(struct file *fp, int events) return revents; } -int +static int audiokqfilter(struct file *fp, struct knote *kn) { struct audio_softc *sc; @@ -1853,7 +1876,7 @@ audiokqfilter(struct file *fp, struct kn } /* XXX:NS mmap is disabled. */ -int +static int audio_fop_mmap(struct file *fp, off_t *offp, size_t len, int prot, int *flagsp, int *advicep, struct uvm_object **uobjp, int *maxprotp) { Index: src/sys/dev/audiobell.c diff -u src/sys/dev/audiobell.c:1.15 src/sys/dev/audiobell.c:1.16 --- src/sys/dev/audiobell.c:1.15 Wed Feb 15 02:55:53 2017 +++ src/sys/dev/audiobell.c Mon Feb 27 23:31:00 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: audiobell.c,v 1.15 2017/02/15 02:55:53 nat Exp $ */ +/* $NetBSD: audiobell.c,v 1.16 2017/02/27 23:31:00 mrg Exp $ */ /* @@ -32,7 +32,7 @@ */ #include <sys/types.h> -__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.15 2017/02/15 02:55:53 nat Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.16 2017/02/27 23:31:00 mrg Exp $"); #include <sys/audioio.h> #include <sys/conf.h> @@ -48,13 +48,9 @@ __KERNEL_RCSID(0, "$NetBSD: audiobell.c, #include <sys/unistd.h> #include <dev/audio_if.h> +#include <dev/audiovar.h> #include <dev/audiobellvar.h> -extern int audiobellopen(dev_t, int, int, struct lwp *, struct file **); -extern int audioclose(struct file *); -extern int audiowrite(struct file *, off_t *, struct uio *, kauth_cred_t, int); -extern int audioioctl(struct file *, u_long, void *); - /* Convert a %age volume to an amount to add to u-law values */ /* XXX Probably highly inaccurate -- should be regenerated */ static const uint8_t volmap[] = { @@ -159,8 +155,8 @@ audiobell(void *v, u_int pitch, u_int pe if (audiobellopen(audio, FWRITE, 0, NULL, &fp) != EMOVEFD || fp == NULL) return; - if (audioioctl(fp, AUDIO_GETINFO, &ai) != 0) { - audioclose(fp); + if (audiobellioctl(fp, AUDIO_GETINFO, &ai) != 0) { + audiobellclose(fp); return; } @@ -190,11 +186,11 @@ audiobell(void *v, u_int pitch, u_int pe auio.uio_rw = UIO_WRITE; UIO_SETUP_SYSSPACE(&auio); - audiowrite(fp, NULL, &auio, NULL, 0); + audiobellwrite(fp, NULL, &auio, NULL, 0); len -= size; offset += size; } out: if (buf != NULL) free(buf, M_TEMP); - audioclose(fp); + audiobellclose(fp); } Index: src/sys/dev/audiovar.h diff -u src/sys/dev/audiovar.h:1.50 src/sys/dev/audiovar.h:1.51 --- src/sys/dev/audiovar.h:1.50 Fri Feb 10 19:31:42 2017 +++ src/sys/dev/audiovar.h Mon Feb 27 23:31:00 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: audiovar.h,v 1.50 2017/02/10 19:31:42 nat Exp $ */ +/* $NetBSD: audiovar.h,v 1.51 2017/02/27 23:31:00 mrg Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -73,6 +73,12 @@ #include <dev/audio_if.h> #include <dev/auconv.h> +/* Interfaces for audiobell. */ +int audiobellopen(dev_t, int, int, struct lwp *, struct file **); +int audiobellclose(struct file *); +int audiobellwrite(struct file *, off_t *, struct uio *, kauth_cred_t, int); +int audiobellioctl(struct file *, u_long, void *); + /* * Initial/default block duration is both configurable and patchable. */