{"id":2175572,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175572/?format=json","project":{"id":38,"url":"http://patchwork.ozlabs.org/api/1.0/projects/38/?format=json","name":"Linux PWM development","link_name":"linux-pwm","list_id":"linux-pwm.vger.kernel.org","list_email":"linux-pwm@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251218-clk-send-sync-v3-1-e48b2e2f1eac@google.com>","date":"2025-12-18T13:27:40","name":"[v3,1/3] rust: clk: implement Send and Sync","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"33c0fdf3bceeeb5c96aac94c5d25995979cc94f7","submitter":{"id":89273,"url":"http://patchwork.ozlabs.org/api/1.0/people/89273/?format=json","name":"Alice Ryhl","email":"aliceryhl@google.com"},"delegate":{"id":161009,"url":"http://patchwork.ozlabs.org/api/1.0/users/161009/?format=json","username":"mwilczynski","first_name":"Michał","last_name":"Wilczyński","email":"michalw628@gmail.com"},"mbox":"http://patchwork.ozlabs.org/project/linux-pwm/patch/20251218-clk-send-sync-v3-1-e48b2e2f1eac@google.com/mbox/","series":[{"id":485853,"url":"http://patchwork.ozlabs.org/api/1.0/series/485853/?format=json","date":"2025-12-18T13:27:39","name":"Implement Send and Sync for clk","version":3,"mbox":"http://patchwork.ozlabs.org/series/485853/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175572/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pwm+bounces-7810-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pwm@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=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20230601 header.b=o2bThxjz;\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-pwm+bounces-7810-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=google.com header.i=@google.com\n header.b=\"o2bThxjz\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.73","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=google.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.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 4dXBP62qbhz1y2F\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 00:30:18 +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 A707030C1297\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 13:27:54 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 846DF33F8D7;\n\tThu, 18 Dec 2025 13:27:54 +0000 (UTC)","from mail-wm1-f73.google.com (mail-wm1-f73.google.com\n [209.85.128.73])\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 D46B433FE00\n\tfor <linux-pwm@vger.kernel.org>; Thu, 18 Dec 2025 13:27:51 +0000 (UTC)","by mail-wm1-f73.google.com with SMTP id\n 5b1f17b1804b1-477cf25ceccso6923585e9.0\n        for <linux-pwm@vger.kernel.org>; Thu, 18 Dec 2025 05:27:51 -0800 (PST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1766064474; cv=none;\n b=PWwdTtuTN2ORAO6CMSUBQGw+r8JGLMiu3hdP+iZSSavAd5J/rHYQLZDYhgoEEzmV49Kz6oBEEgG2j0Ny2pyjaMuTsqD1Yvia7ASeAENfGisyYCIHZQV4z2RUIL+NjTNoyaNZT8w5EOCAGtbGJEF8PhJuI9ASk0AQAYYiRNgxd6g=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1766064474; c=relaxed/simple;\n\tbh=GfyAuLsrs0QXvlLECZS+Ag8ZW62Fz2Y2rspmoop5J3s=;\n\th=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:\n\t To:Cc:Content-Type;\n b=SckD2d+8pyhvEJPM/zlct1JYgzkn7qvYgOyKPKzWXMA30K8u2rIjM4jh0l8w1d37qq8UM6f7dfOQaYPEGvqgxIh72/7F7G8ribUl+4v/qeVOcXdhqSU+5NOm6nZZbxpfXPcRbTm+IB6KE1nhSf5Rt8a6pylvz+gMGO96l/ZlYlI=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=google.com;\n spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com;\n dkim=pass (2048-bit key) header.d=google.com header.i=@google.com\n header.b=o2bThxjz; arc=none smtp.client-ip=209.85.128.73","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=google.com; s=20230601; t=1766064470; x=1766669270;\n darn=vger.kernel.org;\n        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to\n         :date:from:to:cc:subject:date:message-id:reply-to;\n        bh=jK28JFeXstDuyy0FEYnFWM4ECthU7/SRvZ+Uc2K8TMM=;\n        b=o2bThxjzPnLXU9L9oDeGhOZkES3GeRTi1zL3NrEGaNdq5jkqWT6YufCyA5opuTtGEv\n         02oZOcKKVPzPb46XSEH/6HgYmoFn7eNtH7QHv7VUaAbf6JphZnkBv2nWSls+eo8D9fiZ\n         0phoA9jebLIq1vz0AeUAgYhIrIL28aBA7b3L4U0/HKp8Pm+b5ofzMi0xjqMk+5RE8QIT\n         UYvW76TLJ8tiMGG0gZDR6yG0Xf0xK2pTrzeV82VfHuE5IYEQD4K0cW/YQS9P/BwNi5k9\n         /AmJ/4K1dD20yGEL71Z9pOKA4bvSpm5v8dlk5+WWJrgD9bB+LDB5oe6tXmjgVOyhxHwU\n         vS6g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20230601; t=1766064470; x=1766669270;\n        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to\n         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n        bh=jK28JFeXstDuyy0FEYnFWM4ECthU7/SRvZ+Uc2K8TMM=;\n        b=OqOlctC5OLRqmC9SkyDUedUcVfQPXX69Hmj5G70QeiFs5tyZRIQI7a6bl8coPx1ug4\n         f11SLAa2QC/zatMmbyXnAIsBpuXWhiWsql3gyXZwc0bwui8sNfWflkPdKy18V/n/4udh\n         BNVeEBeFtf6x+krMekKS3AXPIEDzNGcO/81i6POngSr6Wply/mMQLYD5ZJoD1UL084ZL\n         qkG4qk1oLW0gfvcFKMz9dv300fef7K272P12mMivtqie6OKrO0Y/e2RXl/4a+Nh1vaMI\n         LBUbPwEIuT0GvDtciTA5E5aCTWyP9k56K2buPpSUwO32WUW9E/fl6r8SmsjFHDjz0YpR\n         89lQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVSrn90G48dcbwllKF0tYp2mj3fmH7Gap5paPQ3DKUWmgsT8dQur6gx4RHLNpsEekgrRFol4DJ0e9U=@vger.kernel.org","X-Gm-Message-State":"AOJu0YzFT9FD0D0k0O0yvfQ3hJAT0fIW7hP3J2OgbPBu/RxTib7R3Xmn\n\tFfPJjwAC38IgDCCSioUDAMnuhiwRHjQ0ofacXopThvhzJujicU57/Kp7bgIBethll7pGXFxahPk\n\tD/mSdRLiAAh7lZ17L0A==","X-Google-Smtp-Source":"\n AGHT+IE3mV0hHlOMpYVWIjAwdmvo5jE0L9sBOpWL6XsbMzQezjxagjqpMFllYAiylsVjD8lLgu0n6vRFRAWYICM=","X-Received":"from wmgp21.prod.google.com ([2002:a05:600c:2055:b0:477:afa:d217])\n (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by\n 2002:a05:600c:3104:b0:477:fcb:2256 with SMTP id\n 5b1f17b1804b1-47a8f906dd3mr228600355e9.17.1766064470141;\n Thu, 18 Dec 2025 05:27:50 -0800 (PST)","Date":"Thu, 18 Dec 2025 13:27:40 +0000","In-Reply-To":"<20251218-clk-send-sync-v3-0-e48b2e2f1eac@google.com>","Precedence":"bulk","X-Mailing-List":"linux-pwm@vger.kernel.org","List-Id":"<linux-pwm.vger.kernel.org>","List-Subscribe":"<mailto:linux-pwm+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pwm+unsubscribe@vger.kernel.org>","Mime-Version":"1.0","References":"<20251218-clk-send-sync-v3-0-e48b2e2f1eac@google.com>","X-Developer-Key":"i=aliceryhl@google.com; a=openpgp;\n fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F","X-Developer-Signature":"v=1; a=openpgp-sha256; l=1327; i=aliceryhl@google.com;\n h=from:subject:message-id; bh=GfyAuLsrs0QXvlLECZS+Ag8ZW62Fz2Y2rspmoop5J3s=;\n b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpRAFSGE9hInQJ93qtSDZ6USDztanUVRXYt7zuZ\n u/M3OKN66SJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaUQBUgAKCRAEWL7uWMY5\n RpjnEACSGceY2rPEdAJ9IM0nAQ/WAryJFpSfxt+WLrj3iN4p5BmgrDdLtUBRaFYTYqcli8hAS05\n YJwMVlfRAd6iFo4DaO3eqnrvZQRPSaBmxegr8FhHpfv8XSaez94scQlMk6FrcSlvrA6Ee4Gtlwp\n l+ilXpbYOyAubw6GpjlWswSHxKOg0QwnWCzW2KwjpbXJnfLQ5fH4lcncuzMfaAkPvCFV4t1y2KV\n kaWXQIWrkEvVGzZJssbmxCb1PvSE6oyjcy3TzBBSM/E1t9jJSdXBS+NfHM5gMDUErPaSO224COW\n ei9hJ+Rb2IfKuZtQ9gud09brWgGvjaOVaiC9LM5c3bNNygut/rL2sqBDf0eUnTjZZ4hl4T7zj9w\n q/VO+QeTNdEDV8AfXeYCZs11q9X+mpJK3MYCF7ZLQsBZFOiaSgTwrF5Q7PSXXxL860gZaGED9so\n hqtSPCzOrli9/mHqIoHfLoSPuUaf2bxTBaNboLD+d8kdD2+h9FLLvMhgGVhXYhEUmOsBKZC9MlN\n DwpN5R2dUuDE7iXXAi9r6a3YRd7J5IHGfhXALODtLYLu7bdkcna8Ggb35wgjrid9IfeQf9eEdVQ\n 9zkYMJevx5Tf5DKTw7VxZGkTJHxKfsL+G8+CcVjptxDvHWl4UkCa+/HLohudluaxij+Yf/xnesA\n vfDaSFT0gn04/pQ==","X-Mailer":"b4 0.14.2","Message-ID":"<20251218-clk-send-sync-v3-1-e48b2e2f1eac@google.com>","Subject":"[PATCH v3 1/3] rust: clk: implement Send and Sync","From":"Alice Ryhl <aliceryhl@google.com>","To":"Michael Turquette <mturquette@baylibre.com>,\n Stephen Boyd <sboyd@kernel.org>,\n  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,\n Maxime Ripard <mripard@kernel.org>,  Drew Fustini <fustini@kernel.org>,\n Guo Ren <guoren@kernel.org>, Fu Wei <wefu@redhat.com>,  \" =?utf-8?q?Uwe_Kle?=\n\t=?utf-8?q?ine-K=C3=B6nig?= \" <ukleinek@kernel.org>,\n Michal Wilczynski <m.wilczynski@samsung.com>","Cc":"Viresh Kumar <viresh.kumar@linaro.org>, Miguel Ojeda <ojeda@kernel.org>,\n  Boqun Feng <boqun.feng@gmail.com>, Gary Guo <gary@garyguo.net>,  \"\n\t=?utf-8?q?Bj=C3=B6rn_Roy_Baron?= \" <bjorn3_gh@protonmail.com>,\n Benno Lossin <lossin@kernel.org>,  Andreas Hindborg <a.hindborg@kernel.org>,\n Trevor Gross <tmgross@umich.edu>,  Danilo Krummrich <dakr@kernel.org>,\n Daniel Almeida <daniel.almeida@collabora.com>,  linux-clk@vger.kernel.org,\n rust-for-linux@vger.kernel.org,  linux-kernel@vger.kernel.org,\n dri-devel@lists.freedesktop.org,  linux-riscv@lists.infradead.org,\n linux-pwm@vger.kernel.org,  Alice Ryhl <aliceryhl@google.com>","Content-Type":"text/plain; charset=\"utf-8\""},"content":"These traits are required for drivers to embed the Clk type in their own\ndata structures because driver data structures are usually required to\nbe Send. Since the Clk type is thread-safe, implement the relevant\ntraits.\n\nReviewed-by: Daniel Almeida <daniel.almeida@collabora.com>\nReviewed-by: Danilo Krummrich <dakr@kernel.org>\nAcked-by: Viresh Kumar <viresh.kumar@linaro.org>\nReviewed-by: Boqun Feng <boqun.feng@gmail.com>\nSigned-off-by: Alice Ryhl <aliceryhl@google.com>\n---\n rust/kernel/clk.rs | 7 +++++++\n 1 file changed, 7 insertions(+)","diff":"diff --git a/rust/kernel/clk.rs b/rust/kernel/clk.rs\nindex c1cfaeaa36a22be2e3180b1e9142bb608ab276ea..d192fbd97861212d738d24510eebcd99c9177f2c 100644\n--- a/rust/kernel/clk.rs\n+++ b/rust/kernel/clk.rs\n@@ -129,6 +129,13 @@ mod common_clk {\n     #[repr(transparent)]\n     pub struct Clk(*mut bindings::clk);\n \n+    // SAFETY: It is safe to call `clk_put` on another thread than where `clk_get` was called.\n+    unsafe impl Send for Clk {}\n+\n+    // SAFETY: It is safe to call any combination of the `&self` methods in parallel, as the\n+    // methods are synchronized internally.\n+    unsafe impl Sync for Clk {}\n+\n     impl Clk {\n         /// Gets [`Clk`] corresponding to a [`Device`] and a connection id.\n         ///\n","prefixes":["v3","1/3"]}