From patchwork Fri Apr 11 20:38:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 880494 Received: from mail-il1-f171.google.com (mail-il1-f171.google.com [209.85.166.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 296E9280CD9 for ; Fri, 11 Apr 2025 20:38:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403917; cv=none; b=bmFRAbwvu2GbvVrf13mHWIJTBgkuwR+83u5XAPtzXUS+Afq4wRnMFy23rVJFGvN+fL8ZBE0JDSfQ78TpEUUTEqMdBBhV++isr9GS+q3FanjZcwvMC9q0fSpkksxAEzLDHdChp51ESIkYMyjMetwrfkfRLS87bRDLxeL3IrZv5Yg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403917; c=relaxed/simple; bh=kgcUq4gxhAS41S/CjHcT1RY9hEDolidwVa0J5wWVKTQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lO3SLX+VQtDN1IszSvxaeLMIsQhsz5f/u2OZP0LWvpuILxmuGuHruS4aqgXLwOFMbABHkzZO/oWO/BxETWd0wyXxLVvxvRYRFdxCGgG48xJfqBylVfrzx8YVFiYm8dZUhmVtpdsUBS2mjE5k5t3KtfvLcSlG5e2kA/+UdHtvWNE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=viIHxl+S; arc=none smtp.client-ip=209.85.166.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="viIHxl+S" Received: by mail-il1-f171.google.com with SMTP id e9e14a558f8ab-3d45503af24so20870345ab.2 for ; Fri, 11 Apr 2025 13:38:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744403914; x=1745008714; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qT3eKW0OgVfu/zUbqU6ev7ARx/bWRnIm3eKXRAL5nSo=; b=viIHxl+SZtwF02PI5YsOlOCPiJ24FIfJ+pCJ9eeG8IufUMlxpmaSxPJiQbgFxRPgEc SdLo6tTgugssKSzDZYngYwASkRh+AmP6hVMEyiZ1yuJa9behcZHMPgkIXjc6VV7XkxT8 LACIvamGBwcRx+96p18EFkxPz89EZ74ME9by5wP/pqgEzt2Al1u6Np+etIEOfP8wvfqQ OhSlVfELR47ZCQyg3lwgGGsYI0TRpUxVrCvWp6VTzD2ZVieS+IZUEUJgVh7xH1rb3FXo b2JN/q7Glnazk4BfJus5CuHBo5etSWnbnHn+nYiaZNa+2qI3OPa2vCwGjuXRVwg+jTOk q4QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744403914; x=1745008714; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qT3eKW0OgVfu/zUbqU6ev7ARx/bWRnIm3eKXRAL5nSo=; b=rfMU7C1OKU18krXgYGQRdEsClZ7ezhCgbktPj4lt/XT0GQ593H8QFrQWzT7Ey+YrJi KiDphza6dIDETYOLlvgaxp85u0VUuv57ktHSQ8nMh3zyZUADSfGek58DYmlHeMsiCaYF FPjFt/aldbflQTgue9PEUGLZH9HYQQYkcssoVCqHrnRwyToswfqfrBCYFAAJ8hroFIeW Z0a6+u7PNMmlQmVzVvDA2OSRjmLfdE44F1xuCAtZp8jt7/bxaaWtvcJYxJ9JByYIiMQL b1sOrnrAG64b0iVC8AFAw35/d7EWLZK7SF1eiw7UOpPaq0dkjYBpkiuUywxmuK0ztJJv m6tw== X-Forwarded-Encrypted: i=1; AJvYcCWxD/xiSFjLrNUb7OE5IFJ1GwH0rzTHXN2dxoU4glilvc4iiNdrySYWZyDHnOGRhLYpVhiK9ZmWM6U213A=@vger.kernel.org X-Gm-Message-State: AOJu0YzcjYmc9FoN4gyKnucmnXWiWovoez7FMKfIYJrFxqYRZjMDS8c8 WLDxSns7TRDwdeMepnImNUmid+KaQXOssEoVZ1PUCkWKFFAFksvCKOawMe+HMVw= X-Gm-Gg: ASbGnct0pwHK1+f50iLXuCUAGRdQCttGRSdYzUgVaPdgudAYI51nGchCzSexaEv3zX+ Qtx86LL56sLVQxWp9DKzwn4SIFiSrJJsmvx0JjbbynFU1TIkfDwgT9Hcnd0xfTLU+fbHEZKe1rV qhZjxqFhARNE/M1XSvErX1uZZ1+lQT7f4+1uoEFeAGG6YH/yb8K2EIJql7AjJvSoDoT78vfG2of q9sS7Xz3Az9zvUrc0n9eSbOpdBFEAAHyuX5p88bonwejjqaPXSyS6unrBnIfJeu6N16dq0BtPCV kbBsian5E4WsbbeE8d/W6XynixTwjmM3PcgjshYDKdLcSoXd232uJOHzNsFgAir4Wd2dk84/4hY EP8TvlEl6YD/NhQ== X-Google-Smtp-Source: AGHT+IHNU+YtLYKKg9Rbak8AqmRKKNb3APAoh0D667oTnKj2dbdwTHDE6V53boBISDwawaoWJ0qvsQ== X-Received: by 2002:a05:6e02:23c9:b0:3d4:3556:741 with SMTP id e9e14a558f8ab-3d7ec26b630mr50230125ab.17.1744403914302; Fri, 11 Apr 2025 13:38:34 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e2ea1esm1420787173.123.2025.04.11.13.38.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 13:38:34 -0700 (PDT) From: Alex Elder To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, gregkh@linuxfoundation.org, jirislaby@kernel.org Cc: andy.shevchenko@gmail.com, dlan@gentoo.org, benjamin.larsson@genexis.eu, bastien.curutchet@bootlin.com, andriy.shevchenko@linux.intel.com, u.kleine-koenig@baylibre.com, lkundrak@v3.sk, devicetree@vger.kernel.org, linux-serial@vger.kernel.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/3] dt-bindings: serial: 8250: support an optional second clock Date: Fri, 11 Apr 2025 15:38:25 -0500 Message-ID: <20250411203828.1491595-2-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250411203828.1491595-1-elder@riscstar.com> References: <20250411203828.1491595-1-elder@riscstar.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The SpacemiT UART driver requires a bus clock to be enabled in addition to the primary function clock. Add the option to specify two clocks for an 8250-compatible UART, named "core" and "bus". If both are needed, require them to be named. Signed-off-by: Alex Elder Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/serial/8250.yaml | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml index dc0d52920575f..33d2016b65090 100644 --- a/Documentation/devicetree/bindings/serial/8250.yaml +++ b/Documentation/devicetree/bindings/serial/8250.yaml @@ -135,7 +135,16 @@ properties: clock-frequency: true clocks: - maxItems: 1 + minItems: 1 + items: + - description: The core function clock + - description: An optional bus clock + + clock-names: + minItems: 1 + items: + - const: core + - const: bus resets: maxItems: 1 @@ -224,6 +233,25 @@ required: - reg - interrupts +if: + properties: + compatible: + contains: + const: spacemit,k1-uart +then: + required: [clock-names] + properties: + clocks: + minItems: 2 + clock-names: + minItems: 2 +else: + properties: + clocks: + maxItems: 1 + clock-names: + maxItems: 1 + unevaluatedProperties: false examples: From patchwork Fri Apr 11 20:38:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 880880 Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52DA9283CB9 for ; Fri, 11 Apr 2025 20:38:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403918; cv=none; b=DHSlwQjqJk8+T5aHPoCfnjQCbzBbSqlpuI6b+2WHEratdz4WPM3SIZwmqq5lOa7qI3c8PgWhqEQ8ZKmxM7tTJfEYvk/O1OF6pYOlTeNwSrQx25XNQkbRBdJQSHf8/WxTeCbqSGDnh1zxZ3+ABx4scq03Oag3/dDCLmlL1340JuA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403918; c=relaxed/simple; bh=ucvbVh/yXALhRLORxO86EDtcUDjhXV2k7FhsHq1IhHU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D6DxdEMxAGv9HZN/zKnBq7RHKSqg6rXokmwbuX2/9aGqIocMgVyGpV7sIJwiMHkqiVD/tdxnHJ/A/2PwtXgr6F+LcUHfw9gys3KnjtlRR4MLs/Xc1s5dhQsKGZtIY90XQBadO3ZNoumKKBxQS+3ZrFkBcxklUKEGKioSltIELW4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=cXU48zgF; arc=none smtp.client-ip=209.85.166.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="cXU48zgF" Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-3d5ebc2459fso17574385ab.0 for ; Fri, 11 Apr 2025 13:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744403915; x=1745008715; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0+No0irtswkb42oZgjOuCr5NaquvvHMgg0F5193JRX8=; b=cXU48zgFWzBRuyaJqPSQBeudmkNcwJzmyHVLUhiZ1tbYhSwFqkga+JDpmeJXgbUC2H 87zLgsjwR+fwg9W162QMDCtNdGoUEH+Pxle+gYmig2qUIIB2Cn7geZ7BQ0mV2ZA64L2x vCbBm95xcBs7zspdNi6IKGYCZcYnIfl5XDZ7Qq2oIEk7LhoRa5yb9jf0gTc6hz//hjXd 71Qw9mkDv5UaooqQTqSRRSOMozh3Ge+Kc+cnMkbmafAXgIx6PfThNUYbp3/+5Mbx2znY CQQc+0BipcYgqRWpY3otAuWEumHd8vigCbubJerkibN4+m7+Bd/4ILqqkGp3t3tcb83m sdFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744403915; x=1745008715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0+No0irtswkb42oZgjOuCr5NaquvvHMgg0F5193JRX8=; b=OXTC5F93yX4l3pdp0dUES1abHvVTfyTF1B9TOD/QUQ+LLdv/ErPeqOQtDezGAIlEbp tQtC/j8geWUqBBVzIIdSwZe7SMzlkZTRN9Y3Qrp/7CVbOXxzLyjamnz/eVYcovaRi0d2 Box1WtFkrqGPcbiB08+GKBIufd4t/M+rkmbVwbPjZx6cFxLq91Dl83ld+ZSdqdS/uoqN tSh2aIMSkDp8XBAahtkMHJANkkri6RJ3/PnrruP0CsQCVeB1rGBmGrCvkQ4IdWvHap1P C8X+dzcAnsEI3CB+vYn8fVL2U1c8MTeXU89XCbUECTkFkg2MiBPmpQJIYLupSWrVEuBX Xmhg== X-Forwarded-Encrypted: i=1; AJvYcCUsbtVXV9i9IfWDSJtAk1ECNN9DrclzqildbGfR5MMXYnUAICM/JqobSNgGPYmqMLs90yr/rmpseNBjA0o=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8iYkptFsIf7VbLc1J7KogM6H6LBYHoVtEwAY/DZ6oj9dLgVXc BdtCXJItF7fi8ANowd/QqoGXgSDRI7DA8cc7gI+oyLDTjKP+S/xiXm5jaTvaCEk= X-Gm-Gg: ASbGncuCEIOzSY+brgeurSloe5c0XYaECqwJ9oYsqQmYkei+TRBrnUxBAHDg8lM4wZ2 PWNWD9R50ADafHR7tHtBjDEiCgFTNzhAZ5LWDNiMTIfinlkpMRZBDj8FnJTIKAVVp0kzVLFCMen oZqmoHxjlB0B4RHkM4dy3zC4pF2OgyeUABKg8MsdPQrv0RFCpMbjUUaBDEzEQsAyzhislpOlrOk Xq0i3/cxEJQ/W96tCOF2MnqreLJZW6AEvGZbNbL6PMgMTTiNsFMpZoRvjIttbaepKeuQiF0fZfp hc8Z+Ue4Pgpu0zs/zhE4mANJjda6O94KlGaSM2EdU1QD4MTeDccs1hVUom2AbUVDF3iDT+C5Djc Kygshdi4IR1lvHenXlm2Rmk8D X-Google-Smtp-Source: AGHT+IFI78Dq0uhLXGQ3VPmWnhBpX7t1jvh+2+h32uhUwjru/tDqrj+isW0Bsi4fpyNX4H8KLkVFTA== X-Received: by 2002:a05:6e02:258d:b0:3d0:237e:c29c with SMTP id e9e14a558f8ab-3d7ec21bdfamr43241385ab.12.1744403915441; Fri, 11 Apr 2025 13:38:35 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e2ea1esm1420787173.123.2025.04.11.13.38.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 13:38:35 -0700 (PDT) From: Alex Elder To: gregkh@linuxfoundation.org, jirislaby@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: andy.shevchenko@gmail.com, dlan@gentoo.org, benjamin.larsson@genexis.eu, bastien.curutchet@bootlin.com, andriy.shevchenko@linux.intel.com, u.kleine-koenig@baylibre.com, lkundrak@v3.sk, devicetree@vger.kernel.org, linux-serial@vger.kernel.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/3] serial: 8250_of: add support for an optional bus clock Date: Fri, 11 Apr 2025 15:38:26 -0500 Message-ID: <20250411203828.1491595-3-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250411203828.1491595-1-elder@riscstar.com> References: <20250411203828.1491595-1-elder@riscstar.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The SpacemiT UART requires a bus clock to be enabled, in addition to it's "normal" core clock. Look up the optional bus clock by name, and if that's found, look up the core clock using the name "core". Supplying a bus clock is optional. If no bus clock is needed, the the first/only clock is used for the core clock. Signed-off-by: Alex Elder --- drivers/tty/serial/8250/8250_of.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c index 11c860ea80f60..a90a5462aa72a 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c @@ -123,7 +123,16 @@ static int of_platform_serial_setup(struct platform_device *ofdev, /* Get clk rate through clk driver if present */ if (!port->uartclk) { - info->clk = devm_clk_get_enabled(dev, NULL); + struct clk *bus_clk; + + bus_clk = devm_clk_get_optional_enabled(dev, "bus"); + if (IS_ERR(bus_clk)) { + ret = dev_err_probe(dev, PTR_ERR(bus_clk), "failed to get bus clock\n"); + goto err_pmruntime; + } + + /* If the bus clock is required, core clock must be named */ + info->clk = devm_clk_get_enabled(dev, bus_clk ? "core" : NULL); if (IS_ERR(info->clk)) { ret = dev_err_probe(dev, PTR_ERR(info->clk), "failed to get clock\n"); goto err_pmruntime; From patchwork Fri Apr 11 20:38:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 880493 Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72EFC28D83A for ; Fri, 11 Apr 2025 20:38:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403919; cv=none; b=e0F+fke2IxNcXViuJ/8xydeRpIC3jkz1K7nXRwqMCHntlhUDQJBfeys3m1usikczHYtoV4rPebwWw4p/kbDU9BLWA5S7CX9dGQHVfjr4K+iOBDv314X7rxhNWg0MuiRldEVMkzZ9FvpHvVsSPXwWDIE0hUqKDpx93PHgv5rBLDo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744403919; c=relaxed/simple; bh=35gorawSDcrg8QbS+s+M/Qi8sq0tSP1dR9KzDN+4gxk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qwv8RPNNzZQs2GIG9FlgeXOr8F1eER0+f6IYmLVlwhH/VoVZFezmyFE+1JpFuoapXffi5et0svbXiUc8jUQuF5GzHVAp4ZGPx5mEdFupo4N+aE3kzmBzfdgy+qohtoti6ytYK3L7y16ThTXDLr68Q9ttRrz/kYjuogjWahXs3Nw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=eDwCSKKl; arc=none smtp.client-ip=209.85.166.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="eDwCSKKl" Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-85d9a87660fso205313539f.1 for ; Fri, 11 Apr 2025 13:38:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744403916; x=1745008716; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0009F5O9wljpHFhP0qBedRkQq+IjHXl/vgFyYcghGBI=; b=eDwCSKKl/5z8nIEBA/pV1BfH8SeYUk3ObUlKL4xujOgbaJRP9qho0RlaXicddqh+GQ 5vxEDS4ErnL5gXD957jHRgN8BP+Y4GqAWb2iAFYenhL4IO4nDSbHJqSMVvcBAzZFjROE fArPH4wS8xz/TZcU80V02Nrb7myqz+b2roQ1Na3HFIFwjC7NIzVc6S888rfccQWA7uI0 VNuHmmRemuUysfFQjq9TE7ebzWE+Ye9NO5pcWX7QbZD4WFNz2U1mBinx6Ti1UBqzZkzu sMQmKpTdzpkp1sjjv90/0iso8M4pDKn6I/+AjGJ+4yp4dJYKpqkfviz9gZK0TEjcOrRl L+ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744403916; x=1745008716; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0009F5O9wljpHFhP0qBedRkQq+IjHXl/vgFyYcghGBI=; b=k72nmUwdvANjQWYnMuTFLXg6j5jT1Mamx6JntmmjrSsptHwk4gwXViA1YdpfaWKjxw jFrY9s20zM4vTkRYJI1/KE8Sf0WUfwDM3qfAHkIO89FggVDavC5h0OVxgafweAlO3eEX /bMz07bB1xYqVdWVh8fsiO5mHQOOKuekXYqJtBvhvx5e1kJe29fPJNuzbcvcG8p7Mwhf ptCelnzSAlp4Eq5xzRpnhOUUZFlUE4NVG3IyklWsoG+stevriDmRjmwCMQcrINVfOARK M/ZqaWgj+7HZ22NgiRH1Tw2EqEJR+o21EU/PiGsxUsiSfpwj4rkaIoDgXG0E9JLvSq5Q xWIQ== X-Forwarded-Encrypted: i=1; AJvYcCW3eYmdI1AxOkdyLbRQCiRqAMOJaXR2g+X1xvbrHr1QnN252IPNAPHJx2bwrQ/iFgMkcbZDlvyRFhvuqxU=@vger.kernel.org X-Gm-Message-State: AOJu0YwhiUQZbLpalmeUodc4HIsYYIwN92H+/axPRuP5uBSmpf5XoYcY aObRdoZ0x/5l++saKVmSDxK01GizHKw8AuFGu9ePRfQuAOYm3xA3037Po/5LmHA= X-Gm-Gg: ASbGnctFn0ZgAyFsHRQNH0Xnf9x6Otn014Kjw4Z9TXLegQlIZyXuaa2xBp9LCCmPTGN 3C4ApQw/pRpwGTXh3+4e9wzE+qfhEqWH3toSaWwut5LXgeB3TpNRTyp0Xmys0nN7CwoQla08agb FuvUNZBrCo8JAP++VYmFTD3AbeqtFvr8IgjnPXUsOG1K/VyV+/oZZv01BjnkIwb248YxvUHtLtv fSI59S619bZ0HOfVY6hSY6THqQ33iStaros83OVQfl1yyIEiSfbezmDFbSodbdOS3oXT9r71610 91CVe9yHNJmFD6Y24ZNa9C+aMSmSD59kWW5if69yvP3eZOq1oUmBMLYj6SjvUE2W/tSE2kFhM9A 8ylsvUYvS0kp4fA== X-Google-Smtp-Source: AGHT+IGqHP+A8bUdxXLeOSya2xG9dcuQXpXzTMzOhzOj4n3d6/OcbE382cLJQUug9NIF/T7vU4ELFw== X-Received: by 2002:a05:6602:4816:b0:85b:35ef:b1fb with SMTP id ca18e2360f4ac-8617cb63bb2mr542148039f.2.1744403916511; Fri, 11 Apr 2025 13:38:36 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e2ea1esm1420787173.123.2025.04.11.13.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 13:38:36 -0700 (PDT) From: Alex Elder To: gregkh@linuxfoundation.org, jirislaby@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: andy.shevchenko@gmail.com, dlan@gentoo.org, benjamin.larsson@genexis.eu, bastien.curutchet@bootlin.com, andriy.shevchenko@linux.intel.com, u.kleine-koenig@baylibre.com, lkundrak@v3.sk, devicetree@vger.kernel.org, linux-serial@vger.kernel.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v4 3/3] serial: 8250_of: manage bus clock in suspend/resume Date: Fri, 11 Apr 2025 15:38:27 -0500 Message-ID: <20250411203828.1491595-4-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250411203828.1491595-1-elder@riscstar.com> References: <20250411203828.1491595-1-elder@riscstar.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Save the bus clock pointer in the of_serial_info structure, and use that to disable the bus clock on suspend and re-enable it on resume. Signed-off-by: Alex Elder Reviewed-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_of.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c index a90a5462aa72a..d178b6c54ea18 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c @@ -24,6 +24,7 @@ struct of_serial_info { struct clk *clk; + struct clk *bus_clk; struct reset_control *rst; int type; int line; @@ -138,6 +139,7 @@ static int of_platform_serial_setup(struct platform_device *ofdev, goto err_pmruntime; } + info->bus_clk = bus_clk; port->uartclk = clk_get_rate(info->clk); } /* If current-speed was set, then try not to change it. */ @@ -299,6 +301,7 @@ static int of_serial_suspend(struct device *dev) if (!uart_console(port) || console_suspend_enabled) { pm_runtime_put_sync(dev); clk_disable_unprepare(info->clk); + clk_disable_unprepare(info->bus_clk); } return 0; } @@ -311,6 +314,7 @@ static int of_serial_resume(struct device *dev) if (!uart_console(port) || console_suspend_enabled) { pm_runtime_get_sync(dev); + clk_prepare_enable(info->bus_clk); clk_prepare_enable(info->clk); }