From nobody Thu Apr 24 22:14:37 2025 X-Original-To: dev-commits-src-main@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 4Zk9Hy1llBz5trRx; Thu, 24 Apr 2025 22:14:38 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zk9Hx5fDKz3krB; Thu, 24 Apr 2025 22:14:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532877; 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=oyxQwR3wzaxnO2O8SHIcrS/bIdS3eaajb1o8ZrU/pfo=; b=sH8mmWOzuQ343gxYczRtjwFDN/AFZ95FKGeGI+QLJQBtMlG7E58ZJ6pMJtHp2JZtbgKg6z 07KhJRcLeocrDnmMbZ1RBPNTTdXhUOu5dIcDUQ+LLCtAt8v7eageS6QnubOLEypUEbvJq6 2wonVElRI/yBe3FBUaJ9R8/xYn7S/OxsWi/WzjF+aA/k6hsTbGahY9XS75Y9OQJchKJId+ 16HzenuVJamhDDo0ObcLNE1i6PC7eE2Zm5fSPD0ZN4y7raKdMbE4dg5UYlS2UR6O6D328I FEE/9LFgL//KTtTmKZktg50PZzjNv+3IbHUhKprC/9Vu+p3WL1JLWM09IiHGKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532877; a=rsa-sha256; cv=none; b=QsWy5DtDjnYPYlG+kB0xBV/bJTxI7uuhec9EsvCPZ9vqhrIdTL/ZqIVguYYhNIX2VOCFYC VerRrFnbgCF6paXsMFzrEU7HrPeiEYx8m7VcpcmDswVjLDQ2pqPNbWcC4kuB6E0e2zygtl 5AcB4CECBJIG65YD494qnDc+6Lt4RDNCy5S3RfOAdwF4XgE/vfCCg9MJfH79QTSWJwtNim 3x8TmirD4Z1deiP+dEWylwWU8P0c1iGiBFf1EcyI25cu3t7AT1IwYexFS3EdFq9VDcu6q0 /NIPDIvSMVN2SbrQV+jIux1JdfCsk8RP9fXEjB5cvmw3SR6O1TKZcKsovn8PqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532877; 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=oyxQwR3wzaxnO2O8SHIcrS/bIdS3eaajb1o8ZrU/pfo=; b=tYZt428eanjuwuQG3+MFg8NjOr05/vJezOpdbazJoPga6Ap7rGh44iqrAmjDDOAAHDkdPm q4p0SxlsDwc4+LSHcW3c7RpwYfYKBxBQEkLbvTU2P/Fm/TtXcAxRY17TskibyWHRkv07nl 2Rje41hHYLQneNGN/WvATEjaBObVkX96Y08CMYZ6yKdCRn5nZ8oHkgGCamGZknKLmD520y Y5YvljZKJCoR7NG9ACGUPCEAT2UMLZTAKFM4lKkhzOe0LYryM9NcHzIHZJqK7HYx2vpUw6 mESVVfdqATQBKl/Vcff2WOVTR1bEQwxZSwNQBygamowkxWPdKA0/U8R0CHxHQQ== 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 4Zk9Hx5G7Hz17GS; Thu, 24 Apr 2025 22:14:37 +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 53OMEbrJ036626; Thu, 24 Apr 2025 22:14:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEbDM036623; Thu, 24 Apr 2025 22:14:37 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:37 GMT Message-Id: <202504242214.53OMEbDM036623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6841b9987e83 - main - LinuxKPI: add container_of_const() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6841b9987e83fdd9a5b05ceafc20811469222d8b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6841b9987e83fdd9a5b05ceafc20811469222d8b commit 6841b9987e83fdd9a5b05ceafc20811469222d8b Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 09:25:21 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: add container_of_const() Implement container_of_const() needed for wireless driver updates. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49999 --- sys/compat/linuxkpi/common/include/linux/container_of.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/container_of.h b/sys/compat/linuxkpi/common/include/linux/container_of.h index 449507fcf9c1..7210d531b055 100644 --- a/sys/compat/linuxkpi/common/include/linux/container_of.h +++ b/sys/compat/linuxkpi/common/include/linux/container_of.h @@ -41,6 +41,14 @@ (type *)((uintptr_t)__p - offsetof(type, member)); \ }) +#define container_of_const(ptr, type, member) \ + _Generic(ptr, \ + const typeof(*(ptr)) *: \ + (const type *)container_of(ptr, type, member), \ + default: \ + container_of(ptr, type, member) \ + ) + #define typeof_member(type, member) __typeof(((type *)0)->member) #endif