From nobody Sun Jul 6 13:09:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bZnkk4wdTz61RTR; Sun, 06 Jul 2025 13:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bZnkk4B9bz447F; Sun, 06 Jul 2025 13:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751807342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k+/UN/yQYy2nWGqjtbp/GyYFUcokHDdZD1YMI1Hp4Uw=; b=Q5l5pVH8jwcLgWbVqksQLky+WcYCEvjh80SAYLRyNSAE/QxPD4WKYycyl2SXF+S70ONXyf CyNnGNJzBoW6T6BxmlVsKhA3huBoM91XOX6Zm3tx10lpT23eIGVtX4vnoHqyeMJrAtEW9d 0QPjyit/XCpu7w5v9nbui/9eGGk4Z0C+d/juG/GsWNdYf8Jyn9iPnkBYWM37AsteVSCq+h 3tElOlAtRllqrWRdKzZC8pZY942pYvBgZEgB/iWg4qVWNEGpF3maVKVTg9AOJczv6Z9B3p dt4edo46tgrcSca2djZngV53Il1MGthFSqEZRFqZiOE02yYiEG3yD8PS/sT/7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751807342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k+/UN/yQYy2nWGqjtbp/GyYFUcokHDdZD1YMI1Hp4Uw=; b=k07KnLCv/eUPWKY3e4pMG0qhtzJJjDd4XuUK2eWYp0b1MIMB82MD7o20XPJIjJWED52kW0 8ei2PjBVgz8VyQWU5nVg9Ys+H081wnkaZoKHDAL40mIqU0Kkh5CiIFTMvglWmXvebpgUvp hO99ynURFfs3aCUfrZlrVrflkK/2hEdR1JxZ0KRrjUIS5F6nbKtrhUo1Pg0AYA7Gzp18IT 2jUolK4jlwOiZmUvyHWWzc7KozkbAkY5ZMohcbv463TH6Tm5/HKKy8Wja1uc1AW0LuD3Wu boZabdk7D7unCrwquAxjTHOZCVOiM2VwfFRqscAT8U8xYUPtkz0fb6kA1XtcSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1751807342; a=rsa-sha256; cv=none; b=k8iKzWWVSzr3rQtEZ38pbB6WwjK05hrQjZ7kYDewrtwmlBzdc7t45DlT8gD3xjQwtAi7gW 3WnvdOocpI/Y4v/4KBIKSbxUPUnpVdbzMfIdbkxdbCV5Yn3uaH325cfNCPUJHX33zOslHw dRB9h+mNg9b88A0vo2uCQF52tLSb9Ph7asvBkDGjuRg08aBU3Fz10xID/9z8INewyydZRS Pr4HZz0dQQ0p7XTDnwk8tduU9jJNWJXU6H7j58wtZD7VbuRxFaDRGIhWPYAzmnnCER8PGM Z3px+ZY8HH2ruxyXdcqavGvb5SqQ9zqqDV9+PzOHPPukS4uOgln8VkAjXVjhcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bZnkk3mRmz1LlL; Sun, 06 Jul 2025 13:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 566D92V0083165; Sun, 6 Jul 2025 13:09:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 566D92lD083162; Sun, 6 Jul 2025 13:09:02 GMT (envelope-from git) Date: Sun, 6 Jul 2025 13:09:02 GMT Message-Id: <202507061309.566D92lD083162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 7f1426971e30 - main - sound: Retire /dev/midistat List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f1426971e302a50a6a992064b03a1951921b250 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=7f1426971e302a50a6a992064b03a1951921b250 commit 7f1426971e302a50a6a992064b03a1951921b250 Author: Christos Margiolis AuthorDate: 2025-07-06 13:08:22 +0000 Commit: Christos Margiolis CommitDate: 2025-07-06 13:08:22 +0000 sound: Retire /dev/midistat This doesn't register all MIDI devices, for example USB ones, and is not widely used in the first place. In the future all MIDI devices will register to sndstat, where we already have defined a MIDI device type, but we haven't made use of it yet. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50610 --- sys/dev/sound/midi/midi.c | 145 +--------------------------------------------- 1 file changed, 2 insertions(+), 143 deletions(-) diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c index bbb1ff3dd8dc..60d44bb6dbf1 100644 --- a/sys/dev/sound/midi/midi.c +++ b/sys/dev/sound/midi/midi.c @@ -140,32 +140,8 @@ struct snd_midi { TAILQ_HEAD(, snd_midi) midi_devs; -/* - * /dev/midistat variables and declarations, protected by midistat_lock - */ - struct sx mstat_lock; -static int midistat_isopen = 0; -static struct sbuf midistat_sbuf; -static struct cdev *midistat_dev; - -/* - * /dev/midistat dev_t declarations - */ - -static d_open_t midistat_open; -static d_close_t midistat_close; -static d_read_t midistat_read; - -static struct cdevsw midistat_cdevsw = { - .d_version = D_VERSION, - .d_open = midistat_open, - .d_close = midistat_close, - .d_read = midistat_read, - .d_name = "midistat", -}; - /* * /dev/rmidi dev_t declarations, struct variable access is protected by * locks contained within the structure. @@ -194,7 +170,6 @@ static struct cdevsw midi_cdevsw = { */ static int midi_destroy(struct snd_midi *, int); -static int midistat_prepare(struct sbuf * s); static int midi_load(void); static int midi_unload(void); @@ -203,8 +178,6 @@ static int midi_unload(void); */ SYSCTL_NODE(_hw, OID_AUTO, midi, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Midi driver"); -static SYSCTL_NODE(_hw_midi, OID_AUTO, stat, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, - "Status device"); int midi_debug; /* XXX: should this be moved into debug.midi? */ @@ -216,10 +189,6 @@ SYSCTL_INT(_hw_midi, OID_AUTO, dumpraw, CTLFLAG_RW, &midi_dumpraw, 0, ""); int midi_instroff; SYSCTL_INT(_hw_midi, OID_AUTO, instroff, CTLFLAG_RW, &midi_instroff, 0, ""); -int midistat_verbose; -SYSCTL_INT(_hw_midi_stat, OID_AUTO, verbose, CTLFLAG_RW, - &midistat_verbose, 0, ""); - #define MIDI_DEBUG(l,a) if(midi_debug>=l) a /* * CODE START @@ -896,104 +865,6 @@ midi_poll(struct cdev *i_dev, int events, struct thread *td) return (revents); } -/* - * /dev/midistat device functions - * - */ -static int -midistat_open(struct cdev *i_dev, int flags, int mode, struct thread *td) -{ - int error; - - MIDI_DEBUG(1, printf("midistat_open\n")); - - midistat_lock(); - if (midistat_isopen) { - midistat_unlock(); - return EBUSY; - } - midistat_isopen = 1; - sbuf_new(&midistat_sbuf, NULL, 4096, SBUF_AUTOEXTEND); - error = (midistat_prepare(&midistat_sbuf) > 0) ? 0 : ENOMEM; - if (error) - midistat_isopen = 0; - midistat_unlock(); - return error; -} - -static int -midistat_close(struct cdev *i_dev, int flags, int mode, struct thread *td) -{ - MIDI_DEBUG(1, printf("midistat_close\n")); - midistat_lock(); - if (!midistat_isopen) { - midistat_unlock(); - return EBADF; - } - sbuf_delete(&midistat_sbuf); - midistat_isopen = 0; - midistat_unlock(); - return 0; -} - -static int -midistat_read(struct cdev *i_dev, struct uio *uio, int flag) -{ - long l; - int err; - - MIDI_DEBUG(4, printf("midistat_read\n")); - midistat_lock(); - if (!midistat_isopen) { - midistat_unlock(); - return EBADF; - } - if (uio->uio_offset < 0 || uio->uio_offset > sbuf_len(&midistat_sbuf)) { - midistat_unlock(); - return EINVAL; - } - err = 0; - l = lmin(uio->uio_resid, sbuf_len(&midistat_sbuf) - uio->uio_offset); - if (l > 0) { - err = uiomove(sbuf_data(&midistat_sbuf) + uio->uio_offset, l, - uio); - } - midistat_unlock(); - return err; -} - -/* - * Module library functions - */ - -static int -midistat_prepare(struct sbuf *s) -{ - struct snd_midi *m; - - midistat_lockassert(); - - sbuf_printf(s, "FreeBSD Midi Driver (midi2)\n"); - if (TAILQ_EMPTY(&midi_devs)) { - sbuf_printf(s, "No devices installed.\n"); - sbuf_finish(s); - return sbuf_len(s); - } - sbuf_printf(s, "Installed devices:\n"); - - TAILQ_FOREACH(m, &midi_devs, link) { - mtx_lock(&m->lock); - sbuf_printf(s, "%s [%d/%d:%s]", m->name, m->unit, m->channel, - MPU_PROVIDER(m, m->cookie)); - sbuf_printf(s, "%s", MPU_DESCR(m, m->cookie, midistat_verbose)); - sbuf_printf(s, "\n"); - mtx_unlock(&m->lock); - } - - sbuf_finish(s); - return sbuf_len(s); -} - #ifdef notdef /* * Convert IOCTL command to string for debugging @@ -1056,19 +927,12 @@ midi_destroy(struct snd_midi *m, int midiuninit) return 0; } -/* - * Load and unload functions, creates the /dev/midistat device - */ - static int midi_load(void) { sx_init(&mstat_lock, "midistat lock"); TAILQ_INIT(&midi_devs); - midistat_dev = make_dev(&midistat_cdevsw, MIDI_DEV_MIDICTL, UID_ROOT, - GID_WHEEL, 0666, "midistat"); - return 0; } @@ -1081,9 +945,6 @@ midi_unload(void) MIDI_DEBUG(1, printf("midi_unload()\n")); retval = EBUSY; midistat_lock(); - if (midistat_isopen) - goto exit0; - TAILQ_FOREACH_SAFE(m, &midi_devs, link, tmp) { mtx_lock(&m->lock); if (m->busy) @@ -1091,10 +952,9 @@ midi_unload(void) else retval = midi_destroy(m, 1); if (retval) - goto exit1; + goto exit; } midistat_unlock(); - destroy_dev(midistat_dev); /* * Made it here then unload is complete @@ -1102,9 +962,8 @@ midi_unload(void) sx_destroy(&mstat_lock); return 0; -exit1: +exit: mtx_unlock(&m->lock); -exit0: midistat_unlock(); if (retval) MIDI_DEBUG(2, printf("midi_unload: failed\n"));