[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250212064117.GC15796@localhost.localdomain>
Date: Wed, 12 Feb 2025 14:41:17 +0800
From: Peng Fan <peng.fan@....nxp.com>
To: Sudeep Holla <sudeep.holla@....com>
Cc: Cristian Marussi <cristian.marussi@....com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
arm-scmi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
imx@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-rtc@...r.kernel.org, Peng Fan <peng.fan@....com>
Subject: Re: [PATCH 4/4] rtc: imx-sm-bbm: Support multiple RTCs
On Tue, Feb 11, 2025 at 05:01:12PM +0000, Sudeep Holla wrote:
>On Mon, Jan 20, 2025 at 10:25:36AM +0800, Peng Fan (OSS) wrote:
>> From: Peng Fan <peng.fan@....com>
>>
>> i.MX95 EVK has two RTCs exported by SCMI BBM protocol. Current driver
>> only enables the 1st RTC inside BBNSM module, leaving the board RTC
>> not used by Linux.
>>
>> To use the 2nd RTC, use 'bbm_info' to get the number of RTCs, register
>> them all, and set 'bbnsm' as private info for rtc device to know which
>> RTC it is when using rtc_class_ops to access rtc device.
>>
>> Signed-off-by: Peng Fan <peng.fan@....com>
>> ---
>> drivers/rtc/rtc-imx-sm-bbm.c | 69 +++++++++++++++++++++++++++-----------------
>> 1 file changed, 43 insertions(+), 26 deletions(-)
>>
>> diff --git a/drivers/rtc/rtc-imx-sm-bbm.c b/drivers/rtc/rtc-imx-sm-bbm.c
>> index daa472be7c80697aa3cd3432eccef0c877e4c378..a29b30555d0c0581ecaa8b79760209dc780d2f0e 100644
>> --- a/drivers/rtc/rtc-imx-sm-bbm.c
>> +++ b/drivers/rtc/rtc-imx-sm-bbm.c
>> @@ -15,16 +15,18 @@ struct scmi_imx_bbm {
>> struct rtc_device *rtc_dev;
>> struct scmi_protocol_handle *ph;
>> struct notifier_block nb;
>> + u32 bbm_rtc_id;
>
>Is it not same as rtc_dev->id ? Why do you need a copy in this wrapper/
>container structure ?
In theroy yes. The current system I use that all RTCs are managed by BBM
protocol. So only two RTCs are registered.
In case there is other RTCs that not managed BBM, the rtc_dev->id
will not be equal to bbm_rtc_id.
For example RTC1 is directly managed by Linux, RTC0 is managed by BBM.
The RTC1 is probed first, so its rtc_dev->id is 0. But from BBM protocol,
the RTC0 use id 0 for BBM SCMI server to handle the RTC0.
I maybe overthinking here. But to avoid potential issues, I would like to
keep bbm_rtc_id.
Regards,
Peng
>
>--
>Regards,
>Sudeep
Powered by blists - more mailing lists