On Mon, Jan 22, 2024 at 4:17 PM Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote: > > On 22/01/2024 16:06:30+0800, Jingbao Qiu wrote: > > Implement the RTC driver for CV1800, which able to provide time alarm > > and calibrate functionality. > > > > Signed-off-by: Jingbao Qiu <qiujingbao.dlmu@xxxxxxxxx> > > --- > > > > Depends on https://lore.kernel.org/all/IA1PR20MB4953C774D41EDF1EADB6EC18BB6D2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > > What is the dependency? > Thank you, this driver requires support from the CLK driver. I will add an explanation in the next version. > > Also, please fix the checkpatch.pl --strict warnings I will use the -- strict option for testing. > > > +/** > > + * cv1800_rtc_32k_coarse_val_calib() - Using an external > > + * clock to coarse calibrate the crystal oscillator > > + * @info: the device of calibrated > > + * > > + * @return 0 on success, or -1 on fail > > + * > > + * This RTC has an independent 32KHz oscillator. However, > > + * the accuracy of this oscillator is easily affected by > > + * external environmental interference,resulting in lower > > + * accuracy than the internal oscillator.Therefore, a 25M > > + * crystal oscillator is used as a reference source to > > + * calibrate the RTC and improve its accuracy.Calibration > > + * is completed through two steps, namely rough calibration > > + * and fine calibration. > > + */ > > +static int cv1800_rtc_32k_coarse_val_calib(struct cv1800_rtc_priv *info) > > This is still not working as well as you think it is. You should > Implement the offset callbacks instead. > I'm sorry, I don't quite understand offset callbacks. Do you mean that this function needs to be executed periodically. Best regards, Jingbao Qiu