From nobody Thu Oct 2 19:01:42 2025 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 86F4F2EC09B for ; Fri, 12 Sep 2025 10:36:53 +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=1757673415; cv=none; b=r86m1m6uplYatBBO0MBwTZQaQwJoBo6dGV9qeVT3TV4jQjZKtcklysUgGxt/oI9ZGfWqzlng4amChIIo5CFPp4nGAHFeuQ8u55veUMP8sDWM7HtboBlna95C4QbybQ+jO/8Ptj2gUDePRxGRtJv2v5hLnlhWhhD/oFMspzpIpj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757673415; c=relaxed/simple; bh=7jxWqacBZ6AAuPHsfSDGdY3Qm64387CVaLCv9LSLkiY=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=uQZ9j4Km9aTZbotEp5j8j+uusJm/gwfNCLSar9XI30AlOudXkU4oSd2SRMVhwdwFeC1OObuGc2PxnJprrZsBbv25pSXK6kLJtEfHEKj4Ki6Vw9XlT9qTfdWWsr4/8h4m/h+nrmPsBfXXFQbSKsaa8aYyRcSI7cCA/6dX1SQptHs= 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=EDtMxzez; 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="EDtMxzez" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58C9fHIK017701 for ; Fri, 12 Sep 2025 10:36:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=uOjR35eLHkEN3KiQ06akGbY/xV3LkM6yhTd OwIGj+uU=; b=EDtMxzez6HJxbnBolPqcM5OiAmg4mjUizheIaUI7lRMoeuzPH6V NC7U8tTlx9qNG6jCNVrJBuijbUBSX8gTcwZwZCd7u9yQDSo8mluf0NSG5bgINdjL FgDR217uusgVg0mtBI9Kr5wwTWvf2RHaGj0zZOzWcinUN+tj8hZdjs6vmRldKT6A OnfToVYTsmzgB4MrvdUbSqOCAlUL5S9qZ/wDhnAIkj9+EQl7q4Jbt4zuMrAB0Gui hGuDTc806Y1x1eqpLnwKjsA6CuAFDMHvuUa3cqG+rjMnKVymp1F+WPeY3UBhBb47 /G0dMd+o07qDaJg71VOLKEkwkLbQFKv4J+g== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490db8u8w7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 12 Sep 2025 10:36:52 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-724ee8d2a33so31221396d6.3 for ; Fri, 12 Sep 2025 03:36:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757673411; x=1758278211; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uOjR35eLHkEN3KiQ06akGbY/xV3LkM6yhTdOwIGj+uU=; b=vn7akF4TzU4vwySvFSyDyc5mdKiDkyZ6vNMdbhXzO3hJbu/frXuL2oI7pPAxC0K/8l H2QPTX3ASVjMBxEhJufDS9vUYv32wMY98HKRyOilNT5sEm+c0pBp3UiWffOt4i6IMlaa DRXW3Fg1aREEBCg7sQjQgp3EgCVSzdeOK24ybikrVbo4dH+FQbGDavjLQHWZ2cnah/57 iK0p3h2eJkTsvFJ3Pr58Kes0D6ujhACA5f1BgPvpe8fZDzMAyw8jHhS+eI0FCdQwq9WY jK6Njfok2ymcllIeb3R4PseqW0y4kMQfAirCx1PdBeVo8dyv9ClIeGdBzwa7RndMdRTP pA4Q== X-Forwarded-Encrypted: i=1; AJvYcCUxmMFmCmFJ+vP0u7GSH8K34vhK8rbIocdNPmNOmj41dY/sjdWxXFOp9FQGo/mGmfb68xJgHmsIQ5exrHo=@vger.kernel.org X-Gm-Message-State: AOJu0YxJCmrzsvA1KrEKYYJFb698dJ8hKBczdmsjViz4F2Xnh5gf3Dv9 64KVplzuhQX//9FB8faANjAqVk1nK4lRRZTVUeuOMDrjJRSUcYhw4oYERGbxMiftObEmVssAe3y k6EFyCdXholYFDx3f4b6uG13Up1sn0GGzKNYitiiFFlOBtyRq6oBGrjviqmksC7ROlm8= X-Gm-Gg: ASbGncu6SguRLB3o6NgbsHK3H4/g5OfaUqyWjeQgN3ZOQf1ByJ1irdTNTI7+/kjtWgg clCPL452nh9cIPH3uhJC/aYUdnXuePZ7fjtWlKlaD0p7jSLsCpv5E3wPSxH91dm9DAi8ATA0+6/ IBL5Bmqa0sV8njvHbWdtLz3JMVIj29gAh7QxyGTSSGXxoEtYj5VOBvjj3pF0hr6Ohp8BULYN06W 0RZcj00a0HQxRRDjEFkrK4C3BV4tyOOdmyeCZwFhDekkMeVg8Ip8kSFU3K9t1HwWnKUKlzbLG05 ymvz9iutI004O577fjR+N7jl/MlgAB51jntswnQTbQE1aSX2YYbqh2f5ZjRybFW9Cv9tMLNFRtz 3SYQxUVmpbmXplWKSMg9Z24anggc= X-Received: by 2002:a05:6214:2a88:b0:742:e50f:22a4 with SMTP id 6a1803df08f44-767be102dacmr32063666d6.27.1757673410845; Fri, 12 Sep 2025 03:36:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHlSis7zZ/dAB4816mlxmTTZAYMl/jbWGbbKXmhIZtTNzjXW2f5KP4XygRK1m8mgtb3cgJBYg== X-Received: by 2002:a05:6214:2a88:b0:742:e50f:22a4 with SMTP id 6a1803df08f44-767be102dacmr32063206d6.27.1757673410077; Fri, 12 Sep 2025 03:36:50 -0700 (PDT) Received: from WENMLIU-LAB01.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-763bdd36447sm25174956d6.46.2025.09.12.03.36.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:36:49 -0700 (PDT) From: Wenmeng Liu To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, vladimir.zapolskiy@linaro.org, mchehab@kernel.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Wenmeng Liu Subject: [PATCH v3] media: qcom: camss: Add support for regulator init_load_uA in CSIPHY Date: Fri, 12 Sep 2025 18:36:31 +0800 Message-Id: <20250912103631.1184-1-wenmeng.liu@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzMSBTYWx0ZWRfX58TBJfihWmDp lWSJg/GxVDUXD36DggP62ThySxhBlDrlMiJzw68DbHCUKo2L9RrRsNS1dpN4T1AQ4pYos2mahEu ne2qRVvt/j7LJiBLy+I/NG83uxgQNQoiyYJX1a33swo09dPqNTc/e87Nd3HKyXnX2zW7u80ktGj 7ZUv7PjR7kcZqw045n/AQJQGPaNW5jtR7EMzv+HfQwrwvMTtCpsx75Q8RcM3iqDiriqdfdCAWok 6K6IXSSDx5MZv3AJ9eOi+kke561nCxDP9VEkGLeImm4n+UJx0cKpmPL+b9riHw+xJKr0UtaYzM0 G769ci97++MwywVSAEWt7Td5uoKs8ym0KYCgAauLak0GWN2ghTU3LFijAWC4u/z0xLBX4LTrp9L gL3b0hfC X-Proofpoint-ORIG-GUID: I9C2PixWQOWljxN9tjlaP3MsE0SFcpfJ X-Proofpoint-GUID: I9C2PixWQOWljxN9tjlaP3MsE0SFcpfJ X-Authority-Analysis: v=2.4 cv=VIDdn8PX c=1 sm=1 tr=0 ts=68c3f7c4 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=yJojWOMRYYMA:10 a=VwQbUJbxAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=-9CAIrFtjw9YHLUclIIA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-12_03,2025-09-11_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 suspectscore=0 bulkscore=0 phishscore=0 adultscore=0 clxscore=1011 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060031 Content-Type: text/plain; charset="utf-8" Some Qualcomm regulators are configured with initial mode as HPM (High Power Mode), which may lead to higher power consumption. To reduce power usage, it's preferable to set the initial mode to LPM (Low Power Mode). To ensure the regulator can switch from LPM to HPM when needed, this patch adds current load configuration for CAMSS CSIPHY. This allows the regulator framework to scale the mode dynamically based on the load requirement. The current default value for current is uninitialized or random. To address this, initial current values are added for the following platforms: MSM8916, MSM8953, MSM8996, QCM2290, SDM670, SM8250, SC7280, SM8550 QCS8300, SA8775P and X1E80100. For SDM660, SDM845, SC8280XP the value is set to 0, indicating that no default current value is configured, the other values are derived from the power grid. Signed-off-by: Wenmeng Liu --- Changes in v3: - Use devm_regulator_bulk_get_const instead of devm_regulator_bulk_get. - Set the default current value to 0. - Refactor the code to minimize data copying, and support more platform-spe= cific values. - Link to v2: https://lore.kernel.org/all/20250729-camss_csiphy_current-v2-= 1-da3c72a2055c@quicinc.com/ Changes in v2: - Change the source of the current value from DTS to CAMSS resource - Link to v1: https://lore.kernel.org/all/20250620040736.3032667-1-quic_wen= mliu@quicinc.com/ --- .../media/platform/qcom/camss/camss-csid.c | 18 +- .../media/platform/qcom/camss/camss-csiphy.c | 19 +- drivers/media/platform/qcom/camss/camss.c | 290 ++++++++++++++---- drivers/media/platform/qcom/camss/camss.h | 2 +- 4 files changed, 235 insertions(+), 94 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media= /platform/qcom/camss/camss-csid.c index 5284b5857368..ed1820488c98 100644 --- a/drivers/media/platform/qcom/camss/camss-csid.c +++ b/drivers/media/platform/qcom/camss/camss-csid.c @@ -1187,24 +1187,12 @@ int msm_csid_subdev_init(struct camss *camss, struc= t csid_device *csid, =20 /* Regulator */ for (i =3D 0; i < ARRAY_SIZE(res->regulators); i++) { - if (res->regulators[i]) + if (res->regulators[i].supply) csid->num_supplies++; } =20 - if (csid->num_supplies) { - csid->supplies =3D devm_kmalloc_array(camss->dev, - csid->num_supplies, - sizeof(*csid->supplies), - GFP_KERNEL); - if (!csid->supplies) - return -ENOMEM; - } - - for (i =3D 0; i < csid->num_supplies; i++) - csid->supplies[i].supply =3D res->regulators[i]; - - ret =3D devm_regulator_bulk_get(camss->dev, csid->num_supplies, - csid->supplies); + ret =3D devm_regulator_bulk_get_const(camss->dev, csid->num_supplies, + res->regulators, &csid->supplies); if (ret) return ret; =20 diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/med= ia/platform/qcom/camss/camss-csiphy.c index 2de97f58f9ae..390427c163de 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.c +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c @@ -694,24 +694,13 @@ int msm_csiphy_subdev_init(struct camss *camss, =20 /* CSIPHY supplies */ for (i =3D 0; i < ARRAY_SIZE(res->regulators); i++) { - if (res->regulators[i]) + if (res->regulators[i].supply) csiphy->num_supplies++; } =20 - if (csiphy->num_supplies) { - csiphy->supplies =3D devm_kmalloc_array(camss->dev, - csiphy->num_supplies, - sizeof(*csiphy->supplies), - GFP_KERNEL); - if (!csiphy->supplies) - return -ENOMEM; - } - - for (i =3D 0; i < csiphy->num_supplies; i++) - csiphy->supplies[i].supply =3D res->regulators[i]; - - ret =3D devm_regulator_bulk_get(camss->dev, csiphy->num_supplies, - csiphy->supplies); + if (csiphy->num_supplies > 0) + ret =3D devm_regulator_bulk_get_const(camss->dev, csiphy->num_supplies, + res->regulators, &csiphy->supplies); return ret; } =20 diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 2fbcd0e343aa..43e4bc5a91be 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -73,7 +73,9 @@ static const struct camss_subdev_resources csiphy_res_8x1= 6[] =3D { static const struct camss_subdev_resources csid_res_8x16[] =3D { /* CSID0 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 40000 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb", "csi0", "csi0_phy", "csi0_pix", "csi0_rdi" }, .clock_rate =3D { { 0 }, @@ -95,7 +97,9 @@ static const struct camss_subdev_resources csid_res_8x16[= ] =3D { =20 /* CSID1 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 40000 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb", "csi1", "csi1_phy", "csi1_pix", "csi1_rdi" }, .clock_rate =3D { { 0 }, @@ -157,7 +161,9 @@ static const struct camss_subdev_resources vfe_res_8x16= [] =3D { static const struct camss_subdev_resources csid_res_8x53[] =3D { /* CSID0 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 9900 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb", "csi0", "csi0_phy", "csi0_pix", "csi0_rdi" }, .clock_rate =3D { { 0 }, @@ -180,7 +186,9 @@ static const struct camss_subdev_resources csid_res_8x5= 3[] =3D { =20 /* CSID1 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 9900 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb", "csi1", "csi1_phy", "csi1_pix", "csi1_rdi" }, .clock_rate =3D { { 0 }, @@ -203,7 +211,9 @@ static const struct camss_subdev_resources csid_res_8x5= 3[] =3D { =20 /* CSID2 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 9900 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi2_ahb", "ahb", "csi2", "csi2_phy", "csi2_pix", "csi2_rdi" }, .clock_rate =3D { { 0 }, @@ -364,7 +374,9 @@ static const struct camss_subdev_resources csiphy_res_8= x96[] =3D { static const struct camss_subdev_resources csid_res_8x96[] =3D { /* CSID0 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 80160 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb", "csi0", "csi0_phy", "csi0_pix", "csi0_rdi" }, .clock_rate =3D { { 0 }, @@ -386,7 +398,9 @@ static const struct camss_subdev_resources csid_res_8x9= 6[] =3D { =20 /* CSID1 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 80160 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb", "csi1", "csi1_phy", "csi1_pix", "csi1_rdi" }, .clock_rate =3D { { 0 }, @@ -408,7 +422,9 @@ static const struct camss_subdev_resources csid_res_8x9= 6[] =3D { =20 /* CSID2 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 80160 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi2_ahb", "ahb", "csi2", "csi2_phy", "csi2_pix", "csi2_rdi" }, .clock_rate =3D { { 0 }, @@ -430,7 +446,9 @@ static const struct camss_subdev_resources csid_res_8x9= 6[] =3D { =20 /* CSID3 */ { - .regulators =3D { "vdda" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 80160 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi3_ahb", "ahb", "csi3", "csi3_phy", "csi3_pix", "csi3_rdi" }, .clock_rate =3D { { 0 }, @@ -518,7 +536,10 @@ static const struct camss_subdev_resources vfe_res_8x9= 6[] =3D { static const struct camss_subdev_resources csiphy_res_2290[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdd-csiphy-1p2", "vdd-csiphy-1p8" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 26700 }, + { .supply =3D "vdd-csiphy-1p8", .init_load_uA =3D 2600 } + }, .clock =3D { "top_ahb", "ahb", "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 0 }, { 0 }, @@ -535,7 +556,10 @@ static const struct camss_subdev_resources csiphy_res_= 2290[] =3D { =20 /* CSIPHY1 */ { - .regulators =3D { "vdd-csiphy-1p2", "vdd-csiphy-1p8" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 26700 }, + { .supply =3D "vdd-csiphy-1p8", .init_load_uA =3D 2600 } + }, .clock =3D { "top_ahb", "ahb", "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 0 }, { 0 }, @@ -711,7 +735,10 @@ static const struct camss_subdev_resources csiphy_res_= 660[] =3D { static const struct camss_subdev_resources csid_res_660[] =3D { /* CSID0 */ { - .regulators =3D { "vdda", "vdd_sec" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 0 }, + { .supply =3D "vdd_sec", .init_load_uA =3D 0 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb", "csi0", "csi0_phy", "csi0_pix", "csi0_rdi", "cphy_csid0" }, @@ -736,7 +763,10 @@ static const struct camss_subdev_resources csid_res_66= 0[] =3D { =20 /* CSID1 */ { - .regulators =3D { "vdda", "vdd_sec" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 0 }, + { .supply =3D "vdd_sec", .init_load_uA =3D 0 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb", "csi1", "csi1_phy", "csi1_pix", "csi1_rdi", "cphy_csid1" }, @@ -761,7 +791,10 @@ static const struct camss_subdev_resources csid_res_66= 0[] =3D { =20 /* CSID2 */ { - .regulators =3D { "vdda", "vdd_sec" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 0 }, + { .supply =3D "vdd_sec", .init_load_uA =3D 0 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi2_ahb", "ahb", "csi2", "csi2_phy", "csi2_pix", "csi2_rdi", "cphy_csid2" }, @@ -786,7 +819,10 @@ static const struct camss_subdev_resources csid_res_66= 0[] =3D { =20 /* CSID3 */ { - .regulators =3D { "vdda", "vdd_sec" }, + .regulators =3D { + { .supply =3D "vdda", .init_load_uA =3D 0 }, + { .supply =3D "vdd_sec", .init_load_uA =3D 0 } + }, .clock =3D { "top_ahb", "ispif_ahb", "csi3_ahb", "ahb", "csi3", "csi3_phy", "csi3_pix", "csi3_rdi", "cphy_csid3" }, @@ -883,7 +919,10 @@ static const struct camss_subdev_resources vfe_res_660= [] =3D { static const struct camss_subdev_resources csiphy_res_670[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 42800 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 13900 } + }, .clock =3D { "soc_ahb", "cpas_ahb", "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 0 }, @@ -901,7 +940,10 @@ static const struct camss_subdev_resources csiphy_res_= 670[] =3D { =20 /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 42800 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 13900 } + }, .clock =3D { "soc_ahb", "cpas_ahb", "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 0 }, @@ -919,7 +961,10 @@ static const struct camss_subdev_resources csiphy_res_= 670[] =3D { =20 /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 42800 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 13900 } + }, .clock =3D { "soc_ahb", "cpas_ahb", "csiphy2", "csiphy2_timer" }, .clock_rate =3D { { 0 }, @@ -1159,7 +1204,10 @@ static const struct camss_subdev_resources csiphy_re= s_845[] =3D { static const struct camss_subdev_resources csid_res_845[] =3D { /* CSID0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "cpas_ahb", "cphy_rx_src", "slow_ahb_src", "soc_ahb", "vfe0", "vfe0_src", "vfe0_cphy_rx", "csi0", @@ -1184,7 +1232,10 @@ static const struct camss_subdev_resources csid_res_= 845[] =3D { =20 /* CSID1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "cpas_ahb", "cphy_rx_src", "slow_ahb_src", "soc_ahb", "vfe1", "vfe1_src", "vfe1_cphy_rx", "csi1", @@ -1209,7 +1260,10 @@ static const struct camss_subdev_resources csid_res_= 845[] =3D { =20 /* CSID2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "cpas_ahb", "cphy_rx_src", "slow_ahb_src", "soc_ahb", "vfe_lite", "vfe_lite_src", "vfe_lite_cphy_rx", "csi2", @@ -1321,7 +1375,10 @@ static const struct camss_subdev_resources vfe_res_8= 45[] =3D { static const struct camss_subdev_resources csiphy_res_8250[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1335,7 +1392,10 @@ static const struct camss_subdev_resources csiphy_re= s_8250[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1349,7 +1409,10 @@ static const struct camss_subdev_resources csiphy_re= s_8250[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy2", "csiphy2_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1363,7 +1426,10 @@ static const struct camss_subdev_resources csiphy_re= s_8250[] =3D { }, /* CSIPHY3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy3", "csiphy3_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1377,7 +1443,10 @@ static const struct camss_subdev_resources csiphy_re= s_8250[] =3D { }, /* CSIPHY4 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy4", "csiphy4_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1391,7 +1460,10 @@ static const struct camss_subdev_resources csiphy_re= s_8250[] =3D { }, /* CSIPHY5 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 17500 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 10000 } + }, .clock =3D { "csiphy5", "csiphy5_timer" }, .clock_rate =3D { { 400000000 }, { 300000000 } }, @@ -1605,7 +1677,10 @@ static const struct resources_icc icc_res_sm8250[] = =3D { static const struct camss_subdev_resources csiphy_res_7280[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 16100 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 9000 } + }, =20 .clock =3D { "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 300000000, 400000000 }, @@ -1620,7 +1695,10 @@ static const struct camss_subdev_resources csiphy_re= s_7280[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 16100 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 9000 } + }, =20 .clock =3D { "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 300000000, 400000000 }, @@ -1635,7 +1713,10 @@ static const struct camss_subdev_resources csiphy_re= s_7280[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 16100 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 9000 } + }, =20 .clock =3D { "csiphy2", "csiphy2_timer" }, .clock_rate =3D { { 300000000, 400000000 }, @@ -1650,7 +1731,10 @@ static const struct camss_subdev_resources csiphy_re= s_7280[] =3D { }, /* CSIPHY3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 16100 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 9000 } + }, =20 .clock =3D { "csiphy3", "csiphy3_timer" }, .clock_rate =3D { { 300000000, 400000000 }, @@ -1665,7 +1749,10 @@ static const struct camss_subdev_resources csiphy_re= s_7280[] =3D { }, /* CSIPHY4 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 16100 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 9000 } + }, =20 .clock =3D { "csiphy4", "csiphy4_timer" }, .clock_rate =3D { { 300000000, 400000000 }, @@ -1978,7 +2065,10 @@ static const struct camss_subdev_resources csiphy_re= s_sc8280xp[] =3D { static const struct camss_subdev_resources csid_res_sc8280xp[] =3D { /* CSID0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe0_csid", "vfe0_cphy_rx", "vfe0", "vfe0_axi" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -1994,7 +2084,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe1_csid", "vfe1_cphy_rx", "vfe1", "vfe1_axi" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2010,7 +2103,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe2_csid", "vfe2_cphy_rx", "vfe2", "vfe2_axi" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2026,7 +2122,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe3_csid", "vfe3_cphy_rx", "vfe3", "vfe3_axi" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2042,7 +2141,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID_LITE0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe_lite0_csid", "vfe_lite0_cphy_rx", "vfe_lite0" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2058,7 +2160,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID_LITE1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe_lite1_csid", "vfe_lite1_cphy_rx", "vfe_lite1" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2074,7 +2179,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID_LITE2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe_lite2_csid", "vfe_lite2_cphy_rx", "vfe_lite2" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2090,7 +2198,10 @@ static const struct camss_subdev_resources csid_res_= sc8280xp[] =3D { }, /* CSID_LITE3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 0 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 0 } + }, .clock =3D { "vfe_lite3_csid", "vfe_lite3_cphy_rx", "vfe_lite3" }, .clock_rate =3D { { 400000000, 480000000, 600000000 }, { 0 }, @@ -2291,7 +2402,10 @@ static const struct resources_icc icc_res_sc8280xp[]= =3D { static const struct camss_subdev_resources csiphy_res_8550[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2305,7 +2419,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2319,7 +2436,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy2", "csiphy2_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2333,7 +2453,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy3", "csiphy3_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2347,7 +2470,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY4 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 37900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18600 } + }, .clock =3D { "csiphy4", "csiphy4_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2361,7 +2487,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY5 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy5", "csiphy5_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2375,7 +2504,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY6 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 37900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18600 } + }, .clock =3D { "csiphy6", "csiphy6_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2389,7 +2521,10 @@ static const struct camss_subdev_resources csiphy_re= s_8550[] =3D { }, /* CSIPHY7 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 32200 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 18000 } + }, .clock =3D { "csiphy7", "csiphy7_timer" }, .clock_rate =3D { { 400000000, 480000000 }, { 400000000 } }, @@ -2620,7 +2755,10 @@ static const struct resources_icc icc_res_sm8550[] = =3D { static const struct camss_subdev_resources csiphy_res_8300[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, =20 .clock =3D { "csiphy_rx", "csiphy0", "csiphy0_timer" }, .clock_rate =3D { @@ -2638,7 +2776,10 @@ static const struct camss_subdev_resources csiphy_re= s_8300[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, =20 .clock =3D { "csiphy_rx", "csiphy1", "csiphy1_timer" }, .clock_rate =3D { @@ -2656,7 +2797,10 @@ static const struct camss_subdev_resources csiphy_re= s_8300[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, =20 .clock =3D { "csiphy_rx", "csiphy2", "csiphy2_timer" }, .clock_rate =3D { @@ -2677,7 +2821,10 @@ static const struct camss_subdev_resources csiphy_re= s_8300[] =3D { static const struct camss_subdev_resources csiphy_res_8775p[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, .clock =3D { "csiphy_rx", "csiphy0", "csiphy0_timer"}, .clock_rate =3D { { 400000000 }, @@ -2694,7 +2841,10 @@ static const struct camss_subdev_resources csiphy_re= s_8775p[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, .clock =3D { "csiphy_rx", "csiphy1", "csiphy1_timer"}, .clock_rate =3D { { 400000000 }, @@ -2711,7 +2861,10 @@ static const struct camss_subdev_resources csiphy_re= s_8775p[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, .clock =3D { "csiphy_rx", "csiphy2", "csiphy2_timer"}, .clock_rate =3D { { 400000000 }, @@ -2728,7 +2881,10 @@ static const struct camss_subdev_resources csiphy_re= s_8775p[] =3D { }, /* CSIPHY3 */ { - .regulators =3D { "vdda-phy", "vdda-pll" }, + .regulators =3D { + { .supply =3D "vdda-phy", .init_load_uA =3D 15900 }, + { .supply =3D "vdda-pll", .init_load_uA =3D 8900 } + }, .clock =3D { "csiphy_rx", "csiphy3", "csiphy3_timer"}, .clock_rate =3D { { 400000000 }, @@ -3081,8 +3237,10 @@ static const struct resources_icc icc_res_sa8775p[] = =3D { static const struct camss_subdev_resources csiphy_res_x1e80100[] =3D { /* CSIPHY0 */ { - .regulators =3D { "vdd-csiphy-0p8", - "vdd-csiphy-1p2" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } + }, .clock =3D { "csiphy0", "csiphy0_timer" }, .clock_rate =3D { { 300000000, 400000000, 480000000 }, { 266666667, 400000000 } }, @@ -3096,8 +3254,10 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY1 */ { - .regulators =3D { "vdd-csiphy-0p8", - "vdd-csiphy-1p2" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } + }, .clock =3D { "csiphy1", "csiphy1_timer" }, .clock_rate =3D { { 300000000, 400000000, 480000000 }, { 266666667, 400000000 } }, @@ -3111,8 +3271,10 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY2 */ { - .regulators =3D { "vdd-csiphy-0p8", - "vdd-csiphy-1p2" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } + }, .clock =3D { "csiphy2", "csiphy2_timer" }, .clock_rate =3D { { 300000000, 400000000, 480000000 }, { 266666667, 400000000 } }, @@ -3126,8 +3288,10 @@ static const struct camss_subdev_resources csiphy_re= s_x1e80100[] =3D { }, /* CSIPHY4 */ { - .regulators =3D { "vdd-csiphy-0p8", - "vdd-csiphy-1p2" }, + .regulators =3D { + { .supply =3D "vdd-csiphy-0p8", .init_load_uA =3D 105000 }, + { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 58900 } + }, .clock =3D { "csiphy4", "csiphy4_timer" }, .clock_rate =3D { { 300000000, 400000000, 480000000 }, { 266666667, 400000000 } }, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index a70fbc78ccc3..3d5095158338 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -43,7 +43,7 @@ #define CAMSS_RES_MAX 17 =20 struct camss_subdev_resources { - char *regulators[CAMSS_RES_MAX]; + struct regulator_bulk_data regulators[CAMSS_RES_MAX]; char *clock[CAMSS_RES_MAX]; char *clock_for_reset[CAMSS_RES_MAX]; u32 clock_rate[CAMSS_RES_MAX][CAMSS_RES_MAX]; --=20 2.34.1