#include <linux/errno.h>
#include <linux/gnss.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
#include <linux/sched.h>
#include <linux/serdev.h>
#include <linux/slab.h>
#include "serial.h"
static int gnss_serial_open(struct gnss_device *gdev)
{ … }
static void gnss_serial_close(struct gnss_device *gdev)
{ … }
static int gnss_serial_write_raw(struct gnss_device *gdev,
const unsigned char *buf, size_t count)
{ … }
static const struct gnss_operations gnss_serial_gnss_ops = …;
static size_t gnss_serial_receive_buf(struct serdev_device *serdev,
const u8 *buf, size_t count)
{ … }
static const struct serdev_device_ops gnss_serial_serdev_ops = …;
static int gnss_serial_set_power(struct gnss_serial *gserial,
enum gnss_serial_pm_state state)
{ … }
static int gnss_serial_parse_dt(struct serdev_device *serdev)
{ … }
struct gnss_serial *gnss_serial_allocate(struct serdev_device *serdev,
size_t data_size)
{ … }
EXPORT_SYMBOL_GPL(…);
void gnss_serial_free(struct gnss_serial *gserial)
{ … }
EXPORT_SYMBOL_GPL(…);
int gnss_serial_register(struct gnss_serial *gserial)
{ … }
EXPORT_SYMBOL_GPL(…);
void gnss_serial_deregister(struct gnss_serial *gserial)
{ … }
EXPORT_SYMBOL_GPL(…);
#ifdef CONFIG_PM
static int gnss_serial_runtime_suspend(struct device *dev)
{ … }
static int gnss_serial_runtime_resume(struct device *dev)
{ … }
#endif
static int gnss_serial_prepare(struct device *dev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int gnss_serial_suspend(struct device *dev)
{ … }
static int gnss_serial_resume(struct device *dev)
{ … }
#endif
const struct dev_pm_ops gnss_serial_pm_ops = …;
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;