On 08/03/2018 at 11:53:09 +0000, Denis OSTERLAND wrote: > Am Mittwoch, den 07.03.2018, 11:47 +0100 schrieb Alexandre Belloni: > > > > > + > > > > > + tv64.tv_sec = rtc_tm_to_time64(&tm); > > > > Why not using an unsigned long long directly here? time64_t is not the > > > > correct type. > > > Do you mean timespec64 is not the correct type here? > > > Then yes, sould be time64_t. > > > If you mean time64_t is not the correct type here, > > > then can you give me some detail why there is no rtc_tm_to_u64, > > > or something like that? > > The rtc subsystem forbids negative times, the proper type should be > > unsigned. > I will add rtc_vaild_tm check. > > Which sequence for time conversion would you expect? > > time64_t secs = rtc_tm_to_time64(&tm); > BUG_ON(secs < 0); > return sprintf(buf, "%llu\n", (unsigned long long)secs); > > or > > return sprintf(buf, "%llu\n", (unsigned long long)rtc_tm_to_time64(&tm)); rtc_vaild_tm will already return EINVAL in case of negative time so this is the one you should use. -- Alexandre Belloni, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html