Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2196886/?format=api
{ "id": 2196886, "url": "http://patchwork.ozlabs.org/api/patches/2196886/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260216-i2c-mux-v6-1-9be28ecfd7e3@gmail.com/", "project": { "id": 35, "url": "http://patchwork.ozlabs.org/api/projects/35/?format=api", "name": "Linux I2C development", "link_name": "linux-i2c", "list_id": "linux-i2c.vger.kernel.org", "list_email": "linux-i2c@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260216-i2c-mux-v6-1-9be28ecfd7e3@gmail.com>", "list_archive_url": null, "date": "2026-02-16T12:38:13", "name": "[v6,1/5] i2c: core: add callback to change bus frequency", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "cc03da45dc3a4d8a7f779457fe4a4a53daf762c4", "submitter": { "id": 46679, "url": "http://patchwork.ozlabs.org/api/people/46679/?format=api", "name": "Marcus Folkesson", "email": "marcus.folkesson@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260216-i2c-mux-v6-1-9be28ecfd7e3@gmail.com/mbox/", "series": [ { "id": 492305, "url": "http://patchwork.ozlabs.org/api/series/492305/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=492305", "date": "2026-02-16T12:38:13", "name": "I2C Mux per channel bus speed", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/492305/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2196886/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2196886/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-i2c+bounces-16011-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-i2c@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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=SRskJvEo;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-i2c+bounces-16011-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"SRskJvEo\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.167.45", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com" ], "Received": [ "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\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 4fF2Q03Cq2z1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Feb 2026 23:38:48 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 194B33008C02\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Feb 2026 12:38:40 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 4FBB02367CF;\n\tMon, 16 Feb 2026 12:38:36 +0000 (UTC)", "from mail-lf1-f45.google.com (mail-lf1-f45.google.com\n [209.85.167.45])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 958291DBB3A\n\tfor <linux-i2c@vger.kernel.org>; Mon, 16 Feb 2026 12:38:34 +0000 (UTC)", "by mail-lf1-f45.google.com with SMTP id\n 2adb3069b0e04-59dcdf60427so3074047e87.3\n for <linux-i2c@vger.kernel.org>; Mon, 16 Feb 2026 04:38:34 -0800 (PST)", "from [192.168.1.135] (83-233-6-197.cust.bredband2.com.\n [83.233.6.197])\n by smtp.gmail.com with ESMTPSA id\n 2adb3069b0e04-59e5f5b0577sm3175920e87.71.2026.02.16.04.38.30\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 16 Feb 2026 04:38:31 -0800 (PST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771245516; cv=none;\n b=f5ZtmYxzIKfThEuSR8LODQG0nuW6aX4ElRt9Y4RKBvF79svGottcs74VdlZnZmmOvXOQA/tQVqV/Pzw7GqHPUVNY0zfWcaqBkKyJHAB1L9RdFIwJv+3gPCpojqpwUm8wka+3lAYFYULMgNU+ds+oDDPwpGCe/a+7as4Q0T5UtsY=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771245516; c=relaxed/simple;\n\tbh=WkfZrlH2rNxO52cLVhBbxQV4YB4czTBtNoYoTszUuMI=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=adZW1D1PhhVH1xsWeot42VCNBx8/hf56IqlgTo2YK7PKB9EGjK9KS+9xFRs3ahkKqmwUnzYwlhR5Ou/WDkDK2cRZQRP1E1Pxhydr2EDFuf+LUGhaQdI+jj/uJxbmNMy2XP6B3M0YMTUY8wA5rSSrtxXnzhgayj/b5bmaz8CrJ0M=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=SRskJvEo; arc=none smtp.client-ip=209.85.167.45", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1771245513; x=1771850313;\n darn=vger.kernel.org;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n :reply-to;\n bh=JbwGPJS9piP3D1IROOiA3tAkFtRzDUpcLnnixg8UsRc=;\n b=SRskJvEo+A8t/LZIWyd9rZ8tWUYQHovHlhCTKeETdl2HftZnhqg2dmd+2S0LVoI9w0\n N7G/NkQloUuCGQsbH4tYy7ojZIDO+0AgIaqd/ptjKcqrxr8PVtIIFjRMpnZCJejz9/ao\n A06j+VK69gITf6Bz0oVGl7Ivur3/e2X4eQc3zRflDnogYhjRWQXcdeENCGbkUPOj4ckC\n KW6KX9oU2eHX7Qp+eF3c6+A+fSmyvnTMsAW92qDy3HlwkBnGlbWEt3SE2PXe00YLTQIm\n HneuHhPhdo7N6YnSGppULDpxoHme8Suk0ODIgakdm8rl/pXtN1TVpDdGdz7alkWGD/fy\n tQMw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771245513; x=1771850313;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=JbwGPJS9piP3D1IROOiA3tAkFtRzDUpcLnnixg8UsRc=;\n b=O2oIsiSoSq2HQ0AvsmIjYS3TmqlmNrN4RZDM6/wEF+EFBmin3eZ6tIGPARYS5T7zBo\n XGW4xywVTEfLQRvDw5y0y1xF4LaHgWBG5WRKgncbJtKhrg6Am9lfzgYZitScDCn42Wav\n a/aPKR+E2JfMTYJ7vfuJczQJ2Z5I8C66yGh+rEj9YhIIku6ahRovOyOvjg4CO0AdovyH\n hfyqPFeMCnc3CXXb/JQddtGH+gw1nQxMdj3Ie3JYPWi22jBHvPb5QeBFULx7NYXaJX1D\n sP0jtMw2oP3z0/LLxoc2om/ZQmDFL7yG23gA8/paPxDy9xsG8GRp411IP/scoJUxqBvB\n Ywgw==", "X-Gm-Message-State": "AOJu0YyRgC7PFMngSDW76QNeyPGDX8XnvxAmeOe6iumqoMOLKz3/UrH1\n\tPf02VKivL5e/5XR03jqRlB/eA2Sj0eNowefJcHoowcfqv3kdaeGW7b2J", "X-Gm-Gg": "AZuq6aJrLO+kn7646gzY/9AVsRO5ao2ZQF5Wlcox0CySVn6UgJUDaE9vnljbNnM5P75\n\t4u0B839xfSFNzOyVKETlBx6cjqGYnvMaJvfTOLHfYXq9Fye2oNEGW3V8iMYhvhQJpB99vpVDlol\n\thRzRQcI+r9YvRHMgdTwOdWm1pVgQMjn3WNSt4VK14pOWIPzpRzkUguWmodFLvTCihewvGkD9wwW\n\tZHg30R3jf4GhEZQ4E7Ok9/K6E6HYn/EVumHaG062gznDg/zip7aEQRQTAogJ2trZQRdw523BI7v\n\t/flPFdXIYLGQEaZksIdV3FXfoZscbdURaX0SxNkNEpcNVfgnaTy2w5c7JP2S8iOsBqBwSNDKJZH\n\t6KlOCIL8PY/T+XACMBLo5W2mQicPcfBd+QGap5TkOAMpxnBMoNDa43VQP3w2XkzOveKy32+/ZSy\n\t876z10Gi3kIeG5us079eTpJvYes0g3znpoLbPImMVFK+oig5M6saZIruSqQWDpORzdto8M", "X-Received": "by 2002:a05:6512:304e:b0:59e:4f92:5df3 with SMTP id\n 2adb3069b0e04-59f69c3e23bmr3523627e87.10.1771245512608;\n Mon, 16 Feb 2026 04:38:32 -0800 (PST)", "From": "Marcus Folkesson <marcus.folkesson@gmail.com>", "Date": "Mon, 16 Feb 2026 13:38:13 +0100", "Subject": "[PATCH v6 1/5] i2c: core: add callback to change bus frequency", "Precedence": "bulk", "X-Mailing-List": "linux-i2c@vger.kernel.org", "List-Id": "<linux-i2c.vger.kernel.org>", "List-Subscribe": "<mailto:linux-i2c+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-i2c+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260216-i2c-mux-v6-1-9be28ecfd7e3@gmail.com>", "References": "<20260216-i2c-mux-v6-0-9be28ecfd7e3@gmail.com>", "In-Reply-To": "<20260216-i2c-mux-v6-0-9be28ecfd7e3@gmail.com>", "To": "Wolfram Sang <wsa+renesas@sang-engineering.com>,\n Peter Rosin <peda@axentia.se>,\n Michael Hennerich <michael.hennerich@analog.com>,\n Bartosz Golaszewski <brgl@bgdev.pl>, Andi Shyti <andi.shyti@kernel.org>,\n Andy Shevchenko <andriy.shevchenko@intel.com>,\n Bartosz Golaszewski <brgl@kernel.org>", "Cc": "linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-arm-kernel@lists.infradead.org,\n Marcus Folkesson <marcus.folkesson@gmail.com>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=1764;\n i=marcus.folkesson@gmail.com; h=from:subject:message-id;\n bh=WkfZrlH2rNxO52cLVhBbxQV4YB4czTBtNoYoTszUuMI=;\n b=owEBbQKS/ZANAwAKAYiATm9ZXVIyAcsmYgBpkw/D8XNVBduW5ufUR8JhzXfBil47yj9Ci1zpG\n 4/9/BCAdEiJAjMEAAEKAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCaZMPwwAKCRCIgE5vWV1S\n MgXrEACCHJ+y+6aLdIWIBMz34AfkkMC771/Z6hrN3cqelZgrb9vN0zqBmObTMGEu3VadlDCSYc/\n 2G7HIhieoPs4fGw6lFRrCCZJIasm5dYdjtijFatEYNAzBbBAESjBkgnZ5FQMPeBcN4UgzyqkXoa\n aVgxbBUkmyI8D/ogiGbk4GPxj9Jo0nPjIA8M+L1qmzQnErkUfcAGLPujf4XS2gmHeP3p3iOkuq5\n vCwvoDF8rGxxg1+afj2qFcHyOmxG5RBoACtOPqjgF5lsCH6CQLLMuS9JzhBZLR7266zwVy0iw0u\n RSf2j5WG/a92luoD7bYTsNgk00OT/ui8Jp3OtDEm9Ymz9han/CMpIBgguDihueQTfT94s0bkuyb\n ARzbB3lbgtUzbykrepTWPBnW2HnotrzpQkp/sNkylvmGy1iCxbQHNrkvB8EUL9RIRHaZxvGCaX7\n 6F/fsdYJ+zYJrdPD4VfX/ZG63BGYDP6TkbgpLjsC8BA2LL5uu5jLY/d6YuZ9MpKZw/qjIQ+nykV\n DeXke1t1sMW2KzlP/2I3LPb2k4LT1x6GDXKEfLo3DW3wBrp6/12xuKlGJ0GaKiJxtpuZdUG2jru\n 1LADLtBvuP5IbfTuWWsEbUW3vhOQAhQ0iKTcZcyQv3Xx8ef1U23u3jSa1gnk1IL797zh4O9nHM1\n f47YQotq9GW+u2g==", "X-Developer-Key": "i=marcus.folkesson@gmail.com; a=openpgp;\n fpr=AB91D46C7E0F6E6FB2AB640EC0FE25D598F6C127" }, "content": "All devices on the same I2C bus share the same clock line and the bus\nfrequency has therefor be chosen so that all attached devices are able\nto tolarate that clock rate. IOW, the bus speed must be set for the\nslowest attached device.\n\nWith I2C multiplexers/switches on the other hand, it would be possible\nto have different \"domains\" that runs with different speeds.\n\nPrepare for such a feature by provide an optional callback function to\nchange bus frequency.\n\nAs a side effect, several bus drivers keep the bus speed in a\nprivate structure and can now have this value stored in a uniform way\ninstead.\n\nSigned-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>\n---\n include/linux/i2c.h | 11 +++++++++++\n 1 file changed, 11 insertions(+)", "diff": "diff --git a/include/linux/i2c.h b/include/linux/i2c.h\nindex 20fd41b51d5c..87654fab2f1b 100644\n--- a/include/linux/i2c.h\n+++ b/include/linux/i2c.h\n@@ -742,6 +742,8 @@ struct i2c_adapter {\n \tstruct rt_mutex mux_lock;\n \n \tint timeout;\t\t\t/* in jiffies */\n+\tu32 clock_hz;\t\t\t/* bus clock speed */\n+\tint (*set_clk_freq)(struct i2c_adapter *adap, u32 clock_hz); /* Optional */\n \tint retries;\n \tstruct device dev;\t\t/* the adapter device */\n \tunsigned long locked_flags;\t/* owned by the I2C core */\n@@ -835,6 +837,15 @@ i2c_unlock_bus(struct i2c_adapter *adapter, unsigned int flags)\n \tadapter->lock_ops->unlock_bus(adapter, flags);\n }\n \n+static inline int\n+i2c_adapter_set_clk_freq(struct i2c_adapter *adapter, u32 clock_hz)\n+{\n+\tif (adapter->set_clk_freq)\n+\t\treturn adapter->set_clk_freq(adapter, clock_hz);\n+\n+\treturn -EOPNOTSUPP;\n+}\n+\n /**\n * i2c_mark_adapter_suspended - Report suspended state of the adapter to the core\n * @adap: Adapter to mark as suspended\n", "prefixes": [ "v6", "1/5" ] }