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))[AK] I used the style in this file sysfs.c.
+ return 0; Why are you not returning an error?
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?