Messages in this thread | | | Date | Mon, 20 Mar 2023 09:59:38 +0100 | Subject | Re: [PATCH v4] pps: Add elapsed realtime timestamping | From | Rodolfo Giometti <> |
| |
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@enneenne.com Linux Device Driver giometti@linux.it Embedded Systems phone: +39 349 2432127 UNIX programming skype: rodolfo.giometti
| |