Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2227113/?format=api
{ "id": 2227113, "url": "http://patchwork.ozlabs.org/api/patches/2227113/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/patch/20260423085718.70762-13-akhilrajeev@nvidia.com/", "project": { "id": 21, "url": "http://patchwork.ozlabs.org/api/projects/21/?format=api", "name": "Linux Tegra Development", "link_name": "linux-tegra", "list_id": "linux-tegra.vger.kernel.org", "list_email": "linux-tegra@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260423085718.70762-13-akhilrajeev@nvidia.com>", "list_archive_url": null, "date": "2026-04-23T08:57:11", "name": "[v3,12/13] hwmon: spd5118: Add I3C support", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "3e49b4f8e906a0d1acf00d7f666c371635359cb2", "submitter": { "id": 81965, "url": "http://patchwork.ozlabs.org/api/people/81965/?format=api", "name": "Akhil R", "email": "akhilrajeev@nvidia.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-tegra/patch/20260423085718.70762-13-akhilrajeev@nvidia.com/mbox/", "series": [ { "id": 501164, "url": "http://patchwork.ozlabs.org/api/series/501164/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/list/?series=501164", "date": "2026-04-23T08:56:59", "name": "Support ACPI and SETAASA device discovery", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/501164/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2227113/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227113/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-tegra+bounces-13865-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-tegra@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=XhQNzyK9;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13865-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"XhQNzyK9\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.85.18", "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com", "smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g1Vbv3mcKz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 19:07:39 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id E30363108707\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 09:01:07 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7A10736D4EF;\n\tThu, 23 Apr 2026 09:01:07 +0000 (UTC)", "from BYAPR05CU005.outbound.protection.outlook.com\n (mail-westusazon11010018.outbound.protection.outlook.com [52.101.85.18])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id A9DA43D47CE;\n\tThu, 23 Apr 2026 09:01:02 +0000 (UTC)", "from DS7PR03CA0030.namprd03.prod.outlook.com (2603:10b6:5:3b8::35)\n by MN0PR12MB6152.namprd12.prod.outlook.com (2603:10b6:208:3c4::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.20; Thu, 23 Apr\n 2026 09:00:56 +0000", "from DM2PEPF00003FC2.namprd04.prod.outlook.com\n (2603:10b6:5:3b8:cafe::26) by DS7PR03CA0030.outlook.office365.com\n (2603:10b6:5:3b8::35) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9791.48 via Frontend Transport; Thu,\n 23 Apr 2026 09:00:55 +0000", "from mail.nvidia.com (216.228.117.161) by\n DM2PEPF00003FC2.mail.protection.outlook.com (10.167.23.20) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.18 via Frontend Transport; Thu, 23 Apr 2026 09:00:55 +0000", "from rnnvmail204.nvidia.com (10.129.68.6) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 23 Apr\n 2026 02:00:32 -0700", "from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail204.nvidia.com\n (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 23 Apr\n 2026 02:00:32 -0700", "from BUILDSERVER-IO-L4T.nvidia.com (10.127.8.9) by mail.nvidia.com\n (10.129.68.7) with Microsoft SMTP Server id 15.2.2562.20 via Frontend\n Transport; Thu, 23 Apr 2026 02:00:23 -0700" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776934866; cv=fail;\n b=OqE5XQJO+kKnFr15RIhGXI37AGEGR7R43tKrFg2Y8N/Lm/yBbcawg0VRKSTrQZvyTNfhaRH4Fpqf8mqvl0W+0LS9xY1ocUimpLYgfWTipqNt0bHyi7GrD+qIHY22BzBfaitww+mo0YI3KwID7KBK8pYCPZVy6WGKtXttX/8vXI8=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=PCsvtuqpossJgCvatILOjVXgnA8U7vXt5M2BbRahmWhAZjnPcNGlb/5dHsnf8chogW/fAd4H2lvJcVATfIF1dPOhQm3HNSUuShMCYKl/6x8O4xsZHvJpUZTxpo4TQxYvnytYuH3EYTWOr/ni+E0hq3uCIGmtpoj/8M3bAnHsv+HDyt8jaEycIQ55JvNeXSsgH8DKlWRo19nvASLk6EgS4cDGfOWQks40ukCvyxqQ6+rWEYbQSBYTmpJgnm9Qn9bPh7jiz0Iog/W3yxKV/Mmrwmozf3WeH1XdR/KDQGh8aS4BUWTxAnohhOOCGXgN89q5YeUtmlhmLlQHAmC50lXjFQ==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776934866; c=relaxed/simple;\n\tbh=pC0Eh0NyxE/kcrGpPokepCA17o79hx0yx7ICIrn/CAM=;\n\th=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=eLGbr0WXQJRQUmaFABrYrSIMV58vvqw72W7spmSw9h/UX2fIZZRvROhDQbROXGfvAiZvRqt0XO24mXud6IN5L7//uxRJ8S7jXPWfnxT/qHp2FgYIgy4G+6OznI8ERwcfzcPNVFc2WKGBFCHEKoAo+YaxCa2zVDs25N4fd33VzmQ=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=d0hZdO80FZ9vJCMzl2JOQ+kUQKQSDRmMqGLUDxkR4vE=;\n b=trJDfIibLM7igoW/Srys313bq/yCp13gXXW6Osv6G1bWwvMKQ+kMN8LxJExkVa83jwG4G5UKzl86qVCd+IEurQqi+XHystUehhm/XFCpPEWdTHlkznx8iMiHSla7Wj+/z0JKrgy/VziCEzYixAykw2lMS4xfCjjABA2k7BUywj0SME1uReQXvxbs2Yea3t6/K4pT+iFTqZj1l/e8usnSnzsIBiFCvDj6y11ftv9/fZd8ej68SwuEdnL7bet1Lg+75ebI7exsWRywS+uIn7Ziu3P1avCNH9mb4oOu9WvB3PgPMJtz3h0xne1H0Qc5pC73oUZ+LK20sQDjy2WXz8blTQ==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=XhQNzyK9; arc=fail smtp.client-ip=52.101.85.18", "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=bootlin.com smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=d0hZdO80FZ9vJCMzl2JOQ+kUQKQSDRmMqGLUDxkR4vE=;\n b=XhQNzyK9QV1VEsra8t+O6lYmGAxQTjnCAai9Gjh6f4ROwJTf+8ihIJwBZWmh6KCcuQK8l1pipppuRDePSkmRgtezEfEv1fRfzIBXyu0By3NsGJkmkI8h4tZL+hLWhfmtyxh5S7l2Zmq5sdjhQW+XSWxWVBh5DfO9SVjR4aJxWGlUL1sQN1RLGs9FCcF9mTGjU+e8He2YCTWT8jV73cCBlGQkSscXnt/kZa8CxYMbBMyTTnPcWkbo4//DwHeLVbYARXkQo/7DCB1DSzp40wLAlgMqhgbkHb3JPc6X8K4wzmgOCoGOjaMxfEbcuVCi8+t//dy+nlcHIG8pAm51/x2qGA==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;", "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C", "From": "Akhil R <akhilrajeev@nvidia.com>", "To": "Alexandre Belloni <alexandre.belloni@bootlin.com>, Frank Li\n\t<Frank.Li@nxp.com>, Rob Herring <robh@kernel.org>, Krzysztof Kozlowski\n\t<krzk+dt@kernel.org>, Conor Dooley <conor+dt@kernel.org>, \"Rafael J .\n Wysocki\" <rafael@kernel.org>, Saket Dumbre <saket.dumbre@intel.com>, \"Len\n Brown\" <lenb@kernel.org>, Guenter Roeck <linux@roeck-us.net>, Philipp Zabel\n\t<p.zabel@pengutronix.de>, Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>,\n\tGeert Uytterhoeven <geert@linux-m68k.org>, Dmitry Baryshkov\n\t<dmitry.baryshkov@oss.qualcomm.com>, Arnd Bergmann <arnd@arndb.de>, \"Eric\n Biggers\" <ebiggers@kernel.org>, Wolfram Sang\n\t<wsa+renesas@sang-engineering.com>, Miquel Raynal\n\t<miquel.raynal@bootlin.com>, Jon Hunter <jonathanh@nvidia.com>, \"Thierry\n Reding\" <treding@nvidia.com>, <linux-tegra@vger.kernel.org>,\n\t<linux-i3c@lists.infradead.org>, <devicetree@vger.kernel.org>,\n\t<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>,\n\t<acpica-devel@lists.linux.dev>, <linux-hwmon@vger.kernel.org>", "CC": "Akhil R <akhilrajeev@nvidia.com>", "Subject": "[PATCH v3 12/13] hwmon: spd5118: Add I3C support", "Date": "Thu, 23 Apr 2026 14:27:11 +0530", "Message-ID": "<20260423085718.70762-13-akhilrajeev@nvidia.com>", "X-Mailer": "git-send-email 2.50.1", "In-Reply-To": "<20260423085718.70762-1-akhilrajeev@nvidia.com>", "References": "<20260423085718.70762-1-akhilrajeev@nvidia.com>", "Precedence": "bulk", "X-Mailing-List": "linux-tegra@vger.kernel.org", "List-Id": "<linux-tegra.vger.kernel.org>", "List-Subscribe": "<mailto:linux-tegra+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-tegra+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-NVConfidentiality": "public", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "8bit", "X-NV-OnPremToCloud": "ExternallySecured", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "DM2PEPF00003FC2:EE_|MN0PR12MB6152:EE_", "X-MS-Office365-Filtering-Correlation-Id": "cccbf4d6-3bb3-4b54-11d9-08dea116d40c", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|1800799024|82310400026|36860700016|376014|7416014|921020|22082099003|18002099003|56012099003;", "X-Microsoft-Antispam-Message-Info": "\n\t6Xl9A36w0lrwG2FlPTk55H3dDcEIrzKD5BcTJzdIT4Tu5s7LAhnTAUjpoExzIKFVq/ieqUZY/ByZDimzIN/U6i2nb59qYWPxQohwzSEzqKmwytGSfUWNh/4xPD/pi8q+vCF0bL07Xz88uNIyuWxk8KNBiPkMRkUi/Bw/Zr8wgigZerasLQIBU07UaGRGBHUOa0V/UUBziswzwUJzoiqRVQD8yxq20ueSt3CNhR1vnA0gHXQx/pwKJn7zma2FIzChLgr7OPjK3GuAAXIY/kUOH54YSfdBEx+ZZziCQkWl1VcS3LsQ+ewaIUbqXqVBc7TifBSBboBnINhlwjSp0zcOdBwQB1XFwbOio0jvVTHdl/GoXZNGMT9p7KTBxhMsd501hrWtf7XPkiXBaqM6tgeplJwYIrI0h4BdbqkhYrpZm5QtbCrporQkI+Y9ISejE8xnTQQBMz0OfDgch7B3/maFy5s4AijygJqVI62O0aOh84mc+ATYm46fvbw0o5olAmYmpJXwu9bAjxnK/leOHbj9PLbwlE5Fy3ifEL5bKQyL7Qj6X9WIceyosAWeLr3I/9r+OsM84iQuqK2rtDDL1h4rXlSmTG4owP+VhYxKOswvBfur5SDp8ywOhz+W96EjUDkDaND7uQ6Qf66VLOLSi+5uG+/irfteCGkqNr0W4ISBDATLLd9s+Jtg1Jztg3oHbtek59dREb5G0l55Bvdnbhm1I7oI0YHdnON0wRcsgWa3oTtdujlthDbjIXIXPsADK1cyWMNEhtFScZsJ7oT9R6ziBZQb3HAer7x+QXfYUiyKsvbasJl9m0MhZYozyUf70OKp", "X-Forefront-Antispam-Report": "\n\tCIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700016)(376014)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n\tG2z1BSe9lAleT0te6ap2sBoyCYvnpbeFQa6d8/Qd26eeJyEI4i0Q3f0sFnp+rEVcrJ8d/sxN0iZ231xzyvnSjNtlwD8HqMLlVFDPaotEhQfTbKxzcuFxpaO/EOZVoWHevVSqmmXznhqzvVUcosf9bE8LxjKsGJm2x8IguwLXQLemlxFKmnu1bOwLOJgGe6cuBP6FwgrdJcpVp9HzTopugpHZZ29mxnCPk2WsOtkFahEJSYG3VNpmxrYS7PeNbjZ4/dP3+Xt1H3ph3UAnCpHTS9aMB3vMdzAM7o51L/3J4KkBhBggXVxcrsveittPeGjPZGb1WAtkyWutvD45AGglY/OhmF9PVvfkiVw34d1jni742okKnXEid81QGhzzN6QBYw+m2BEQJImd7quR1EbuCj0Euc6QWjQCwzXgzSs1a7YzTSjGMPDAU5lAzgsx147h", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "23 Apr 2026 09:00:55.0689\n (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n cccbf4d6-3bb3-4b54-11d9-08dea116d40c", "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n\tDM2PEPF00003FC2.namprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MN0PR12MB6152" }, "content": "Add a regmap config and a probe function to support I3C-based\ncommunication with SPD5118 devices.\n\nOn an I3C bus, SPD5118 devices are enumerated via SETAASA and always\nrequire an ACPI or device tree entry. The device matching is hence\nthrough the OF match tables only and do not need an I3C class match\ntable. The device identity is verified in the type registers before\nproceeding to the common probe function.\n\nAcked-by: Guenter Roeck <linux@roeck-us.net>\nSigned-off-by: Akhil R <akhilrajeev@nvidia.com>\n---\n drivers/hwmon/Kconfig | 9 ++++---\n drivers/hwmon/spd5118.c | 56 ++++++++++++++++++++++++++++++++++++++++-\n 2 files changed, 61 insertions(+), 4 deletions(-)", "diff": "diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig\nindex 14e4cea48acc..a7f60f8868eb 100644\n--- a/drivers/hwmon/Kconfig\n+++ b/drivers/hwmon/Kconfig\n@@ -2309,12 +2309,15 @@ config SENSORS_INA3221\n \n config SENSORS_SPD5118\n \ttristate \"SPD5118 Compliant Temperature Sensors\"\n-\tdepends on I2C\n+\tdepends on I3C_OR_I2C\n \tselect REGMAP_I2C\n+\tselect REGMAP_I3C if I3C\n \thelp\n \t If you say yes here you get support for SPD5118 (JEDEC JESD300)\n-\t compliant temperature sensors. Such sensors are found on DDR5 memory\n-\t modules.\n+\t compliant temperature sensors using I2C or I3C bus interface.\n+\t Such sensors are found on DDR5 memory modules.\n+\n+\t This driver supports both I2C and I3C interfaces.\n \n \t This driver can also be built as a module. If so, the module\n \t will be called spd5118.\ndiff --git a/drivers/hwmon/spd5118.c b/drivers/hwmon/spd5118.c\nindex 8fdde35e68cd..db66028d2f59 100644\n--- a/drivers/hwmon/spd5118.c\n+++ b/drivers/hwmon/spd5118.c\n@@ -18,6 +18,7 @@\n #include <linux/bits.h>\n #include <linux/err.h>\n #include <linux/i2c.h>\n+#include <linux/i3c/device.h>\n #include <linux/hwmon.h>\n #include <linux/module.h>\n #include <linux/mutex.h>\n@@ -464,6 +465,27 @@ static const struct regmap_config spd5118_regmap8_config = {\n \t.num_ranges = ARRAY_SIZE(spd5118_i2c_regmap_range_cfg),\n };\n \n+/*\n+ * SPD5118 2-byte register address format (JESD300-5, Tables 7 & 20):\n+ * Byte 1 (on wire first): MemReg | BlkAddr[0] | Address[5:0]\n+ * Byte 2 (on wire second): 0000 | BlkAddr[4:1]\n+ *\n+ * The address byte (with MemReg and lower address bits) must be sent first,\n+ * followed by the upper block address byte. With regmap 16-bit register\n+ * format, this maps to little-endian: the low byte of the 16-bit value is\n+ * transmitted first. No range config is needed since I3C does not use MR11\n+ * page switching.\n+ */\n+static const struct regmap_config spd5118_regmap_i3c_config = {\n+\t.reg_bits = 16,\n+\t.val_bits = 8,\n+\t.max_register = 0x7ff,\n+\t.reg_format_endian = REGMAP_ENDIAN_LITTLE,\n+\t.writeable_reg = spd5118_writeable_reg,\n+\t.volatile_reg = spd5118_volatile_reg,\n+\t.cache_type = REGCACHE_MAPLE,\n+};\n+\n static int spd5118_suspend(struct device *dev)\n {\n \tstruct spd5118_data *data = dev_get_drvdata(dev);\n@@ -701,7 +723,39 @@ static struct i2c_driver spd5118_i2c_driver = {\n \t.address_list\t= IS_ENABLED(CONFIG_SENSORS_SPD5118_DETECT) ? normal_i2c : NULL,\n };\n \n-module_i2c_driver(spd5118_i2c_driver);\n+/* I3C */\n+\n+static int spd5118_i3c_probe(struct i3c_device *i3cdev)\n+{\n+\tstruct device *dev = i3cdev_to_dev(i3cdev);\n+\tstruct regmap *regmap;\n+\tu8 regval[2];\n+\tint err;\n+\n+\tregmap = devm_regmap_init_i3c(i3cdev, &spd5118_regmap_i3c_config);\n+\tif (IS_ERR(regmap))\n+\t\treturn dev_err_probe(dev, PTR_ERR(regmap), \"regmap init failed\\n\");\n+\n+\terr = regmap_bulk_read(regmap, SPD5118_REG_TYPE, regval, 2);\n+\tif (err)\n+\t\treturn err;\n+\n+\tif (regval[0] != 0x51 || regval[1] != 0x18)\n+\t\treturn -ENODEV;\n+\n+\treturn spd5118_common_probe(dev, regmap);\n+}\n+\n+static struct i3c_driver spd5118_i3c_driver = {\n+\t.driver = {\n+\t\t.name\t= \"spd5118_i3c\",\n+\t\t.of_match_table = spd5118_of_ids,\n+\t\t.pm = pm_sleep_ptr(&spd5118_pm_ops),\n+\t},\n+\t.probe\t\t= spd5118_i3c_probe,\n+};\n+\n+module_i3c_i2c_driver(spd5118_i3c_driver, &spd5118_i2c_driver);\n \n MODULE_AUTHOR(\"René Rebe <rene@exactcode.de>\");\n MODULE_AUTHOR(\"Guenter Roeck <linux@roeck-us.net>\");\n", "prefixes": [ "v3", "12/13" ] }