From nobody Thu May 05 23:42:24 2022 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 4E69D1AC16A7; Thu, 5 May 2022 23:42:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KvVc064tpz4XXf; Thu, 5 May 2022 23:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651794144; 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=CZ0qlTVXzV1hO7uHLVL8HnTVH2fJ4fP9x7ees8pr3v0=; b=xogRfiGXMR2I2FWcb96kwMseo9KLCWXmFV8mskAy/aNERQ8EyKxjwbCdW/UkN4YYm2ZKfZ pjkzN+Pxj62ztwJPnaz7xCw3oOX0tdV0WjEYcqDjwUYN2D/tD3bRPNXKQQQ5shkEJmOaPg uJ/yHgNmp0SkSP8uyr4AJ2busivpXvCrg9lx6xceewJqcPmygoEkftqylOJUoUp7Y7/X+7 ryLXtjxgzTam35yK+9dg8Sv6ZmBWXowWUJWzskbDFqJez3PH9WUQq+7R9AFS4SPBrFN2s9 hzMaBYyb/ssxeFClNwba1VtYlO29LPuLfoPeNBi55rBET71FnHxjEbnYIK0wFQ== 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 9D2C910F72; Thu, 5 May 2022 23:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 245NgOLQ055581; Thu, 5 May 2022 23:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 245NgOrP055580; Thu, 5 May 2022 23:42:24 GMT (envelope-from git) Date: Thu, 5 May 2022 23:42:24 GMT Message-Id: <202205052342.245NgOrP055580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: d4f988e1886f - main - smapi: Store softc pointer in si_drv1 of cdev. 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4f988e1886fee0c89443b6937bf47b6439f80b0 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651794144; 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=CZ0qlTVXzV1hO7uHLVL8HnTVH2fJ4fP9x7ees8pr3v0=; b=Xy3F1rbH5w8msukJgvZPoN7CSLADTRkX9bZbHkqPvuLYLJs6u1feuW3UXMTx5L+4/vcLn6 klrV3yQHdobrbpbjWGcnH58rrvuIfhLkzCL+u2gf8RaspkG/dZmTirA1JUFACh7UaOgsk6 Ll6Of0H1btyPkLvVwU9yY1u3dUzn5U4wnZjQN7W3vmuT8xtMLHHm0/CYal5x1tBK5lqzSO DRbE15OjxoHo2bQxWUguckZmAecTJTqohp7BT8nBwhCQYwqXIaVBqm4QLfq9RkEwMDdR0/ Ytuz7e1C7SdZy56WJpdLL+WCNc5jQv9+hDNz+vjUrI1AsJ4SnDcOdv6nJJWFdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1651794144; a=rsa-sha256; cv=none; b=OIg2Hg8+dxUpyk2lXWRYG5BuuqYB0EEQQ+dmDhwlluG8E94Z8wEqwC3tCZySBrAyj/OKrH vfsyNVBc+1J9fryZ3ca5Q0VYvtyiCaRKg5dIOL8RbgKDSaqGw3su9sK5+lOMXmzL8ZwAuM hvzmktnYE9AxXiM6alWGeZdiNDdRJY6TSIIaQkNJ7zwqxJ+7IzydxmcJTYtmw68sOZHNAv POggNaTru9O37YFxbZjc/gaEj9qFGV68Qssa8qs36mUv0BT6yw0FCsJVMnVIveDzTnr/mk upkJNfjCtwETtcxUqj/nKFepXx7j1nx++soCxdJuBxoWLhlPTepcIZNpl8RoBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d4f988e1886fee0c89443b6937bf47b6439f80b0 commit d4f988e1886fee0c89443b6937bf47b6439f80b0 Author: John Baldwin AuthorDate: 2022-05-05 23:35:19 +0000 Commit: John Baldwin CommitDate: 2022-05-05 23:35:19 +0000 smapi: Store softc pointer in si_drv1 of cdev. Rather than fetching the softc using the device's unit number as an index into the devclass. Differential Revision: https://reviews.freebsd.org/D35063 --- sys/i386/bios/smapi.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/sys/i386/bios/smapi.c b/sys/i386/bios/smapi.c index 5b82df87e980..653399e1ca58 100644 --- a/sys/i386/bios/smapi.c +++ b/sys/i386/bios/smapi.c @@ -102,16 +102,9 @@ extern int smapi32_new(u_long, u_short, static int smapi_ioctl (struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread *td) { - struct smapi_softc *sc; + struct smapi_softc *sc = dev->si_drv1; int error; - error = 0; - sc = devclass_get_softc(smapi_devclass, dev2unit(dev)); - if (sc == NULL) { - error = ENXIO; - goto fail; - } - switch (cmd) { case SMAPIOGHEADER: bcopy((caddr_t)sc->header, data, @@ -127,7 +120,6 @@ smapi_ioctl (struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct threa error = ENOTTY; } -fail: return (error); } @@ -204,6 +196,7 @@ bad: static int smapi_attach (device_t dev) { + struct make_dev_args args; struct smapi_softc *sc; int error; @@ -224,12 +217,17 @@ smapi_attach (device_t dev) sc->header->prot32_segment + sc->header->prot32_offset); - sc->cdev = make_dev(&smapi_cdevsw, - device_get_unit(sc->dev), - UID_ROOT, GID_WHEEL, 0600, - "%s%d", + make_dev_args_init(&args); + args.mda_devsw = &smapi_cdevsw; + args.mda_uid = UID_ROOT; + args.mda_gid = GID_WHEEL; + args.mda_mode = 0600; + args.mda_si_drv1 = sc; + error = make_dev_s(&args, &sc->cdev, "%s%d", smapi_cdevsw.d_name, device_get_unit(sc->dev)); + if (error != 0) + goto bad; device_printf(dev, "Version: %d.%02d, Length: %d, Checksum: 0x%02x\n", bcd2bin(sc->header->version_major),