From nobody Mon Jun 8 08:36:47 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 049D63D891F for ; Thu, 4 Jun 2026 06:51:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555870; cv=none; b=k5XgqQu0KItW2m3UcL4R17GQFEjo9hkDETXkCkUa0xLo4lb0xDT2K1QuDI40fhDIsSzwxbUhpsUj3TdBZ4hxnSJP05HjO6TqzAFqM8MEYtq2dFpViwaL4x1M6neMvP8bwUHMqLSTFD6EnmTyllnydNf4uMSYykEOvyoE2+DCkvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555870; c=relaxed/simple; bh=mz7sc1Sr+mYDYtbtQQ39lk6ZrrViCbd7vqHVpdklskg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cXIArebPhFWUfN9OrcGf+2fsVIlElV+/LYc1s8+o2e3RifykxigQDOtdS3CLH5wk315ob1dk9n5DJcuDGDrCkXmSQOrCsRmGuJlLx6X8DhAQNDVb3ZmezRZSAcM19iSY8+u4IbjpJvKyoqJ6UxrWANaSbklXsAbI4fFP6BVyrco= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ElLMUu7E; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VJPY0DHw; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ElLMUu7E"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VJPY0DHw" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6546ocut1476963 for ; Thu, 4 Jun 2026 06:51:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ASBcVGm8MKAYNVHkEl0QaEXtk2qpd/tJX2lsIZT5/FA=; b=ElLMUu7EGDqc0Y0k caSnvHiclcm6Dq2SX4pBSLgO6baDCctWgDOFI2VE96jfFDZc7f4lPc/6kO9rQhoM 4NaTjmDxGUUrIeokPJ12vLChuyQqJra2WyqLY7zoNmoE7eiB080wMsHCEpUFOHR7 IMOH4vA2LVKIvcy8/h7ncD1Cux0Pxq5hIwDYP9VTLZP4coml8lXg4udWrs+E4SSE W8DAa6DaqMagCkqi5uCPbtz0VsoP82g9MSDLoGsx5W41CsCycR5PTSWrRwPsoRhs UOomdZg3R0CYwIogHRP8LHQc2X+MBKE21vfAWT78RV0AeQwA9LAR4jlc8NDjNGDb vzW5xA== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejp6nudck-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 06:51:08 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-84247fed609so232664b3a.0 for ; Wed, 03 Jun 2026 23:51:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780555868; x=1781160668; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ASBcVGm8MKAYNVHkEl0QaEXtk2qpd/tJX2lsIZT5/FA=; b=VJPY0DHwUBEraZbAhPq0lj0a551xPEUQbDsghTEyQNebfVa9u+Gr7R4RwOPz4Vct+/ vzxdJWGTalu2eii0u/USHlOHGYaTYfN7kbppLu+CnlEmH4l7Efr018Ma3U/XxthGkeYf fzR0WtPeYID0J+14NurPooHV47mUirT7mbEJZm3uuGEOmHkRC8qub2anK9fAygSU87eD Cq8idu+tTd1uN2ySKA4pkuvojPmF7Q4oFo74fOar//8XMa1LIqH64Wke4yYAhYb+8Qgt QjN91d+lcrpPtG/UZqxBmChMmEyaNjuxZikx0e8ugCXOHUBFpDgI5LGoGLvmU/QftMK2 wOGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780555868; x=1781160668; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ASBcVGm8MKAYNVHkEl0QaEXtk2qpd/tJX2lsIZT5/FA=; b=VZpSdEMl2BOL+kYoTBDxoanldgZ8z/5rh/ThLzufcwPvfi6EunOpYldkpSp+JReG1+ 2MKPW8jpWECi/3q0XEJTVRtSHahiV57CAi9ytRIzLcLwwRk9jRyXenwuY5T84uyih4rP y0R3O/RvdJLo21/lIGGCdToTQHm+FjQw+DutzEumblhQmGHNG9s9wAGZnwDHKvaeZLih JIrwMXeQvPqZePlqVgl+FC/sfKKi4xYCXBE6r9aWLC/Q/wDjmHQkNvmpCAgsybt3sLf3 xdjzLHTUKZaNAfEeZbcQs6eVXmvLiUEojBwS1JP3vdcgWO0d7EScPuDopWLfQrSOcMBI bi/w== X-Forwarded-Encrypted: i=1; AFNElJ9wxjYlhDvUH1lHT5OMMnR5F6tlXxtlZrY1Y/RazTsfzYZm2VQtlG2vQxrEiGY6Ki7JJ3Xad4gGcOtuW0w=@vger.kernel.org X-Gm-Message-State: AOJu0YxDMjdu8R9anuODJ31w9nTkGdA7bChAm2oTHw9/iX6dMO3UmrQI ZO+5+Nj5llnaCgBhdjZ2NKiVRNRtcW4diumH/3LZnpZ+6NIOrPx5mT5gtDHqrYemTzS7+OOJjeF EYxMJwSOiT0pOhfwJvmgvfqX2w7IzIYgZo+CBAsq6GVpOYLfxxxzBWhfvT+N74Pep0XM= X-Gm-Gg: Acq92OGfvM58hNurbxWf14T6d0/eGiuIv2ejvxAOLeBqVok7BaRxG/88QxjsqzmMF/p JHtHPP0c6/FAtvsLAC34tPtoYLlECnSHbvPq38XlaaeV4sKBwpSF0QzuAqo1FxwKX9tDeiJuko0 MpoPjTwcoCQAOTIhw9CRYX7/Rx8UdNLaCsGJ5X/p7krz1Rkp+9YXIudSx4sH2PklLSvI+7oShP+ 7nEOOiX1Sz7GLaUQbYfd6wIwdecj96sbkilsikLP8glkM3/rtigE87rWAXb1u5Lgkgmdq3MVMIe ioOsm+7wwt3SnoogmJjSNgEQ91RqenpYfVA/5pDoteZ++PilDg7G+cE1Z5b+85W6PpeaaWWrf91 sv5rjJeRo/lRoKXBgQ2x4y4tchb0V8ZTt5BPYTtXTgF/RWMrGbgsls2uf2kaVzxbo6Q== X-Received: by 2002:a05:6a00:2e05:b0:842:4982:82a with SMTP id d2e1a72fcca58-84284f8a3d6mr7192454b3a.45.1780555867646; Wed, 03 Jun 2026 23:51:07 -0700 (PDT) X-Received: by 2002:a05:6a00:2e05:b0:842:4982:82a with SMTP id d2e1a72fcca58-84284f8a3d6mr7192423b3a.45.1780555867080; Wed, 03 Jun 2026 23:51:07 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842823512b0sm5365894b3a.15.2026.06.03.23.51.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 23:51:06 -0700 (PDT) From: Praveen Talari Date: Thu, 04 Jun 2026 12:20:35 +0530 Subject: [PATCH v3 1/4] spi: dt-bindings: describe SA8255p Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-enable-spi-on-sa8255p-v3-1-43984eac4c67@oss.qualcomm.com> References: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> In-Reply-To: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com, Nikunj Kela , Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780555855; l=2630; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=mz7sc1Sr+mYDYtbtQQ39lk6ZrrViCbd7vqHVpdklskg=; b=dusx7NPhon6EDMAMjmIOoMUcME1sDXk6im6cz4qrnm3W6BmnzLuCezH9MxyO3VH7YUQShg6tA pHkG01IJd69DcM5ztXD1yLVwZoIZZ/RMYIfHMuaMUGHwzQ+CIcHnG3F X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: pBbozHHAGbr9rC8OA5A5Z1ZnunnO-jNk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA2NCBTYWx0ZWRfX5CyxhxrBluRJ T+IXlEFAVp7QvTkkTDE10p5sdjpc7EEtT/jODtyG2bHY+Y7tROKHwKA+U9bygvBEl58t4Bf+YKJ iZxb0Le25oXw26gapFwqV+zycEkXlInRE15qMWjpy0Qm90drQlD3dDDeNqHDtY3M3f/IY5IdVs4 oCzgRo8hvmoeGDRjFxD5kadSuIScxWZTx5y9TDhYmYBHYV7Spe60+5kVWDNdNZDYkQERMYAIAYu /1sY7Jky8p+TEZZIlr2eEUkoKWUU6PP0k8VPTV9N1jUa2ufXCyUazOig8fbXFYNdbqn1qiJt9s6 1drnggKHNZrrDbT1ITjUhzDfcd2GRs+WYTcwoMFo5UL8V3FRKA0hhIYHEMvYiCGhm9PaNNO7TvJ OIfAXZoUM9iAq2kFcSvjntDvY/aiId14ST9h6T8ofT85dH6GQC2B9hLOKfs1T6GN2jq4jisWJls yZPj98JurAci5rLHJaA== X-Authority-Analysis: v=2.4 cv=DbcnbPtW c=1 sm=1 tr=0 ts=6a21205c cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=gEfo2CItAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=b8-5IbU7OP05I74H5fIA:9 a=QEXdDO2ut3YA:10 a=IoOABgeZipijB_acs4fv:22 a=sptkURWiP4Gy88Gu7hUp:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: pBbozHHAGbr9rC8OA5A5Z1ZnunnO-jNk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040064 Add DT bindings for the QUP GENI SPI controller on sa8255p platform. SA8255p platform abstracts resources such as clocks, interconnect and GPIO pins configuration in Firmware. SCMI power and perf protocols are utilized to request resource configurations. SA8255p platform does not require the Serial Engine (SE) common properties as the SE firmware is loaded and managed by the TrustZone (TZ) secure environment. Co-developed-by: Nikunj Kela Signed-off-by: Nikunj Kela Reviewed-by: Krzysztof Kozlowski Signed-off-by: Praveen Talari --- v2->v3: - Added missed dma-names in example node. --- .../bindings/spi/qcom,sa8255p-geni-spi.yaml | 64 ++++++++++++++++++= ++++ 1 file changed, 64 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.ya= ml b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml new file mode 100644 index 000000000000..d9347d780ca4 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/qcom,sa8255p-geni-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: GENI based Qualcomm Universal Peripheral (QUP) Serial Peripheral In= terface (SPI) + +maintainers: + - Praveen Talari + +properties: + compatible: + const: qcom,sa8255p-geni-spi + + reg: + maxItems: 1 + + dmas: + maxItems: 2 + + dma-names: + items: + - const: tx + - const: rx + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 2 + + power-domain-names: + items: + - const: power + - const: perf + +required: + - compatible + - reg + - interrupts + - power-domains + - power-domain-names + +allOf: + - $ref: /schemas/spi/spi-controller.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + #include + + spi@888000 { + compatible =3D "qcom,sa8255p-geni-spi"; + reg =3D <0x888000 0x4000>; + interrupts =3D ; + dmas =3D <&gpi_dma0 0 0 QCOM_GPI_SPI>, + <&gpi_dma0 1 0 QCOM_GPI_SPI>; + dma-names =3D "tx", "rx"; + power-domains =3D <&scmi0_pd 0>, <&scmi0_dvfs 0>; + power-domain-names =3D "power", "perf"; + }; --=20 2.34.1 From nobody Mon Jun 8 08:36:47 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7D793C3451 for ; Thu, 4 Jun 2026 06:51:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555876; cv=none; b=fXqxEGiera0KjePuzCChJw4uJ6gtEdBtTzDCk0DEqnZNeG3NSNcmc7gNab+qcvtqoUo2bJaiGpPR5DBX/mNGS5VMOzMgfM82k8LKJyXcPG8O9dDyWSE/Yl1blz9VRFFlafvsH7SGTe44C9yTOZC/MRE7ONmzOXvgso19+OgnLyc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555876; c=relaxed/simple; bh=W/YrZ50I3AwtE19t9pzTiT0xdnQWey3D03tHPf2lno4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hbzBvArSKUq/D36TcHQx6JW3dmABt3v+ScqLZNAj2xflSoEHIgNfCZcTk+gR/ZA5jJhzHd+6nw20/zrm7dWVqCUxtEhrfxLqncCKjeDmmmQY+GrE6cNu7MI/+tlNqYYLrUFNuN5m8fL+LuUyL9giv2agxTqNKhidPLahFO9DX9g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ke3SEQaf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Z8mGexmo; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ke3SEQaf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Z8mGexmo" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65424qT92368077 for ; Thu, 4 Jun 2026 06:51:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=ke3SEQafDKF7RYnn JVGnr9etkTU2DWxdrm2M+kwdDvGEJVI9FkAomUPZIZEA4Q9RBDiy1ZZ/nVfHUzZc /+rI5xSC18EphqQSZ3ykNU9gpAm2sic9ke/X9OIrej0X7f1LalJhwBdZfosZ0xSW 6DOwzQAH4VoRiPqUsnGuIoYEjDpg5GMtL5mQfy5ydPCRJ5aQ9Cv7B1DIG8jRoD6N p6WqfBmUwOlP1wg+xE2nWGHkMah9jStpI7i41yUkICiD9lwJt3iCvXR7xnlLt3EH q2OsMnzafF0lcb/o05yGhm4reO5Z9BQFOa/xDKNjl4SbPUAEUbNdZ4vGT8Mr5Vdh l/sydw== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejj3gmdun-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 06:51:13 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-8423f6247c6so492503b3a.3 for ; Wed, 03 Jun 2026 23:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780555873; x=1781160673; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=Z8mGexmonM719btMsu8bz8mTmiZ8IWlWRjgO8NUzuQQC5hOGaq9G6likxMyhx1VZAb sNifCr7bxkgj606TWKvBKiz3DEM/6LDMqWugAib8E8Y8njk90RZkSOEO0rwPNTxgWYty /pnoDzV8zR332yXwa21F6ZwrQd1Yncfibda37CAR99u7PP8RbcdAE8NBCWrcsdslX/td 1dEQIma19ZOzBxuGc0hd6x8q/CckbFzex/dMgvl2oPbNIeY66Zn1Oru13uPwBDCQQ5Ps MN0jN49wZRXspN5EoLsOiOAAPm7L3W/GGXHKV0ll67JPdC7+MXD5zEUArRah+e7IBaBL Jftw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780555873; x=1781160673; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=FBUi/jFtiwssrw80o8XeVt2s6nLsnV6cFU6pNkAWl6Rec+VHY5SvmhFQ2iU0hEZLTI G1WatQWi/CyAKa5dU42PHkhyFFVhl8XhRGFLGZWixciz3JJaadD2x27663R40QXsrdtb WJ4skvimsvyHlfNoZ8TNhYemingQf78p1WWrBVNBCUMLXSoRUzP33EXyR6xtQwrl8Sgi vgcz6vG7cVVNvKV1eoqAxkIP69MoO37une7ECQrFw397CrwLNNse2l5VmuhY4Zr+QOs0 qvsD6kootJ16AT68i58aisHIbe3Q4wP9dWXqn/y0H6558Yk3BAPx6xeSU7N1rzxuMPA6 ZBlQ== X-Forwarded-Encrypted: i=1; AFNElJ+T2JxZKn8soOQr257Cyc9AqW4BzLHWecWFapi4mdH6MG81gv2WscoDCFk0lzs6VQyq3AFLmM5jgmTL9K0=@vger.kernel.org X-Gm-Message-State: AOJu0YzDIWICSxIDoIQ1kJqUM4aiFCTguSpPnflLztNePi3Lxr87Ca9m DbWC2kDxltmheWLmokDGe3wxVTanUKBpEcPZ7uUAEqB3h/rsqzxFpdcOFqzrdtxXH8nULVTdc5K ahvJ04LuSbk3oQGzAvmM4bEc6rxMhRtrFUcBlMXgr4xwhpdhvvFVmrxVZ4DkYObECWFw= X-Gm-Gg: Acq92OFu/j1/Pjy7QQQV0529BZxoI8bYOUqbW6WOdP0VvksgWm7AhPa80SQUX+Hk88+ hh08ZnojYC89Ju9d/JnW6wMPxE1s/mY2/4hpfmluNMQpPc0sOe47NkIBuqVbFQBRqOksMVDqC7Z QCbwZEUqWqP9c5hVkT7zRJpEdKD7uXWvahD5nzZAovhA1loPVb98dcB1tNErqrPVzbPwp+u63hc esBLgs/h4mv1TX4lq/pVfa4Q2rFjM/H9OeqhbFL67Py37tKvBPDA7WtPeQEHV5hhD2qbwTLGtV1 AuJKfiGDuRiWJIuQgfKnKTHLtEFP/AfTVdmXOK3WTS9EgmJBw5LcQxdsjz6Fvcx29l6Cbax83nW 9aWbUTrkfhCPbXprWn8TIxP2sAk2UKnSFxhNw3l0k1bdIsTHDGsMDT+LTngvBB7iOpQ== X-Received: by 2002:a05:6a00:218c:b0:842:65c1:468c with SMTP id d2e1a72fcca58-84284dcf4dbmr6811665b3a.7.1780555872849; Wed, 03 Jun 2026 23:51:12 -0700 (PDT) X-Received: by 2002:a05:6a00:218c:b0:842:65c1:468c with SMTP id d2e1a72fcca58-84284dcf4dbmr6811635b3a.7.1780555872344; Wed, 03 Jun 2026 23:51:12 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842823512b0sm5365894b3a.15.2026.06.03.23.51.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 23:51:11 -0700 (PDT) From: Praveen Talari Date: Thu, 04 Jun 2026 12:20:36 +0530 Subject: [PATCH v3 2/4] spi: qcom-geni: Use geni_se_resources_init() for resource initialization Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-enable-spi-on-sa8255p-v3-2-43984eac4c67@oss.qualcomm.com> References: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> In-Reply-To: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780555855; l=2636; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=W/YrZ50I3AwtE19t9pzTiT0xdnQWey3D03tHPf2lno4=; b=ewjUJ9QKdBe0LIdL7sEmglT5sWBrEP+JxB6TfNuTourwIG1xcImR8fe/gNJJSHDiomNV2fY6M k1xT8JFyf7mCsZ4+n/5sW0Kx/rTi0usWiNKlEGlXXva5LFU8mlecYpP X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA2NCBTYWx0ZWRfXwwmO05I2Aa7X BwiLZBbsHVTnNvFbfSO2Uiuwecd8EGPw/uqaOFLjk0VzGHzfcwyS4p6+BhbPn9kiSZRbKKni7Ky CABqqYOViuu7w+qQZTna1gMT9lPhuEJTE8BCKNlz76oKJ/d3wWhVnw2V3SfEagOZ73SYDSq7fSD jID1pz1kIi6NnfbBZ1kfscLnLr7HJD3eeH2oDiXQGkHWUvlg0qGw4uuFjhuOtRIAX/+tAWqh89G VJP3ktd0eaIvKvgs0ppXcpWgodWUmYiL4Iwealw2IwChYVowIeMCO8ORl7whBrZ6vDiwFsnGsdT qTfILCtMSXiZGgKDwP3OZ3Cz2CtljYVZ2KGJADd7+CMatvnrBP4H/1LgZV57nyKMzutFPHfmiOL 3It0Ndp4X7rFrH+kjam0mt70WvM/M5glAeLgOa3EkyIBLbMW7RZW/b9TU+25jnD+cP9O/s2r40J Jf5LEGRwW9t1OQDJ7fw== X-Proofpoint-GUID: FaHPVnEExQZfb1Ho9QAlQH-aDoiRhtsf X-Proofpoint-ORIG-GUID: FaHPVnEExQZfb1Ho9QAlQH-aDoiRhtsf X-Authority-Analysis: v=2.4 cv=UvhT8ewB c=1 sm=1 tr=0 ts=6a212061 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=TXo2QnZ9t29hVJcr6pMA:9 a=QEXdDO2ut3YA:10 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 impostorscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040064 Replace resources initialization such as clocks, ICC path and OPP with the common geni_se_resources_init() function to avoid code duplication across all drivers. The geni_se_resources_init() function handles all these resources internally, reducing code duplication and ensuring consistent resource management across GENI SE drivers. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index a04cdc1e5ad4..333216df922e 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1034,7 +1034,6 @@ static int spi_geni_probe(struct platform_device *pde= v) struct spi_controller *spi; struct spi_geni_master *mas; void __iomem *base; - struct clk *clk; struct device *dev =3D &pdev->dev; =20 irq =3D platform_get_irq(pdev, 0); @@ -1049,10 +1048,6 @@ static int spi_geni_probe(struct platform_device *pd= ev) if (IS_ERR(base)) return PTR_ERR(base); =20 - clk =3D devm_clk_get(dev, "se"); - if (IS_ERR(clk)) - return PTR_ERR(clk); - if (device_property_read_bool(dev, "spi-slave")) spi =3D devm_spi_alloc_target(dev, sizeof(*mas)); else @@ -1068,17 +1063,10 @@ static int spi_geni_probe(struct platform_device *p= dev) mas->se.dev =3D dev; mas->se.wrapper =3D dev_get_drvdata(dev->parent); mas->se.base =3D base; - mas->se.clk =3D clk; =20 - ret =3D devm_pm_opp_set_clkname(&pdev->dev, "se"); + ret =3D geni_se_resources_init(&mas->se); if (ret) return ret; - /* OPP table is optional */ - ret =3D devm_pm_opp_of_add_table(&pdev->dev); - if (ret && ret !=3D -ENODEV) { - dev_err(&pdev->dev, "invalid OPP table in device tree\n"); - return ret; - } =20 spi->bus_num =3D -1; spi->mode_bits =3D SPI_CPOL | SPI_CPHA | SPI_LOOP | SPI_CS_HIGH; @@ -1104,24 +1092,12 @@ static int spi_geni_probe(struct platform_device *p= dev) if (spi->target) spi->target_abort =3D spi_geni_target_abort; =20 - ret =3D geni_icc_get(&mas->se, NULL); - if (ret) - return ret; - pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, 250); ret =3D devm_pm_runtime_enable(dev); if (ret) return ret; =20 - /* Set the bus quota to a reasonable value for register access */ - mas->se.icc_paths[GENI_TO_CORE].avg_bw =3D Bps_to_icc(CORE_2X_50_MHZ); - mas->se.icc_paths[CPU_TO_GENI].avg_bw =3D GENI_DEFAULT_BW; - - ret =3D geni_icc_set_bw(&mas->se); - if (ret) - return ret; - ret =3D spi_geni_init(mas); if (ret) return ret; --=20 2.34.1 From nobody Mon Jun 8 08:36:47 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9CD653DA5C7 for ; Thu, 4 Jun 2026 06:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555881; cv=none; b=hB9v6JlNuVQcsWnsHtKZ7KTNEG0qwEgHa7Pan88wg/Lwgje6HQq01OD5V6uxFAVl9WrrGO9c8YswoUdcF4y6owZApGUBL96yPkccvwJ3vxTgnDtseyT2hBq9rmC0NJbwz8s6p0kvofHcFKsizD4HGmozwEbSIWG+KpqMgcRAk98= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555881; c=relaxed/simple; bh=fpy686p8ddKfyBsPF5CtRR1fnIjNugEqnWE+etuOQjA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XKhA0RvDJ5XnYjxMWscgSV1AvwYTROKIffGdqqg2JjEMZ7zQYD2sMiMG40dKIzOwiedBj31nxqBe5n42U/pKDlVGS7io65HbiL5FiKPWDc6n/+EtzHHEtQToM/Vykps5wb/QWbPoEVfKqZzc8rTwfB4SS8g3IoTXrTmKJdPZCzo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WjQ7e68W; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OjOIUrVK; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WjQ7e68W"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OjOIUrVK" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6540tpR4598093 for ; Thu, 4 Jun 2026 06:51:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2088GKdH+0zCG19DSxc84/cxuUQLcsZtoIjUnM9OSZk=; b=WjQ7e68WNO+wU0zV dGUp414Hr7HAL5YpWcHuOp9E6BZWI+kZS3dHY9KnC+hV6a/k94rLrm+e2m0dv7Sn wNRdON9ssESYFfiK/JLAvwEVdtX5IxRQzuLnZrUTA2I61xYFgz9NBSXLniQJ9o6r PW3QRYxhXA6q6KG+x1bnRIUvKJLkVnGpNVmWAhMPZr8eFsWPeYV2F4M+1PdzTNd2 bu+x3nLGXpWscvNDjGIaahQZKQbtxCWUysoQxXRfsr+RjhwfcPcuRdvm0s0hBcCj coyn90pWlCFpWBKGMqG8yXnnCFF28GrUyB5vMko4YEyKw2Wf754zoLOcs9VVPL4k +A436A== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejy8m11gp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 06:51:18 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-8423efbfb61so279412b3a.0 for ; Wed, 03 Jun 2026 23:51:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780555878; x=1781160678; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2088GKdH+0zCG19DSxc84/cxuUQLcsZtoIjUnM9OSZk=; b=OjOIUrVKU3exK8VyPOPM77y3/X1TVowMMdU/CKYCHl9o+e6P2J8+wP/9i+bHw7hVMM O5/EhGniUdXUAV1eBq9KqDEQDgM2+UVwE5WXIi2Eb3JCtCCXZvk+jV4K4ENEvg3wdmpx dlilu9iEe6lyZ4ZGJaHw13b9fUB8RCzjn2+UmgU+YIRVd5aa+6BmtTIHtycqF4CRO4eE 97KgYlBdTFMk/15JTVisDPxCvvZ7P6mpmzNkNGYWKzk/AlGlg/pIwSQiKHW29YYlE9h+ cUN89ZJrIbLIPqtoHsi0SxMZEr/gCNPjfEgIs78Y3/fzK064znlUR/afjfbAmLuoGef4 MugQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780555878; x=1781160678; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2088GKdH+0zCG19DSxc84/cxuUQLcsZtoIjUnM9OSZk=; b=QEPl5jTxXJrSX/ewMwISAYVMACIDlj2susKTXuRw3ue688Ogw3jpIa2YfrPxwVdn2G U1saBJMjTsqy1EcvgYmlPlDkx49YAIkkhLUw0XR7eoZ4/Sg1hPdVuqSP7SlNn47jVKfO WzGglQD48ApI7247waCrLf3+gUON0LVK4DNJthK5pQ8o6zHg2VEe/nqjNyP0dXxQALRO CQ1gOzOm4t/qKbyZwi+K0e8Bx2L49MWpLIOmKq1URRtVbrJOSEfhK3OVXw069gsRRYg6 wCbVouxQ1BLkaY4hlq9rV5BekEHF0RkI1xy68aXl2tSvfBjzILm80Xv5nD2Bhlwyh9mD lZtw== X-Forwarded-Encrypted: i=1; AFNElJ/gXrykZAyl3HotWkLISkGQ0vrK8D9Z1uJZhBcUkcoJ9ad0eQemsZ7bYooEuU/Jao5Lr9ULRpTJhnwRWOQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yyy32cEdMOv//MLMU+hrJi5XnzB5PxwJfcaU+k+K+FQ1/7MzWzG omi4Ue0rBRFBwpHvrd8TYdqBFwawDQVvXAEqwaK6T4QQ/FUJeFvflVB3u2zLDjYWKSKc1XGIhIB Vld9kUatd1yTBll4fwxDz7/e3ZEhbFjxj8HJtyOyU7k3scPjPrZFvqu5zGQbimeNKkZo= X-Gm-Gg: Acq92OFqnbQiWh5d+794wOAeOImJly9z+FB03snBQPy5TtECo07za+f9foOSMMIpksc oj7QQ8AMg7xZlnGQUkRX9eY61V3XPVDBra/9JXHtM67hsFP84h2dPzgGzC8kFwJEK4Uh1crAY6N HLejvdBw9cfeLIG7XGskvRjTrgdaL/qwRJfO1Vjdu8mogRChv4Of30XpZ/37B4ueB7Sz0QVOEZ9 XPoiHotTf/4p8MmW1jR9gigpzq0aOMavl39Oj+wad7WPhDy1d3uv4z2dAv6tpXRtW3G2AKqf0SJ IumM1DrcOyNhIyapDzgzsYkF5psl9br7pd5PRdvw89CAvtm8RFRcGFOzbk9V4zuyjRRNucRkDSp cGssVr+5nCdx71/IZPyMk7uPBWfdBR4mjjHnJmUi85ungEMs03xeQoGfCWzgx9KhXNg== X-Received: by 2002:a05:6a00:451b:b0:834:e092:2631 with SMTP id d2e1a72fcca58-84284def9b3mr6399195b3a.8.1780555878105; Wed, 03 Jun 2026 23:51:18 -0700 (PDT) X-Received: by 2002:a05:6a00:451b:b0:834:e092:2631 with SMTP id d2e1a72fcca58-84284def9b3mr6399171b3a.8.1780555877584; Wed, 03 Jun 2026 23:51:17 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842823512b0sm5365894b3a.15.2026.06.03.23.51.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 23:51:17 -0700 (PDT) From: Praveen Talari Date: Thu, 04 Jun 2026 12:20:37 +0530 Subject: [PATCH v3 3/4] spi: qcom-geni: Use resources helper APIs in runtime PM functions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-enable-spi-on-sa8255p-v3-3-43984eac4c67@oss.qualcomm.com> References: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> In-Reply-To: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780555855; l=2060; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=fpy686p8ddKfyBsPF5CtRR1fnIjNugEqnWE+etuOQjA=; b=pcA7p5YWDG4hCeq130/J37d67EimO2DpnPJYKmiICTCw7KfXE+tSrz15gtNbpWrvc3bYmqQKC iIz46UvSQCWBQSxL+lk22jcwjFD1DdvyMn/DvSa3ZNwPE5d/V5VnbE/ X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=KfDidwYD c=1 sm=1 tr=0 ts=6a212066 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=i7xoKaWEWnc8ZE6DH4sA:9 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA2NSBTYWx0ZWRfXzulePQLIlLnu tfJK6jYMx7N63+Whixf/oezqYehmoSC6dCVjaCeoX8l/Jw+LTVNuTqUmvysOJZ1DqKED2dvjMyU Ii7p5lP39dbvKmv8UXQH03QRYTwvdqoPncwH5WR2W56HK5wESWpvjLG/y2OjwZvg2F37tCkzGSX /X7wg6VBJ/YZQtMfe2xDfX2mIT5y1Nsdi1INtQD8QYj8deVnZagZDzEDoz6zZMG5LoU4/W0pEdM mdTR7If7JHHs/vZj8bk+XmSV4+tsONPNsRfx+IVlId5yGYi+FN4VckHP3IRcdIwE4TS/W+czszQ 4v2AKCwpR+do3pGH5+044yLVIulTGZIzF8hrdXi9jlVyG5di+t6UAcsO9X41f0q1rjfWjQifgYL SMCrNOohK3Q+5KV665Z13OZnISF5wvl7rdGQ9mB+jsnwANxL3ryEKG4aqBU+EX0uH7EDhE9Ukp9 7sf5gy2QtNqmLjJxn9A== X-Proofpoint-GUID: N80z-saN7csEqbqXCuu8LFNVV7sJG-hk X-Proofpoint-ORIG-GUID: N80z-saN7csEqbqXCuu8LFNVV7sJG-hk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040065 To manage GENI serial engine resources during runtime power management, drivers currently need to call functions for ICC, clock, and SE resource operations in both suspend and resume paths, resulting in code duplication across drivers. The new geni_se_resources_activate() and geni_se_resources_deactivate() helper APIs addresses this issue by providing a streamlined method to enable or disable all resources based, thereby eliminating redundancy across drivers. Signed-off-by: Praveen Talari --- v2->v3: - Added the OPP rate restoration in resume callback. --- drivers/spi/spi-geni-qcom.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 333216df922e..420534937695 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1119,16 +1119,8 @@ static int __maybe_unused spi_geni_runtime_suspend(s= truct device *dev) { struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); - int ret; - - /* Drop the performance state vote */ - dev_pm_opp_set_rate(dev, 0); - - ret =3D geni_se_resources_off(&mas->se); - if (ret) - return ret; =20 - return geni_icc_disable(&mas->se); + return geni_se_resources_deactivate(&mas->se); } =20 static int __maybe_unused spi_geni_runtime_resume(struct device *dev) @@ -1137,15 +1129,14 @@ static int __maybe_unused spi_geni_runtime_resume(s= truct device *dev) struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); int ret; =20 - ret =3D geni_icc_enable(&mas->se); + ret =3D geni_se_resources_activate(&mas->se); if (ret) return ret; =20 - ret =3D geni_se_resources_on(&mas->se); - if (ret) - return ret; + if (mas->se.has_opp) + return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); =20 - return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); + return 0; } =20 static int __maybe_unused spi_geni_suspend(struct device *dev) --=20 2.34.1 From nobody Mon Jun 8 08:36:47 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B95ED3DA5C1 for ; Thu, 4 Jun 2026 06:51:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555886; cv=none; b=N+fwapDb79/6oNdH/6HkbAp9+itj18HWnbpfsM6olK7Rgkz/PU5MH6f74zXvaaneSYmA1Luj8tI00SKw2oJB7nl0ZkcDfjj3JQhrPZEexFdoF5IwizFbsamfsmsK+wz/4dgI0w6haJG3e6v3OyhcITL2SoI2iRQdonkTo5pqLkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780555886; c=relaxed/simple; bh=QrJa6QmmVo43BgQCLwXV/uHCInZpAJ510TCi/NxzQ2c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hgi6FE2RPSJxZnOIjJTJbWM7ZKGb1Xq9yDptfSPM37k0AmgshGQgTLvOY4SzygK8HWdIZ2m18m6LoZ/2bQ5cmZvYxGLeWS3ilO42sdENy9bCuTA8O1iB75G1IyLBNA0b9ylJXYrlSD8E7aOYieata5eS1MzOBkwjGO4ncHkGHZY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Z6bp/Iyx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ETAeVR39; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Z6bp/Iyx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ETAeVR39" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65455VHY1039270 for ; Thu, 4 Jun 2026 06:51:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= k6/s/Ll2pjRqqTLT2vU5HLBxfu7d8ihaQntI6L6D3aY=; b=Z6bp/IyxDMGZ1QPL JbAyHzWhmWo4VCYjqWtaKFNk0M1B2SPQ1o/2T01EKz6T9CtljeABoUSdG3LYvX1Y 3v1jPLVz6CfmMsqupXsGNcnMnE2xG+qVBv1Zt8nCS01hw/eI6h5XJ3xWBcWCBfu8 Ft+1dWNU1xBY2dbv6WCx4GDqbjS+LeH9i4zv6vdtq7BORstVgQUE5JmGrhBGvYBu vWeDstYhv4cUgm3lPpNuyRMWi7wZmVhFgqYHrX4iZ2xS1vPSsnE4cYz2P5d612MN ibJxuEI0cuks8sFV28FS4BY1et9SO6nJ+0oAMi3k1nPIZ4+3h85JBM0+8V5/uuLN qlvuIQ== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejtj8j1ky-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 06:51:24 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c85a2cda4d0so244145a12.3 for ; Wed, 03 Jun 2026 23:51:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780555883; x=1781160683; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=k6/s/Ll2pjRqqTLT2vU5HLBxfu7d8ihaQntI6L6D3aY=; b=ETAeVR39bXvd3mJz8zNzAL0lC1Br3tjjjT9LAXNxsMS6OB5KjOVixRaz1kmhlAhCVr VuEpxTMxIMBN6wD2/DtSMF3aTDMzxsFk8qtUk/WpzxEtC7c4LahVRf2WKVx/JCrQtLn3 R/R/edjvTKX7eOqb21u0vgxVuNEySXlt9/5wpSNfniggQKJ4sn0WKtTbicy/Yl/tdS62 46TtdYnvlbUfgUajcy2vgffy35gfaA0k1KWPbjThtvDLZpIWT0wjy23ZNoLctTmoOUhD rDCG7LysmL57O66lEK2vY/ouNmGFileFvIAOLYboMho01IkliMBZynE9mo1OAE1aJf/i +m/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780555883; x=1781160683; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=k6/s/Ll2pjRqqTLT2vU5HLBxfu7d8ihaQntI6L6D3aY=; b=sg72Kw4ONDirLddq2+Hs1QyZouWvY2J1l7dd322s7SywQGade+uz0ix4Woxxo8b0Wf h5GGwKCOV0anYBVQku35j17sNpCjNIoakfvENixk53imX4OMjFUZni87p5vzHoIblqB3 renkT6EjngYhka3YzXi/na1TBD6tKS68rNdtbBwSHO1GnjR+I8WShbseuC6cWegoYyIa KJWZc99gAm3m0DYwdzowIR3vtzVgVrQMZWTgLV9gfdGXcQ9ImMdhcJH+Yt9MNwRL3k3Q 8Ws14PeVFh+iZCz6wtYjwsxh6ErBy3UyvTrH+pYRk6L1M6gBrnLYpT3DjxQkjsg+HF3C 6VJw== X-Forwarded-Encrypted: i=1; AFNElJ9qhNmhp2VKvfkytcq1Hf8D5qoxI7wJwN4Mc9mFciUN/8LAnquXDCC2QDDiCj79YsVbgXiqZmYWNLHTyhQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzKGoEQAnefsP1+c5itajZ/KNM26SBAZxQFrZmntoduO/nBbXAb +/yF68Er3f6y9rsXsI4Pv1tBOeJ2fLibh5iTqWljS+h4pwRzv4fWuAWGIu/aoRaUYkiO/anEmpn TJ1nIEOHgwF5o5MbcJ/BEcC8pdbx2d2VZxEsPD+kOiHM/tu/RpPzHa9Yn9iDkcrRnuJg= X-Gm-Gg: Acq92OEfNmPa9/B+fXnyRkOSkRvPJrW2CPKpUQmJ90YOY+r1eKswUdyhvEBNzmD2ywB wkLt3nnkVStfLwXS6xVXCOKNjyLRLdBpMeaJQsKsbFcTS93pdR3xcAuR2XKCOcq7Ya86DrAhKwh GcoYj8SjoCHc/FrGvwyr+MTQo3/RmOG7kqwpWJrLzokZG4hyCSLnTpHdiNRl8TKbQoyUHKJ9Tl3 kWNIOqbW127m28FoOpv+WkYVpvF3nXPBUfqUlsMH0E2unPTqMOvJ2t1ZOZ7c2DPE/r8Uhi7pqZp a0T9WWMDg0xnTBUqfwhG41NsOs/k6qtTHCumokg57Tenf4+yprr+BVzE9AauBhwbgEpr9YGBjwc uzQwymv2CCBZUyA1aQ6QJnLO6AzUh9LFwqEX/ecR9FECq+ktl0nnQt6Qw4TogBiCtFw== X-Received: by 2002:a05:6a00:4508:b0:842:6a3b:60c9 with SMTP id d2e1a72fcca58-84284f5fc0amr6035151b3a.24.1780555883205; Wed, 03 Jun 2026 23:51:23 -0700 (PDT) X-Received: by 2002:a05:6a00:4508:b0:842:6a3b:60c9 with SMTP id d2e1a72fcca58-84284f5fc0amr6035112b3a.24.1780555882616; Wed, 03 Jun 2026 23:51:22 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842823512b0sm5365894b3a.15.2026.06.03.23.51.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 23:51:22 -0700 (PDT) From: Praveen Talari Date: Thu, 04 Jun 2026 12:20:38 +0530 Subject: [PATCH v3 4/4] spi: qcom-geni: Enable SPI on SA8255p Qualcomm platforms Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-enable-spi-on-sa8255p-v3-4-43984eac4c67@oss.qualcomm.com> References: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> In-Reply-To: <20260604-enable-spi-on-sa8255p-v3-0-43984eac4c67@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780555855; l=4719; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=QrJa6QmmVo43BgQCLwXV/uHCInZpAJ510TCi/NxzQ2c=; b=lwPiOOh3IqZUDjL+lepayZg6zcoWUToaF9SOWtOuc4HJ+XQ/C6yzEFNV1n7md+nBIjEASB/Ru SPlmNW6H75xAAvQYb+2lacnWRvDYBtE25gAAyI7qaFH1/tNO5rTTFKW X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-ORIG-GUID: -xuS5ZECAU487G_OSYzPZhnFZ4oeq60Z X-Proofpoint-GUID: -xuS5ZECAU487G_OSYzPZhnFZ4oeq60Z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA2NSBTYWx0ZWRfX9FyiRv7g+v7M nBNAXqp3jrRuVqS+YATBL6yFZ5SWXpG7S52N0linmZdf/vjqVZPWNkXTxp+cN7Z4rHeosrjsGdA cmk122Ad6sg7fMhLApfF6MNgyFdgaBfZ/3lXs2qhbOh8MCXC9tk9KTAU1BoS/Gpde3xVmgI+tOq Y0DPF9ofhy4bJL8yPy9iSsKo/akkP/G3m41NZ70dx5dpX2rg0txX86Pmw68O10pTKALgV032OmE s8i1nHCo/WLXUvzfmbjyjjpwK2n9ygeicptns9f9Qvkr1V0iYhyVSa4A4aVcxD9D5eFbgnGvZAr +95NagpFDIEwNms8K231teXRF42W7ZQUiW5WlRo4vo/Tjjzdp/dAEyNfh60LLuAg+3I/yeQPtDB BIO4GAo4xS5qY3FpGriyDPNpghRxNAIi/9fbxMXG/H7GLxEh90vBN95kFKD6u9JjRr8cQJcoL5X AoRlEAbxpVcT01Jf3ZA== X-Authority-Analysis: v=2.4 cv=f4p4wuyM c=1 sm=1 tr=0 ts=6a21206c cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=L4oeRUVQnX-q_C5JrjwA:9 a=QEXdDO2ut3YA:10 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040065 The Qualcomm automotive SA8255p SoC relies on firmware to configure platform resources, including clocks, interconnects and TLMM. The driver requests resources operations over SCMI using power and performance protocols. The SCMI power protocol enables or disables resources like clocks, interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs, such as resume/suspend, to control power states(on/off). The SCMI performance protocol manages SPI frequency, with each frequency rate represented by a performance level. The driver uses geni_se_set_perf_opp() API to request the desired frequency rate. As part of geni_se_set_perf_opp(), the OPP for the requested frequency is obtained using dev_pm_opp_find_freq_floor() and the performance level is set using dev_pm_opp_set_opp(). Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 47 +++++++++++++++++++++++++++++++++++------= ---- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 420534937695..1b92fb1bd8bf 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -78,6 +78,13 @@ #define GSI_CPHA BIT(4) #define GSI_CPOL BIT(5) =20 +struct geni_spi_desc { + int (*resources_init)(struct geni_se *se); + int (*set_rate)(struct geni_se *se, unsigned long clk_freq); + int (*power_on)(struct geni_se *se); + int (*power_off)(struct geni_se *se); +}; + struct spi_geni_master { struct geni_se se; struct device *dev; @@ -105,6 +112,7 @@ struct spi_geni_master { struct dma_chan *tx; struct dma_chan *rx; int cur_xfer_mode; + const struct geni_spi_desc *dev_data; }; =20 static void spi_slv_setup(struct spi_geni_master *mas) @@ -305,11 +313,12 @@ static void spi_setup_word_len(struct spi_geni_master= *mas, u16 mode, writel(word_len, se->base + SE_SPI_WORD_LEN); } =20 -static int geni_spi_set_clock_and_bw(struct spi_geni_master *mas, - unsigned long clk_hz) +static int geni_spi_set_clock_and_bw(struct geni_se *se, + unsigned long clk_hz) { + struct spi_controller *spi =3D dev_get_drvdata(se->dev); + struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); u32 clk_sel, m_clk_cfg, idx, div; - struct geni_se *se =3D &mas->se; int ret; =20 if (clk_hz =3D=3D mas->cur_speed_hz) @@ -820,7 +829,7 @@ static int setup_se_xfer(struct spi_transfer *xfer, } =20 /* Speed and bits per word can be overridden per transfer */ - ret =3D geni_spi_set_clock_and_bw(mas, xfer->speed_hz); + ret =3D mas->dev_data->set_rate(&mas->se, xfer->speed_hz); if (ret) return ret; =20 @@ -1064,7 +1073,9 @@ static int spi_geni_probe(struct platform_device *pde= v) mas->se.wrapper =3D dev_get_drvdata(dev->parent); mas->se.base =3D base; =20 - ret =3D geni_se_resources_init(&mas->se); + mas->dev_data =3D device_get_match_data(&pdev->dev); + + ret =3D mas->dev_data->resources_init(&mas->se); if (ret) return ret; =20 @@ -1120,7 +1131,8 @@ static int __maybe_unused spi_geni_runtime_suspend(st= ruct device *dev) struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); =20 - return geni_se_resources_deactivate(&mas->se); + return mas->dev_data->power_off ? + mas->dev_data->power_off(&mas->se) : 0; } =20 static int __maybe_unused spi_geni_runtime_resume(struct device *dev) @@ -1129,9 +1141,11 @@ static int __maybe_unused spi_geni_runtime_resume(st= ruct device *dev) struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); int ret; =20 - ret =3D geni_se_resources_activate(&mas->se); - if (ret) - return ret; + if (mas->dev_data->power_on) { + ret =3D mas->dev_data->power_on(&mas->se); + if (ret) + return ret; + } =20 if (mas->se.has_opp) return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); @@ -1177,8 +1191,21 @@ static const struct dev_pm_ops spi_geni_pm_ops =3D { SET_SYSTEM_SLEEP_PM_OPS(spi_geni_suspend, spi_geni_resume) }; =20 +static const struct geni_spi_desc geni_spi =3D { + .resources_init =3D geni_se_resources_init, + .set_rate =3D geni_spi_set_clock_and_bw, + .power_on =3D geni_se_resources_activate, + .power_off =3D geni_se_resources_deactivate, +}; + +static const struct geni_spi_desc sa8255p_geni_spi =3D { + .resources_init =3D geni_se_domain_attach, + .set_rate =3D geni_se_set_perf_opp, +}; + static const struct of_device_id spi_geni_dt_match[] =3D { - { .compatible =3D "qcom,geni-spi" }, + { .compatible =3D "qcom,geni-spi", .data =3D &geni_spi }, + { .compatible =3D "qcom,sa8255p-geni-spi", .data =3D &sa8255p_geni_spi }, {} }; MODULE_DEVICE_TABLE(of, spi_geni_dt_match); --=20 2.34.1