If you don't think it is a bug, then that's fine. If I export a pin, and then read the direction parameter, and see that it is "in", and it doesn't work, then I call that a bug, because it is not doing what it says it should be doing. Simple as that. Having to set it as an input when it says it is already is an input is not what I should have to do. It isn't reporting that the pin is 'uninitialised' or some other state.. it says it is currently 'in'. There was no need to change active_low in the tests I did, so I do not believe that is a factor, unless it truly is random. I believe that it is an incorrect DTS setting, and that the sysfs is incorrectly stating the current state of the pin, and the DTS is setting it to something else. But as I said, I haven't played with that stuff, so I will defer to the experts that do know how that stuff actually works.
As far as the default state, it should be whatever sysfs says it is when you export the gpio! :-P Something which is not what it says it is isn't semantics, it's a bug!
As far as the default state, it should be whatever sysfs says it is when you export the gpio! :-P Something which is not what it says it is isn't semantics, it's a bug!