This is not necessarily the case. Some implementations require a
scaling factor too, making the number of remaining bits smaller than 64.
See arch/arm/mach-pxa/time.c:sched_clock() for example, which has a
maximum range of 208 days. Of course, in practice we don't really care
if sched_clock() wraps each 208 days, unlike for clock-source.
Is this worth supporting? I'd simply use the low 32 bits and extend it
to 63 bits using cnt32_to_63(). If the low 32 bits are wrapping too
fast, then just shifting them down a few positions first should do the
trick. That certainly would have a much faster result.
Nicolas
--