summaryrefslogtreecommitdiff
path: root/drivers/Kconfig
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2018-06-01 11:22:52 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-06-28 14:29:47 +0300
commit2b6a440351436d792b1960822da4b7d6e673f568 (patch)
tree120e01f16584b31ccde83b44d2d13b2a7ed32360 /drivers/Kconfig
parent7daf201d7fe8334e2d2364d4e8ed3394ec9af819 (diff)
downloadlinux-2b6a440351436d792b1960822da4b7d6e673f568.tar.xz
gnss: add GNSS receiver subsystem
Add a new subsystem for GNSS (e.g. GPS) receivers. While GNSS receivers are typically accessed using a UART interface they often also support other I/O interfaces such as I2C, SPI and USB, while yet other devices use iomem or even some form of remote-processor messaging (rpmsg). The new GNSS subsystem abstracts the underlying interface and provides a new "gnss" class type, which exposes a character-device interface (e.g. /dev/gnss0) to user space. This allows GNSS receivers to have a representation in the Linux device model, something which is important not least for power management purposes. Note that the character-device interface provides raw access to whatever protocol the receiver is (currently) using, such as NMEA 0183, UBX or SiRF Binary. These protocols are expected to be continued to be handled by user space for the time being, even if some hybrid solutions are also conceivable (e.g. to have kernel drivers issue management commands). This will still allow for better platform integration by allowing GNSS devices and their resources (e.g. regulators and enable-gpios) to be described by firmware and managed by kernel drivers rather than platform-specific scripts and services. While the current interface is kept minimal, it could be extended using IOCTLs, sysfs or uevents as needs and proper abstraction levels are identified and determined (e.g. for device and feature identification). Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/Kconfig')
-rw-r--r--drivers/Kconfig2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 95b9ccc08165..ab4d43923c4d 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -9,6 +9,8 @@ source "drivers/bus/Kconfig"
source "drivers/connector/Kconfig"
+source "drivers/gnss/Kconfig"
+
source "drivers/mtd/Kconfig"
source "drivers/of/Kconfig"