Re: [PATCH v4] pps: Add elapsed realtime timestamping

From: Greg KH
Date: Fri Mar 17 2023 - 13:07:10 EST


On Fri, Mar 17, 2023 at 05:34:28PM +0100, Rodolfo Giometti wrote:
> On 17/03/23 15:22, Greg KH wrote:
> > On Fri, Mar 17, 2023 at 03:04:31PM +0100, Rodolfo Giometti wrote:
> > > On 17/03/23 10:51, Alex Komrakov wrote:
> > > > > +     if (!(pps->info.mode & PPS_CAPTURECLEAR))
> > > > > +             return 0;   Why are you not returning an error?
> > > > [AK] I used the style in this file sysfs.c.
> > > >  assert_show() and clear_show()  have the same condition.
> > > > When '& PPS_CAPTURECLEAR' -- 0 means no interrupt asserted  and it is not error
> > > > Probably Rodolfo can get more info why return 0
> > >
> > > It's just as Alex said, if the PPS source has no PPS_CAPTUREASSERT or
> > > PPS_CAPTURECLEAR mode it should not print ASSERT and CLEAR info.
> >
> > But shouldn't you return an error instead of an empty string?
>
> This is not an error... it's just a disabled capability. :)

Then maybe return "0" or something like that?

> > > > And why are these sysfs files even present if the mode is not set
> > > > properly?  Can the mode be set while the device is attached or is this
> > > > only defined at probe time?  If at probe time, just never create these
> > > > files.
> > > > [AK] we can understand mode is set when interrupts asserted and
> > > > file assert_elapsed will be updated.
> > >
> > > PPS source's "mode bits" can be set at runtime via PPS_SETPARAMS.
> >
> > Ok, that's good to know. But I think the error return value is a better
> > indication that something went wrong here and this attribute does not
> > work for this device at this point in time.
>
> I see... however I suppose several code relays on this behavior.

If that's the case, then you are right, you can't change it, and I'll
stop complaining here :)

What tools use these sysfs files? How did you test your changes?

thanks,

greg k-h