On Wed, Apr 03 2024 at 15:48, Thomas Gleixner wrote: > On Tue, Apr 02 2024 at 16:37, Mahesh Bandewar (महेश बंडेवार) wrote: > It is just an implementation detail whether you use a flag or a > clockid. You can carry the clockid for the clocks which actually can be > read in that context in a reserved field of PTP_SYS_OFFSET_EXTENDED: > > struct ptp_sys_offset_extended { > unsigned int n_samples; /* Desired number of measurements. */ > clockid_t clockid; > unsigned int rsv[2]; /* Reserved for future use. */ > }; > > and in the IOCTL: > > if (extoff->clockid != CLOCK_MONOTONIC_RAW) > return -EINVAL; That should obviously be: switch (extoff->clockid) { case CLOCK_REALTIME: case CLOCK_MONOTONIC_RAW: break; default: return -EINVAL; } ... > sts.clockid = extoff->clockid; > > and it all just works, no? > > I have no problem to decide that PTP_SYS_OFFSET will not get this > treatment and the drivers have to be converted over to > PTP_SYS_OFFSET_EXTENDED. > > But adding yet another callback just to carry a clockid as argument is a > more than pointless exercise as I demonstrated. > > Thanks, > > tglx