From nobody Sun Feb 8 11:45:40 2026 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D462233F8DF for ; Thu, 18 Dec 2025 13:27:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766064473; cv=none; b=klP+jTh7HVdHnZFlxQUvnDUL/08wYCCWkVCBi3Sla9ighY4VyKcwr7ICQST+qinY7r6jbxK7z8eyqKCaLJsO2JrRDbXa+E3EYEKes8dtus/K7BOWDrNSOel6Zh59wwUmeAV2gEiTp/JhOiVaBYV9ImfeFswZ+YplOjn4sBfsniw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766064473; c=relaxed/simple; bh=GfyAuLsrs0QXvlLECZS+Ag8ZW62Fz2Y2rspmoop5J3s=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=BtaCX7iqSIuF4Gp6mtQ6J7xGkcuO67Ou8cikWPjEuU6xLpoLjlladSNyR2umBm02hU7wqHFMt2CL9LQzXptAwRUXz4NCPWYs1aOPKN9BNggjE4hgAJ0qHT35C0y3pP9XuFI38PCU3Wxzf7QRnHnvk0HPmUi6FR/Mz8/NxUNq0/I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=o2bThxjz; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="o2bThxjz" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-477cf25ceccso6923575e9.0 for ; Thu, 18 Dec 2025 05:27:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1766064470; x=1766669270; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=jK28JFeXstDuyy0FEYnFWM4ECthU7/SRvZ+Uc2K8TMM=; b=o2bThxjzPnLXU9L9oDeGhOZkES3GeRTi1zL3NrEGaNdq5jkqWT6YufCyA5opuTtGEv 02oZOcKKVPzPb46XSEH/6HgYmoFn7eNtH7QHv7VUaAbf6JphZnkBv2nWSls+eo8D9fiZ 0phoA9jebLIq1vz0AeUAgYhIrIL28aBA7b3L4U0/HKp8Pm+b5ofzMi0xjqMk+5RE8QIT UYvW76TLJ8tiMGG0gZDR6yG0Xf0xK2pTrzeV82VfHuE5IYEQD4K0cW/YQS9P/BwNi5k9 /AmJ/4K1dD20yGEL71Z9pOKA4bvSpm5v8dlk5+WWJrgD9bB+LDB5oe6tXmjgVOyhxHwU vS6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766064470; x=1766669270; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jK28JFeXstDuyy0FEYnFWM4ECthU7/SRvZ+Uc2K8TMM=; b=hO99Te+3wKgxM9Kzo1t1nrz4YkkYioOO7y9Q0yO9P0RYsgoQOmvCM+5xEI83RKVpKd NH4cNN4bWGuhet0qudxkqwJQzQpfTHS8NOpGliWjTH64rqdwz4jt4+f59p1Kswi1W86c lfAZ2OFDV2BoxSUO592/HiEXdhbIbRi7uAUAaOx9+OMatJ1oOSXujCwL1sxQjAdY0WID 43m3y+3WMMblHp61tnc6Ii2GiQNRTOXFEK9xm7hgwrgY9WJ/Jz+KqaUjx4i1KKTYJAhA 5rWk/LlD1anm9TXtiK6GXnaUCykaOFVwL8UKBCk0xf633l74eyXFu+2QhCImeTBYC7iy ySMg== X-Forwarded-Encrypted: i=1; AJvYcCVggiWc8DTEas8kTXEtsf8u56/6euy0V0YqUp9fwO2l6H5Sz9RRzaallvNKVlprqncmBpmasx1qn33g040=@vger.kernel.org X-Gm-Message-State: AOJu0YwYiTMz1I6T0J2VymeadOHG3OKVqYdVOrrAaDSIDC4v8HkrVi7Z 9HcrD8xzWOMUFB6gjk7RDI7a1InPTaRTy/iZ5yJs5keTJXf+i3Em+NCwkgnruy2bRt9NnzpFVi+ xbYJn8F9SEQ1SiUHPYg== X-Google-Smtp-Source: AGHT+IE3mV0hHlOMpYVWIjAwdmvo5jE0L9sBOpWL6XsbMzQezjxagjqpMFllYAiylsVjD8lLgu0n6vRFRAWYICM= X-Received: from wmgp21.prod.google.com ([2002:a05:600c:2055:b0:477:afa:d217]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3104:b0:477:fcb:2256 with SMTP id 5b1f17b1804b1-47a8f906dd3mr228600355e9.17.1766064470141; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251218-clk-send-sync-v3-0-e48b2e2f1eac@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1327; i=aliceryhl@google.com; h=from:subject:message-id; bh=GfyAuLsrs0QXvlLECZS+Ag8ZW62Fz2Y2rspmoop5J3s=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpRAFSGE9hInQJ93qtSDZ6USDztanUVRXYt7zuZ u/M3OKN66SJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaUQBUgAKCRAEWL7uWMY5 RpjnEACSGceY2rPEdAJ9IM0nAQ/WAryJFpSfxt+WLrj3iN4p5BmgrDdLtUBRaFYTYqcli8hAS05 YJwMVlfRAd6iFo4DaO3eqnrvZQRPSaBmxegr8FhHpfv8XSaez94scQlMk6FrcSlvrA6Ee4Gtlwp l+ilXpbYOyAubw6GpjlWswSHxKOg0QwnWCzW2KwjpbXJnfLQ5fH4lcncuzMfaAkPvCFV4t1y2KV kaWXQIWrkEvVGzZJssbmxCb1PvSE6oyjcy3TzBBSM/E1t9jJSdXBS+NfHM5gMDUErPaSO224COW ei9hJ+Rb2IfKuZtQ9gud09brWgGvjaOVaiC9LM5c3bNNygut/rL2sqBDf0eUnTjZZ4hl4T7zj9w q/VO+QeTNdEDV8AfXeYCZs11q9X+mpJK3MYCF7ZLQsBZFOiaSgTwrF5Q7PSXXxL860gZaGED9so hqtSPCzOrli9/mHqIoHfLoSPuUaf2bxTBaNboLD+d8kdD2+h9FLLvMhgGVhXYhEUmOsBKZC9MlN DwpN5R2dUuDE7iXXAi9r6a3YRd7J5IHGfhXALODtLYLu7bdkcna8Ggb35wgjrid9IfeQf9eEdVQ 9zkYMJevx5Tf5DKTw7VxZGkTJHxKfsL+G8+CcVjptxDvHWl4UkCa+/HLohudluaxij+Yf/xnesA 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 To: Michael Turquette , Stephen Boyd , Maarten Lankhorst , Maxime Ripard , Drew Fustini , Guo Ren , Fu Wei , "=?utf-8?q?Uwe_Kleine-K=C3=B6nig?=" , Michal Wilczynski Cc: Viresh Kumar , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , Daniel Almeida , linux-clk@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-riscv@lists.infradead.org, linux-pwm@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable These traits are required for drivers to embed the Clk type in their own data structures because driver data structures are usually required to be Send. Since the Clk type is thread-safe, implement the relevant traits. Reviewed-by: Daniel Almeida Reviewed-by: Danilo Krummrich Acked-by: Viresh Kumar Reviewed-by: Boqun Feng Signed-off-by: Alice Ryhl --- rust/kernel/clk.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rust/kernel/clk.rs b/rust/kernel/clk.rs index c1cfaeaa36a22be2e3180b1e9142bb608ab276ea..d192fbd97861212d738d24510ee= bcd99c9177f2c 100644 --- a/rust/kernel/clk.rs +++ b/rust/kernel/clk.rs @@ -129,6 +129,13 @@ mod common_clk { #[repr(transparent)] pub struct Clk(*mut bindings::clk); =20 + // SAFETY: It is safe to call `clk_put` on another thread than where `= clk_get` was called. + unsafe impl Send for Clk {} + + // SAFETY: It is safe to call any combination of the `&self` methods i= n parallel, as the + // methods are synchronized internally. + unsafe impl Sync for Clk {} + impl Clk { /// Gets [`Clk`] corresponding to a [`Device`] and a connection id. /// --=20 2.52.0.351.gbe84eed79e-goog