diff --git a/drivers/tty/serial/msm_geni_serial.c b/drivers/tty/serial/msm_geni_serial.c index 6d7e6fd35397..edc310b5dbd1 100644 --- a/drivers/tty/serial/msm_geni_serial.c +++ b/drivers/tty/serial/msm_geni_serial.c @@ -25,6 +25,7 @@ #include #include #include +#include /* UART specific GENI registers */ #define SE_UART_LOOPBACK_CFG (0x22C) @@ -537,15 +538,18 @@ static int msm_geni_serial_ioctl(struct uart_port *uport, unsigned int cmd, int ret = -ENOIOCTLCMD; switch (cmd) { - case TIOCPMGET: { + case TIOCPMGET: + case MSM_GENI_SERIAL_TIOCPMGET: { ret = vote_clock_on(uport); break; } - case TIOCPMPUT: { + case TIOCPMPUT: + case MSM_GENI_SERIAL_TIOCPMPUT: { ret = vote_clock_off(uport); break; } - case TIOCPMACT: { + case TIOCPMACT: + case MSM_GENI_SERIAL_TIOCPMACT: { ret = !pm_runtime_status_suspended(uport->dev); break; } diff --git a/gen_headers_arm.bp b/gen_headers_arm.bp index bd3478374a20..9f63d5e6915c 100644 --- a/gen_headers_arm.bp +++ b/gen_headers_arm.bp @@ -384,6 +384,7 @@ gen_headers_out_arm = [ "linux/msdos_fs.h", "linux/msg.h", "linux/msm_dsps.h", + "linux/msm_geni_serial.h", "linux/msm_ion.h", "linux/msm_ion_ids.h", "linux/msm_ipa.h", diff --git a/gen_headers_arm64.bp b/gen_headers_arm64.bp index 76737b019fda..4ccf4b865d15 100644 --- a/gen_headers_arm64.bp +++ b/gen_headers_arm64.bp @@ -379,6 +379,7 @@ gen_headers_out_arm64 = [ "linux/msdos_fs.h", "linux/msg.h", "linux/msm_dsps.h", + "linux/msm_geni_serial.h", "linux/msm_ion.h", "linux/msm_ion_ids.h", "linux/msm_ipa.h", diff --git a/include/uapi/linux/msm_geni_serial.h b/include/uapi/linux/msm_geni_serial.h new file mode 100644 index 000000000000..fbf8b7e68a30 --- /dev/null +++ b/include/uapi/linux/msm_geni_serial.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (c) 2020, The Linux Foundation. All rights reserved. + */ + +#ifndef __UAPI_LINUX_MSM_GENI_SERIAL_H +#define __UAPI_LINUX_MSM_GENI_SERIAL_H + +/* IOCTLS used by BT clients to control UART power state */ + +#define MSM_GENI_SERIAL_TIOCPMGET 0x54ED /* PM get */ +#define MSM_GENI_SERIAL_TIOCPMPUT 0x54EE /* PM put */ +#define MSM_GENI_SERIAL_TIOCPMACT 0x54EF /* PM is active */ + +#endif /* __UAPI_LINUX_MSM_GENI_SERIAL_H */