Loading drivers/tty/serial/msm_geni_serial.c +21 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include <linux/bitmap.h> Loading Loading @@ -2201,6 +2201,14 @@ static void msm_geni_serial_shutdown(struct uart_port *uport) disable_irq(msm_port->wakeup_irq); free_irq(msm_port->wakeup_irq, uport); } if (!IS_ERR_OR_NULL(msm_port->serial_rsc.geni_gpio_shutdown)) { ret = pinctrl_select_state(msm_port->serial_rsc.geni_pinctrl, msm_port->serial_rsc.geni_gpio_shutdown); if (ret) IPC_LOG_MSG(msm_port->ipc_log_misc, "%s: Error %d pinctrl_select_state\n", __func__, ret); } } IPC_LOG_MSG(msm_port->ipc_log_misc, "%s: End\n", __func__); } Loading Loading @@ -2919,6 +2927,18 @@ static int msm_geni_serial_get_irq_pinctrl(struct platform_device *pdev, dev_err(&pdev->dev, "No pinctrl config specified!\n"); return PTR_ERR(dev_port->serial_rsc.geni_pinctrl); } if (!dev_port->is_console) { if (IS_ERR_OR_NULL(pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_SHUTDOWN))) { dev_info(&pdev->dev, "No Shutdown config specified\n"); } else { dev_port->serial_rsc.geni_gpio_shutdown = pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_SHUTDOWN); } } dev_port->serial_rsc.geni_gpio_active = pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_ACTIVE); Loading include/linux/msm-geni-se.h +3 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. */ #ifndef _LINUX_MSM_GENI_SE Loading Loading @@ -67,6 +67,7 @@ struct se_geni_rsc { unsigned long ib; unsigned long ib_noc; struct pinctrl *geni_pinctrl; struct pinctrl_state *geni_gpio_shutdown; struct pinctrl_state *geni_gpio_active; struct pinctrl_state *geni_gpio_sleep; int clk_freq_out; Loading @@ -77,6 +78,7 @@ struct se_geni_rsc { #define PINCTRL_DEFAULT "default" #define PINCTRL_ACTIVE "active" #define PINCTRL_SLEEP "sleep" #define PINCTRL_SHUTDOWN "shutdown" #define KHz(freq) (1000 * (freq)) Loading Loading
drivers/tty/serial/msm_geni_serial.c +21 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include <linux/bitmap.h> Loading Loading @@ -2201,6 +2201,14 @@ static void msm_geni_serial_shutdown(struct uart_port *uport) disable_irq(msm_port->wakeup_irq); free_irq(msm_port->wakeup_irq, uport); } if (!IS_ERR_OR_NULL(msm_port->serial_rsc.geni_gpio_shutdown)) { ret = pinctrl_select_state(msm_port->serial_rsc.geni_pinctrl, msm_port->serial_rsc.geni_gpio_shutdown); if (ret) IPC_LOG_MSG(msm_port->ipc_log_misc, "%s: Error %d pinctrl_select_state\n", __func__, ret); } } IPC_LOG_MSG(msm_port->ipc_log_misc, "%s: End\n", __func__); } Loading Loading @@ -2919,6 +2927,18 @@ static int msm_geni_serial_get_irq_pinctrl(struct platform_device *pdev, dev_err(&pdev->dev, "No pinctrl config specified!\n"); return PTR_ERR(dev_port->serial_rsc.geni_pinctrl); } if (!dev_port->is_console) { if (IS_ERR_OR_NULL(pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_SHUTDOWN))) { dev_info(&pdev->dev, "No Shutdown config specified\n"); } else { dev_port->serial_rsc.geni_gpio_shutdown = pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_SHUTDOWN); } } dev_port->serial_rsc.geni_gpio_active = pinctrl_lookup_state(dev_port->serial_rsc.geni_pinctrl, PINCTRL_ACTIVE); Loading
include/linux/msm-geni-se.h +3 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. */ #ifndef _LINUX_MSM_GENI_SE Loading Loading @@ -67,6 +67,7 @@ struct se_geni_rsc { unsigned long ib; unsigned long ib_noc; struct pinctrl *geni_pinctrl; struct pinctrl_state *geni_gpio_shutdown; struct pinctrl_state *geni_gpio_active; struct pinctrl_state *geni_gpio_sleep; int clk_freq_out; Loading @@ -77,6 +78,7 @@ struct se_geni_rsc { #define PINCTRL_DEFAULT "default" #define PINCTRL_ACTIVE "active" #define PINCTRL_SLEEP "sleep" #define PINCTRL_SHUTDOWN "shutdown" #define KHz(freq) (1000 * (freq)) Loading