From: "Danilo Krummrich" <dakr@kernel.org>
To: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Cc: "Ke Sun" <sk.alvin.x@gmail.com>, "Ke Sun" <sunke@kylinos.cn>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
linux-rtc@vger.kernel.org, rust-for-linux@vger.kernel.org
Subject: Re: [RFC PATCH v1 4/4] rust: add PL031 RTC driver
Date: Tue, 06 Jan 2026 16:04:00 +0100 [thread overview]
Message-ID: <DFHLJSVBLDJS.1XEHCP2E0K47@kernel.org> (raw)
In-Reply-To: <2026010631-verbally-probably-3ec2@gregkh>
On Tue Jan 6, 2026 at 3:44 PM CET, Greg Kroah-Hartman wrote:
> On Tue, Jan 06, 2026 at 02:32:56PM +0100, Danilo Krummrich wrote:
>> (Cc: Greg, Rafael)
>>
>> On Tue Jan 6, 2026 at 3:51 AM CET, Ke Sun wrote:
>> > Following the platform driver implementation, the AMBA driver stores its
>> > drvdata in amba_device->dev. However,
>> > the RTC driver also stores its drvdata in the parent device (which is
>> > also amba_device->dev), causing a conflict.
>
> Wait, what? That's broken in the C implementation, please, let's fix
> that up now first. drvdata is ONLY for the specific device that driver
> is attached to, it can not be used by anyone else.
The C RTC class device implementation passes its parent device to all its
callbacks, so the driver can obtain the device private data of the parent (bus)
device.
The RTC core does only provide devres guarded registration functions and does
some synchronization in devm_rtc_unregister_device() [1], such that no RTC class
device callbacks can happen after the parent (bus) device is unbound (which is
great).
So, technically it doesn't seem to be broken, but given the rationale in my
previous reply, I dislike that there is no separation of ownership and lifetime
due to not separating bus and class device private data.
[1] https://elixir.bootlin.com/linux/v6.19-rc4/source/drivers/rtc/class.c#L340
next prev parent reply other threads:[~2026-01-06 15:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-04 6:06 [RFC PATCH v1 0/4] rust: Add RTC driver support Ke Sun
2026-01-04 6:06 ` [RFC PATCH v1 1/4] rust: add AMBA bus abstractions Ke Sun
2026-01-04 11:37 ` Miguel Ojeda
2026-01-04 12:37 ` Danilo Krummrich
2026-01-04 6:06 ` [RFC PATCH v1 2/4] rust: add device wakeup support Ke Sun
2026-01-04 13:31 ` Danilo Krummrich
2026-01-04 6:06 ` [RFC PATCH v1 3/4] rust: add RTC core abstractions and data structures Ke Sun
2026-01-04 13:00 ` Danilo Krummrich
2026-01-04 6:06 ` [RFC PATCH v1 4/4] rust: add PL031 RTC driver Ke Sun
2026-01-04 9:02 ` Dirk Behme
2026-01-07 10:15 ` Danilo Krummrich
2026-01-04 11:40 ` Miguel Ojeda
2026-01-04 13:10 ` Danilo Krummrich
2026-01-06 2:51 ` Ke Sun
2026-01-06 13:32 ` Danilo Krummrich
2026-01-06 14:44 ` Greg Kroah-Hartman
2026-01-06 15:04 ` Danilo Krummrich [this message]
2026-01-06 15:12 ` Greg Kroah-Hartman
2026-01-04 13:36 ` [RFC PATCH v1 0/4] rust: Add RTC driver support Danilo Krummrich
2026-01-04 14:11 ` Ke Sun
2026-01-06 7:41 ` Kari Argillander
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DFHLJSVBLDJS.1XEHCP2E0K47@kernel.org \
--to=dakr@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alexandre.belloni@bootlin.com \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-rtc@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=ojeda@kernel.org \
--cc=rafael@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sk.alvin.x@gmail.com \
--cc=sunke@kylinos.cn \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox