Cover Letter Detail
Show a cover letter.
GET /api/covers/2196304/?format=api
{ "id": 2196304, "url": "http://patchwork.ozlabs.org/api/covers/2196304/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/cover/20260213-i2c-mux-v5-0-fb2cbf9979b3@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": "<20260213-i2c-mux-v5-0-fb2cbf9979b3@gmail.com>", "list_archive_url": null, "date": "2026-02-13T11:06:49", "name": "[v5,0/5] I2C Mux per channel bus speed", "submitter": { "id": 46679, "url": "http://patchwork.ozlabs.org/api/people/46679/?format=api", "name": "Marcus Folkesson", "email": "marcus.folkesson@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/cover/20260213-i2c-mux-v5-0-fb2cbf9979b3@gmail.com/mbox/", "series": [ { "id": 492083, "url": "http://patchwork.ozlabs.org/api/series/492083/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=492083", "date": "2026-02-13T11:06:52", "name": "I2C Mux per channel bus speed", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/492083/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2196304/comments/", "headers": { "Return-Path": "\n <linux-i2c+bounces-15971-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=AsQz7tiK;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-i2c+bounces-15971-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=\"AsQz7tiK\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.208.173", "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 sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fC8jt18SNz1xvQ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 22:16:02 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 985043118698\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 11:08:00 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id E04F9352936;\n\tFri, 13 Feb 2026 11:07:57 +0000 (UTC)", "from mail-lj1-f173.google.com (mail-lj1-f173.google.com\n [209.85.208.173])\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 34D95354AEC\n\tfor <linux-i2c@vger.kernel.org>; Fri, 13 Feb 2026 11:07:56 +0000 (UTC)", "by mail-lj1-f173.google.com with SMTP id\n 38308e7fff4ca-38709888abeso6234741fa.1\n for <linux-i2c@vger.kernel.org>; Fri, 13 Feb 2026 03:07:55 -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 38308e7fff4ca-387068924c3sm13635831fa.1.2026.02.13.03.07.51\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 13 Feb 2026 03:07:52 -0800 (PST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770980877; cv=none;\n b=Ljrmd8bcxUQzJweI7n8hSGwXdWcq950g+lcHevEbdjW+ZADunlzJpKSfDasHDQ/LMZiRcOt7/jKLD651xkhV4jLH5TLHbNjULnyJ9C3aVxKsLqwdB0PYqzDrOpHmCCGrnHp4x4z0YEaIjlt6Xbf/dEWjEV9+maHiZykpXMFzguQ=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770980877; c=relaxed/simple;\n\tbh=6Zg5zzVF8oCDJTjErI+gpu9LtMPTNvBI/8T4SJ08IMw=;\n\th=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc;\n b=Ul3s/d08kM0F0zQ8ZsCKXNzZiqCUmUCSCrm5SRko9RvUcyvFXUL6Ma3uW01eT9do13eHiL6/xZ25FApDdUisAHIH5zsYeDbbJHD3ufdVI+m42xR5N7rf60lFRvBvjJGGpVOoYS24dUmi1UNgQp8T7KklSOUIr2tb3rD/HrrtjjQ=", "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=AsQz7tiK; arc=none smtp.client-ip=209.85.208.173", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1770980874; x=1771585674;\n darn=vger.kernel.org;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:from:to:cc:subject:date:message-id:reply-to;\n bh=8qjLa07Snj3KltW2TJr3+SAb5Y1SXhPe7Ar7X2Wa5FI=;\n b=AsQz7tiKOurikD2Djp0qzq98rzuwPvXzLxNqk5EZ9UVSCs8GlMDW61ie8AxRyhvNpy\n TNaS9K/oDV8IYvMAQ4/PTSiB2e3HxO1mSv+rEJ5M/zAlUe2H27b4NNnHZPigK5p8S9+u\n kMYtbo/IPSXyH0WHUbO/tcJnyLsjo/Fkla36pFYHATHhhqKwj9bqUsWYj27v08Y6w00D\n Ia2qDwdDOY/D3Z3xpg1YnNYCkU194SQPnbXm4pY6pcDwz8UL93CltXOsbAmUI7xvUrbq\n txbISipMOj/45aakz8C9HpM3ZN+dWx+66CvECv20IaLjJROElZyhjNijIC9u/7FGIJ3k\n ZAbw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770980874; x=1771585674;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=8qjLa07Snj3KltW2TJr3+SAb5Y1SXhPe7Ar7X2Wa5FI=;\n b=UJD/+LbLhkrkdJp2gE8SzscBsID4EwWl+IUxKT+TEBt/Ex5/wfev/8O1AtdTCLoarK\n oP106kuphJZrDaIm48GnpP+TbSct0TI0DQpYhkqJkvyvnfzUKP4hY9n+RWZc4WDZNDjs\n avf82zI5WC69oK+7qZhixTMsw7Rqwvd3HPa3Ma0jP3nM1sUUTtSWpBJKRAsSumwSnTyh\n xNryOOE892VNYMDmnrO8Rs6eC4HCadN4/NDdcBkVxPvd3LUhoyBkqCUP/G75WIqyEIUc\n mXbLCNQ8BokTHG9Yt3xnNQfGmaZfqu/mSeC6TUFlVmsx6ld1BDTe6P2E9n3x75TNJ/Gk\n plcw==", "X-Gm-Message-State": "AOJu0YxIbNQCizhMjnWhlI8MqUGEllgEuZnnDTx9Zpu68zGfWOSPIJ17\n\txBgMtXL7eDWIsOinLg5XdPfk8fnOcMx25XEym6pYGb2JAprDM6b12Lsn", "X-Gm-Gg": "AZuq6aJQHbmAcuGH14SV1I6r4B/9zPzpecYj9jpBVxYTqPeGZ27Nb7ZqQbAw46O/RPV\n\tnxNsOopLiVOKG0wUDeLTGNHgb22aRep6oyMlj2o7VM1sw8n/XxS4lgZ3fKKITOntfRKCSpQR1Jb\n\tpcalQZ1ep4vgGqcK7zCvUDFPfxA/Fu3jyccdq25rZLdA+bmI3M81ATnYfA9b/Q6QvWxzrrr7WXi\n\tEbIadPdpxNYaP6YdWHs83+XbO9xq7BmnV5dnk2XhCNDa2wHWQyEaabhcYOJsNiQqyIJAy+TXBE5\n\t488fDQK6P9AUZ5JXVftEF4OvC1OS4gEbBNyztw7LcthZP0j9qO4JBokeFKbWeRzVyAzx28jBwdE\n\tp89/WKqvUrKgSNLC3F6ZhGuUYcDlGNe+R44VCyQdHRxhuPdNu/gG+oJkEOPcUnzz/CGMO12H6tA\n\tRA23Xe/WrErgNTvC7XSnpF8AOPENF1kDZWcyNCk/keCUarjnPkUoKsWIcIx3cZuZWDmAwj", "X-Received": "by 2002:a05:651c:507:b0:382:56ff:5207 with SMTP id\n 38308e7fff4ca-388106bd9d1mr4862141fa.36.1770980874089;\n Fri, 13 Feb 2026 03:07:54 -0800 (PST)", "From": "Marcus Folkesson <marcus.folkesson@gmail.com>", "Subject": "[PATCH v5 0/5] I2C Mux per channel bus speed", "Date": "Fri, 13 Feb 2026 12:06:49 +0100", "Message-Id": "<20260213-i2c-mux-v5-0-fb2cbf9979b3@gmail.com>", "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", "X-B4-Tracking": "v=1; b=H4sIAAAAAAAC/13OywrCMBCF4VeRrI1MJhcbV76HuIiTqQaslVZLp\n fTdjeK1yxPy/cwgWm4St2I1G0TDXWpTfcrDzmeCDuG0Z5li3gIBLXilZUKS1bWXOwCnI2NgE0X\n +fW64TP2ztNnmfUjtpW5uz3CnHq+vBuKn0SkJEgvyJjgFXsN6X4V0XFBdiUejw49TAD8Os9s5X\n 1hnKHrrpk7/OISv09l5KAJZKvMheurM2zlQWHydyS4yG0+MS0d/d47jeAccwntKRgEAAA==", "X-Change-ID": "20250913-i2c-mux-b0063de2ae4d", "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 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>,\n Bartosz Golaszewski <brgl@kernel.org>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=3260;\n i=marcus.folkesson@gmail.com; h=from:subject:message-id;\n bh=6Zg5zzVF8oCDJTjErI+gpu9LtMPTNvBI/8T4SJ08IMw=;\n b=owEBbQKS/ZANAwAKAYiATm9ZXVIyAcsmYgBpjwX5HtrqcmkQPSZpwqBn6R0i9TqyIcMWVcVMk\n PpEcN1G6tWJAjMEAAEKAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCaY8F+QAKCRCIgE5vWV1S\n MnK7D/9iXOEt0lu1Aeo2dDh7ZbVIPwdDLEUFRVq9sonqV1yUmY3Q0eqZOZq8AARVHZVHxWQvqln\n +OS7RBmfRa7btWLF+te5ZrIQNkyVoa11KZ4KPlijkiz0LVGfQOidacqfXzrHJyMX1XdpohtbRD9\n r8ptcxhCUHSrk5VSzE31fcZxaEgeflr1T290hfRlf8JMArQz7R184gk6tSgqSvX1gTHYGoq/aze\n iSh44xgC47QDogKy6bvkaGI7zjbocQS8hqSprU/xxXom2/32Cq9+6Th3pOl8K6tbUdSwLU8RLGj\n h7BT5v3u/zoEp5R/p95pPe/rJsBVZQKvX9xn6Uj1ffQC/0B8lfZb45cup+QFpYzrFOpMcpUYWYi\n PR3bjpxIp33OO4HK6GSlFrEEK/DD66csG6dIkiV050VMJ4zPtehCx5IG+OK84sRrJDfAYUV4bgh\n 2psciGnK3gwrBN9J2cIBNr8mtRs97NNnt/bWHqzaNjN99Mt73G/TuqQTS2HLHzvPcfSMqANlr1A\n O+QqOXFSJRCOi5p+fsGWpw9fSgfLMkBCgNTC/OixPMp2ow2X6pMSdb6nWiCfR8YmjmTx43/dh0D\n uS1sEB2lvZySAAbhp+9LCpWbdYR+LHq3Xh83ITrIHPyBVABAprH3lOCrrIrjJqv8r43feZd5HT7\n pMrPfNS+tLl6jFw==", "X-Developer-Key": "i=marcus.folkesson@gmail.com; a=openpgp;\n fpr=AB91D46C7E0F6E6FB2AB640EC0FE25D598F6C127" }, "content": "This was a RFC on how to implement a feature to have different bus\nspeeds on different channels with an I2C multiplexer/switch.\nAs no major complaints on the design came up during the review, I\ndecided to submit the series without the RFC tag.\n\nThe benefit with this feature is that you may group devices after\nthe fastest bus speed they can handle.\nA real-world example is that you could have e.g. a display running @400kHz\nand a smart battery running @100kHz using the same I2C controller.\n\nThere are many corner cases where this may cause a problem for some\nhardware topologies. I've tried to describe those I could think of\nin the documentation, see Patch #5.\n\nE.g. one risk is that if the mux driver does not disconnect channels\nwhen Idle, this may cause a higher frequency to \"leak\" through to\ndevices that are supposed to run at lower bus speed.\nThis is not only a \"problem\" for changing bus speed but could also be\nan issue for potential address conflicts.\n\nThis patchset has been used and tested heavily the last months\non a custom board based on a da850 (DaVinci) platform.\n\nThe implementation is split up into several patches:\n\nPatch #1 Introduce a callback for the i2c controller to set bus speed\nPatch #2 Introduce functionality to adjust bus speed depending on mux\n channel.\nPatch #3 Cleanup i2c-davinci driver a bit to prepare it for set_clk_freq\nParch #4 Implement set_clk_freq for the i2c-davinci driver\nParch #5 Update documentation with this feature\n\nSigned-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>\n---\nChanges in v5:\n- Take the lock of the top-most mutex locked mux to make sure that the\n root is locked\n- Link to v4: https://lore.kernel.org/r/20260128-i2c-mux-v4-0-dee49ce276c0@gmail.com\n\nChanges in v4:\n- Rebase on master\n- Swap order for printing warning about \"channel %u is slower than\n parent on a non parent-locked mux\\n\"\n- Fix typo in comment, adaper->adapter\n- Link to v3: https://lore.kernel.org/r/20251020-i2c-mux-v3-0-908ac5cf9223@gmail.com\n\nChanges in v3:\n- Return -EINVAL if channel is faster than parent (kernel test robot)\n- Link to v2: https://lore.kernel.org/r/20251002-i2c-mux-v2-0-b698564cd956@gmail.com\n\nChanges in v2:\n- Changed bus_freq field to bus_freq_hz in davinci_i2c_dev (Bartosz Golaszewski)\n- Removed idle_state from mux core (Peter Rosin)\n- Link to v1: https://lore.kernel.org/r/20250922-i2c-mux-v1-0-28c94a610930@gmail.com\n\n---\nMarcus Folkesson (5):\n i2c: core: add callback to change bus frequency\n i2c: mux: add support for per channel bus frequency\n i2c: davinci: calculate bus freq from Hz instead of kHz\n i2c: davinci: add support for setting bus frequency\n docs: i2c: i2c-topology: add section about bus speed\n\n Documentation/i2c/i2c-topology.rst | 176 +++++++++++++++++++++++++++++++++++++\n drivers/i2c/busses/i2c-davinci.c | 41 ++++++---\n drivers/i2c/i2c-mux.c | 145 +++++++++++++++++++++++++++---\n include/linux/i2c.h | 13 +++\n 4 files changed, 353 insertions(+), 22 deletions(-)\n---\nbase-commit: 1f97d9dcf53649c41c33227b345a36902cbb08ad\nchange-id: 20250913-i2c-mux-b0063de2ae4d\n\nBest regards," }