On Thu, Mar 08, 2018 at 07:16:44AM +0100, Andreas Kemnade wrote:
Hi,
On Thu, 18 Jan 2018 17:47:36 +1100 Johan Hovold johan@kernel.org wrote:
[...]
So to avoid having hardware information spread all over the table at least these information would need to be in devicetree. But that also all feels like a hack and hard to maintain.
Having the device described in the device tree is certainly desirable, not least for chip identification. And with a GPS framework in the kernel with a well-defined interface, implementing power management would be straight forward.
Hmm, devicetree without in-kernel drivers, do we have anything like that somewhere? I thought that was a big no-go. But maybe I am wrong.
No, that's probably not a good idea, even if it may be possible (what about ACPI then, for example?).
I'm just not convinced that the proposed tty interface is the right interface for this. User space would still rely on gpsd for the GPS protocols, and would also ultimately be managing power by killing gpsd or whatever daemon that would otherwise be holding the port open.
Something like the generic power sequences that has been discussed elsewhere might be a better fit for this if all you want to do is power on and off on port open and close (and on suspend/resume). There really isn't anything GPS-specific in the current proposal (besides the suggested tty-device name).
So a bit like that mmc-powerseq stuff we already have?
Yeah, the generic power sequence patches were inspired by that and intended to generalise it (e.g. to be used by the USB bus to power on devices so that they could be enumerated). There were some issues with that work though (which also precludes it from being used for something like this), and it still wouldn't be sufficient to deal with the gps device in question (which needs to monitor the incoming data).
But sure, that wouldn't be sufficient to deal with the unknown-power-state problem with the device in question.
Maybe there could be a kind of active flag set by the tty if there is traffic, so that active flag could be used in these power sequence stuff? But then again the tty layer has to be extended which would probably also cause a lot of ruffled feathers.
Yeah, I think this is a dead end. We need some kind of gps framework with drivers that can implement the device specific bits.
I may have some time to look at little closer at it this week.
Johan