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

From: Rodolfo Giometti
Date: Mon Mar 20 2023 - 04:59:50 EST


On 17/03/23 18:06, Greg KH wrote:
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?

Yes, it could be a valid solution.

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?

Mainly are debugging tools via scripts. Normal usage should be via C API.

How did you test your changes?

As above, I use scripts whose get access to sysfs to test a PPS source functionality. Regarding the C API I use the pps-tools:

https://github.com/redlab-i/pps-tools

Ciao,

Rodolfo

--
GNU/Linux Solutions e-mail: giometti@xxxxxxxxxxxx
Linux Device Driver giometti@xxxxxxxx
Embedded Systems phone: +39 349 2432127
UNIX programming skype: rodolfo.giometti