#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
#include <linux/serdev.h>
struct regulator *vbackup;
static int mtk_set_active(struct gnss_serial *gserial)
struct mtk_data *data = gnss_serial_get_drvdata(gserial);
ret = regulator_enable(data->vcc);
static int mtk_set_standby(struct gnss_serial *gserial)
struct mtk_data *data = gnss_serial_get_drvdata(gserial);
ret = regulator_disable(data->vcc);
static int mtk_set_power(struct gnss_serial *gserial,
enum gnss_serial_pm_state state)
return mtk_set_active(gserial);
case GNSS_SERIAL_STANDBY:
return mtk_set_standby(gserial);
static const struct gnss_serial_ops mtk_gserial_ops = {
.set_power = mtk_set_power,