[PATCH v2 5/9] serial: qcom-geni: Use geni_se_set_rate() for source clock configuration
Mukesh Savaliya
mukesh.savaliya at oss.qualcomm.com
Thu Oct 8 00:35:40 PDT 2026
On 8/27/2026 11:29 PM, Praveen Talari wrote:
[...]> @@ -2039,15 +2041,19 @@ static void
qcom_geni_serial_remove(struct platform_device *pdev)
> static int __maybe_unused qcom_geni_serial_runtime_suspend(struct device *dev)
> {
> struct qcom_geni_serial_port *port = dev_get_drvdata(dev);
> + int ret;
>
> - return port->dev_data->power_off ?
> - port->dev_data->power_off(&port->se) : 0;
> + ret = port->dev_data->power_off ?
> + port->dev_data->power_off(&port->se) : 0;
> + if (ret)
> + return ret;
> +
> + return geni_se_set_rate(&port->se, 0);
Is there any register access happening as part of this
geni_se_set_rate() ? i was searching but could not see after seeing
set_rate() callback removed.> }
>
> static int __maybe_unused qcom_geni_serial_runtime_resume(struct device *dev)
> {
> struct qcom_geni_serial_port *port = dev_get_drvdata(dev);
> - struct uart_port *uport = &port->uport;
> int ret;
>
> if (port->dev_data->power_on) {
> @@ -2056,8 +2062,8 @@ static int __maybe_unused qcom_geni_serial_runtime_resume(struct device *dev)
> return ret;
> }
>
> - if (port->se.has_opp && port->clk_rate)
> - return dev_pm_opp_set_rate(uport->dev, port->clk_rate);
> + if (port->clk_rate)
> + return geni_se_set_rate(&port->se, port->clk_rate);
>
> return 0;
> }
[...]
More information about the linux-arm-kernel
mailing list