From nobody Sun Feb 8 10:49:51 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77EC035CB8F for ; Tue, 23 Dec 2025 10:08:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766484512; cv=none; b=UJaQE/AfFUgoz0RsUhE4/4gDuH/EfoRqxmryRYL7/ZQi9mVR+mHXiYNO6NXh1JfelvCQg+OvtFBBgKXIeIkWl613YKo7DDUCMFc2HVhAzs6vaRxcmdkZomAjrCRM2BtZW38JJrMxreo4Xl3/r2alcwKnXd05L0WyI5JCLBQJ86w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766484512; c=relaxed/simple; bh=88tiaV9HDvlr3GN1PksEheeTAyjNgOl38ys1aboqBxc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=seCKTGupEuGoMwfJdB2EFFlasrxAj4cHf7xHKGHwWlQaGaJz1O8hoRuPkZrZAH9lv4t5+rzZyl2lERFBMtzoKqvIraE4Y/rGWvzqDxRSSbj20+0zCB6V4HNv4MbOPQ2W8HG/9x2WNbACjVXvWudaHofp8BFgp4N7TM3CwlfCUYE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=DqGm7dqU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OsVdUaAq; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="DqGm7dqU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OsVdUaAq" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BN7FddR2115304 for ; Tue, 23 Dec 2025 10:08:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= C1LYEIUrAQOrp9ghi20i/HX5sg1rutbkLtla6X4TRo4=; b=DqGm7dqUbSPgdGzS Lal65ErB5wH1M9lZLd1C3ckVOTuOArLICTpItioTf5bcH6dyEj6WsP2+At+d27CA KCozZv1d1i1neMCcdHqQjt1SuF3I64B+5eFM1YElm1meHP9vPaA9djWxJCx344hl LMEIUIEcLotm5QgvNmMnvMteQcMktv+bwxsujcOT5U1eZRFPX9XqQ0D/r2tzg4OA 5aOCjwc4EmvZLI+Y4Tz1peaP2uFhaIK2PcmR9LRBy2btFT0PVkvtTy/paC1Tt0U8 tRQcSfKfdSpjCeiBuAmYqB3SgMm84VEuhP4wzZOIsMCfH0MSbvy0Mr0QuNKqx8NM aeOyCQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7cudj8st-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 10:08:30 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ee416413a8so52873801cf.1 for ; Tue, 23 Dec 2025 02:08:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766484510; x=1767089310; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=C1LYEIUrAQOrp9ghi20i/HX5sg1rutbkLtla6X4TRo4=; b=OsVdUaAqd/t9eFvpNfEc2S0FvAhaZJUMJocvkG28WOhqgzWk7MTG2HeV+MWweD+TtQ rDR0EL6gic9owv8nGuWvvSThjSWK9ggSuiR+mNAWdYWldPu484kYrOr5tkCoGvMGMhMb TrrOiGMs1l3GyWAzAS1V2KqjeEP0XdxSIZ/aRiaNCNWPcutUKNrWr+byDK4bCJHYApQi N2ie+LEpS0QYlA5n0dYNgUXHYa+7lg3lHZ/TEsMaIzV0AUyQe5cLMwrquJk4XbY2oDul u91kMIcnRyM4cycmhLQEgTl9oKZzIXG3G0jwKn3OQbrEiy1uX3HCTP5OVrPSkLXrl7Gd axYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766484510; x=1767089310; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=C1LYEIUrAQOrp9ghi20i/HX5sg1rutbkLtla6X4TRo4=; b=Tml6EK5f85RnGePuFDPSWmh7/VQk2ysDcAlVis/JgHhsxAKBH7dBMktSI5ksyp7nK3 sE2W5D9805qNfIEvc4xJFtXLuPK5nvO9tHVNU+JurzmfbXkcRRlDlomWZul+f4+GxDrl 6A78MOmmFc2Vmsw+PKG6c0PENQOszY8COrKr/RzNU5Ls53h1Llird05Q3GxKI73APP0Z KwXNuvD0FarHivEl3H0gfAljNKFLgp1URzBGx8JLifA08HlKHGB5lu3zAjqfmsBBtM1M Xm2GFAX4o/Tne0EywEEwGrv0z9lRKkmxbgsniaiNfssTWBZZB+4rvM6nNf6m7ENMrpDU da3A== X-Forwarded-Encrypted: i=1; AJvYcCWmP2WWJ/mAo1TVMtaE0FV35j5UgvZPGXKagJKlXodA48V5Jok87d05qzANnK4utDxYbWlKyk4Dr6SnczQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzeR6hJir8+DuYd+ekclVb37S7WxvothZ3muFmHY9u1pJ1uHUU+ CCFDQSUX7ODGlwos5Fu34ZjQT/zxdgsJPUN2my4MLlsTPUQ95C6iAJo1tvAQwp72X8BNN/DqthQ FUHpvTxf+w9gx+SIXSCAbLxVrPTlX/wFJ6YLSXqci7rIhL9BEajA37GOJjkvYBv7qHO+YQnn64R U= X-Gm-Gg: AY/fxX4DzimuA2kIK5uElkHvu0fWvf0KZc+NuaZB8fQUF59iirvU6pEXs0UdQVhY6Q8 OGRkMIZb/y+A7aygaq/2JqB79ZNGIkR4lAF25nWQxcLM9UVQr0N2Gdv30QahwdRyMfzwRzLWXDZ xR/0kjlv5vWeWUP2Tdh9r47IzG50ypIu3Z8bkj0Fr4tjsqAvJuhpRgi5Xr66K1Vt8fgZQXH2XLz G/lk1AYP7JI3cMwjBp4xE1nV/jytnUjiKY0iZvIY4ecqX6zbmVvMhaHqnLCKBg0KgMfxOEc128b epkdrIvZ8JW8y9Phmo7v4oXt3XwJExLn/aMuEIIZmcOo9dmcl7D4H7375klbLH6KawToo+KZr2E iaaQnGI1ahfLuQlB1HK/7+IHDWc6j+UdNe8EtRw== X-Received: by 2002:a05:622a:1c11:b0:4f1:ac12:b01c with SMTP id d75a77b69052e-4f4abca8917mr217344261cf.3.1766484509778; Tue, 23 Dec 2025 02:08:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IGggn1nlQn909OxifadLVIHuwQ9ltP/J9IvhW1bDhTLBQpcC4YucBCUI/n1P24jN0Eyrcc74w== X-Received: by 2002:a05:622a:1c11:b0:4f1:ac12:b01c with SMTP id d75a77b69052e-4f4abca8917mr217343951cf.3.1766484509333; Tue, 23 Dec 2025 02:08:29 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:190a:1976:65e2:c61]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d1936d220sm249823015e9.8.2025.12.23.02.08.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 02:08:28 -0800 (PST) From: Bartosz Golaszewski Date: Tue, 23 Dec 2025 11:08:18 +0100 Subject: [PATCH 1/6] i2c: provide i2c_adapter_dev() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-i2c-adapter-dev-wrapper-v1-1-bcf960a48fa9@oss.qualcomm.com> References: <20251223-i2c-adapter-dev-wrapper-v1-0-bcf960a48fa9@oss.qualcomm.com> In-Reply-To: <20251223-i2c-adapter-dev-wrapper-v1-0-bcf960a48fa9@oss.qualcomm.com> To: Wolfram Sang , Jean Delvare , Andi Shyti , Shyam Sundar S K , Nirujogi Pratap , Bin Du , Mika Westerberg , Andy Shevchenko , Jan Dabros , Gregory CLEMENT , Hans Hu Cc: Bartosz Golaszewski , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=940; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=88tiaV9HDvlr3GN1PksEheeTAyjNgOl38ys1aboqBxc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpSmoTMopPxJ6GO7jTgjM3KEDBfsvJtWFWAICPu igD025MAceJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaUpqEwAKCRAFnS7L/zaE w93PD/kBN9hgydLIL6zjxH4ys73jsujiYnt4mcCTmshlf7mAI7JPNWaXD8GZt0R7n1I5tZRlCI+ qPBbM9aZLTRJMXJy4FOysOL1ar7OXf9EzgSOUvDxMUJahCWCqglE3PuWvVNy3Zm5ljEbyKTiqCe axhlmMyaVAdq7zjxBvuSgPbzreWFvuX/IwiamNVYmmzLS7RG9WYc0+LY2kKrAAy2g9eKNqW7vQv rUfx0/h7clEA65jxYTzm5iqD6ltlJNO1s4Z5VZTqOE5PaOkgGvY9kbYGugdU7d/c+zxXu89uKH6 KysF0S9fRIN+RTv2S5K9JvSyjA3FGz0amd7PlffYyHMiacdRqMku6w6PqAhpyumJmJYeL0qm6Na Ot9aS/eIv68qsnndCqmcmQ/moR0LAvasU0DVyNHNN5eREd/1zDYlEL8R9GVI9E6nYIlHk3sGP96 CcQEnAqGdMaWG1OH+1LCuVmPnhdQKurtGFg5GgYQljXtElqi2fBueZJP9O1iwdEmD1nXxFsUQ2k 5XG5AeVFPKNjINN5SHebADZabOi5bM58Snbt+QXnGKlazC752fYak68abSHs3tDrts9vR4fOjJO subkfv9RiYW28zUhRXDqSm0818NDw2/xP2ixVrkMe4OlW/yVr8pxjshFjGs9lhjIc3dwiZX/jcY UOrQ1JuZ4rK7qtA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=ebkwvrEH c=1 sm=1 tr=0 ts=694a6a1e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=GLuwdYkDV1VJkgsO8fEA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: NNYqDA_72fcgxq7DqtcaC1UgOnsa7Cab X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDA4MCBTYWx0ZWRfX8U1e54L8R/qh zmGQTvHY2OvTg5jLPNcPuOJTVvcoZbiX6PsPqdYI6beJBTl8tii6S0VMGHhYgof/7En6bPqTR4Z XcL7wC1oj7O9elBS1zrAFDklLlkGdj4o8euNFfs/98nVPXwqQPS342BwbmG1j3t3CNdkYYoVbCw ycwOiFg1MpK/nNhZG8wv+tNwi8Z4QpTIeIC7nfSrZGzTb1C7Sf2Hz2PnMBVx+etxVuAvxv+h3mN 0HFhf3XHA1WhhIkCnC1vquDAlS06TztXY5bfCpd5skQr2dy5xpDpfZrIjXw0k9xpuXZOb/JMWG7 ugEnkQdT1z+52Oe5kMkt+VSKn+7gFKiJmPSIuwFIpuv8blgrmE4OWmNdGXGl83HU/0pxax3lK6R GoGnFWcNxguGKdlfQQvaKIpU1q0TOFMEfWiY2IsRIEBjgdKyXTEKQbaKyckuYhGJTjc+5JFONtp ifUHVF2ox+0RGATe9Ng== X-Proofpoint-ORIG-GUID: NNYqDA_72fcgxq7DqtcaC1UgOnsa7Cab X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_02,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230080 Provide a wrapper around the dereferencing of i2c_adapter::dev. Once we convert i2c drivers to using it, it will be possible to finally move the embedded struct device into a separate, revocable structure protected by SRCU. Signed-off-by: Bartosz Golaszewski --- include/linux/i2c.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 20fd41b51d5c85ee1665395c07345faafd8e2fca..b5f4db9417aca2e058c8be19d57= d693339b6f9b9 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -768,6 +768,11 @@ struct i2c_adapter { }; #define to_i2c_adapter(d) container_of(d, struct i2c_adapter, dev) =20 +static inline struct device *i2c_adapter_dev(struct i2c_adapter *adap) +{ + return &adap->dev; +} + static inline void *i2c_get_adapdata(const struct i2c_adapter *adap) { return dev_get_drvdata(&adap->dev); --=20 2.47.3