* Re: [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM
@ 2026-07-03 19:29 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2026-07-03 19:29 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20260703073029.2588960-3-ravi.hothi@oss.qualcomm.com>
References: <20260703073029.2588960-3-ravi.hothi@oss.qualcomm.com>
TO: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
TO: Bjorn Andersson <andersson@kernel.org>
TO: Linus Walleij <linusw@kernel.org>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
TO: Luca Weiss <luca.weiss@fairphone.com>
CC: linux-arm-msm@vger.kernel.org
CC: linux-gpio@vger.kernel.org
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: mohammad.rafi.shaik@oss.qualcomm.com
CC: ajay.nandam@oss.qualcomm.com
Hi Ravi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 7de6ae9e12207ec146f2f3f1e58d1a99317e88bc]
url: https://github.com/intel-lab-lkp/linux/commits/Ravi-Hothi/dt-bindings-pinctrl-qcom-milos-lpass-lpi-pinctrl-Add-Eliza-pinctrl/20260703-153450
base: 7de6ae9e12207ec146f2f3f1e58d1a99317e88bc
patch link: https://lore.kernel.org/r/20260703073029.2588960-3-ravi.hothi%40oss.qualcomm.com
patch subject: [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: openrisc-randconfig-2052-20260703 (https://download.01.org/0day-ci/archive/20260703/202607032107.RMly13RH-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 10.5.0
dtschema: 2026.7.dev1+g2203c1720
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260703/202607032107.RMly13RH-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202607032107.RMly13RH-lkp@intel.com/
dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml: properties:compatible:oneOf: [{'const': 'qcom,milos-lpass-lpi-pinctrl'}, {'const': 'qcom,eliza-lpass-lpi-pinctrl'}] should not be valid under {'items': {'propertyNames': {'const': 'const'}, 'required': ['const']}}
hint: Use 'enum' rather than 'oneOf' + 'const' entries
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support @ 2026-07-03 7:30 Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi 0 siblings, 1 reply; 4+ messages in thread From: Ravi Hothi @ 2026-07-03 7:30 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam Eliza is a Qualcomm SoC that uses the same LPASS LPI pin mux functions as Milos. The key difference is the slew rate register layout — on Eliza the slew rate field lives in the same GPIO config register rather than a separate dedicated register. This series adds support for the Eliza LPASS LPI pin controller by extending the existing Milos driver with a new variant data struct that uses the correct slew offsets and sets LPI_FLAG_SLEW_RATE_SAME_REG. The pin descriptors and function table are shared with Milos since they are identical. Patch 1 updates the binding to document the new compatible and the single reg entry used by Eliza. Patch 2 adds the driver support. Ravi Hothi (2): dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM .../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 22 ++++++++-- .../pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 40 +++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) base-commit: 7de6ae9e12207ec146f2f3f1e58d1a99317e88bc -- 2.34.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi @ 2026-07-03 7:30 ` Ravi Hothi 2026-07-03 7:41 ` sashiko-bot 2026-07-06 10:29 ` Konrad Dybcio 0 siblings, 2 replies; 4+ messages in thread From: Ravi Hothi @ 2026-07-03 7:30 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam Eliza SoC has the same LPASS LPI pin mux functions as Milos but the slew rate control is in the same GPIO config register rather than a separate register. Add a new variant data struct with updated slew offsets and LPI_FLAG_SLEW_RATE_SAME_REG flag, reusing the existing pin descriptors and function table from Milos. Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> --- .../pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c index 72b8ffd97860..cb4934cd6f75 100644 --- a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c +++ b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c @@ -148,6 +148,33 @@ static const struct lpi_pingroup milos_groups[] = { LPI_PINGROUP(22, LPI_NO_SLEW, i2s3_data, dmic4_data, ext_mclk1_e, _), }; +static const struct lpi_pingroup eliza_groups[] = { + LPI_PINGROUP(0, 11, swr_tx_clk, i2s0_clk, _, _), + LPI_PINGROUP(1, 11, swr_tx_data, i2s0_ws, _, _), + LPI_PINGROUP(2, 11, swr_tx_data, i2s0_data, _, _), + LPI_PINGROUP(3, 11, swr_rx_clk, i2s0_data, _, _), + LPI_PINGROUP(4, 11, swr_rx_data, i2s0_data, _, _), + LPI_PINGROUP(5, 11, swr_rx_data, ext_mclk1_c, i2s0_data, _), + LPI_PINGROUP(6, LPI_NO_SLEW, dmic1_clk, i2s1_clk, _, _), + LPI_PINGROUP(7, LPI_NO_SLEW, dmic1_data, i2s1_ws, _, _), + LPI_PINGROUP(8, LPI_NO_SLEW, dmic2_clk, i2s1_data, _, _), + LPI_PINGROUP(9, LPI_NO_SLEW, dmic2_data, i2s1_data, ext_mclk1_b, _), + LPI_PINGROUP(10, 11, wsa_swr_clk, i2s2_clk, _, _), + LPI_PINGROUP(11, 11, wsa_swr_data, i2s2_ws, _, _), + LPI_PINGROUP(12, LPI_NO_SLEW, dmic3_clk, i2s2_data, _, _), + LPI_PINGROUP(13, LPI_NO_SLEW, dmic3_data, i2s2_data, ext_mclk1_a, _), + LPI_PINGROUP(14, 11, swr_tx_data, ext_mclk1_d, _, _), + /* gpio15 - gpio18 do not really exist */ + LPI_PINGROUP(15, 11, _, _, _, _), + LPI_PINGROUP(16, 11, _, _, _, _), + LPI_PINGROUP(17, LPI_NO_SLEW, _, _, _, _), + LPI_PINGROUP(18, LPI_NO_SLEW, _, _, _, _), + LPI_PINGROUP(19, LPI_NO_SLEW, i2s3_clk, slimbus_clk, qca_swr_clk, _), + LPI_PINGROUP(20, LPI_NO_SLEW, i2s3_ws, slimbus_data, qca_swr_data, _), + LPI_PINGROUP(21, LPI_NO_SLEW, i2s3_data, dmic4_clk, _, _), + LPI_PINGROUP(22, LPI_NO_SLEW, i2s3_data, dmic4_data, ext_mclk1_e, _), +}; + static const struct lpi_function milos_functions[] = { LPI_FUNCTION(gpio), LPI_FUNCTION(dmic1_clk), @@ -196,8 +223,21 @@ static const struct lpi_pinctrl_variant_data milos_lpi_data = { .nfunctions = ARRAY_SIZE(milos_functions), }; +static const struct lpi_pinctrl_variant_data eliza_lpi_data = { + .pins = milos_lpi_pins, + .npins = ARRAY_SIZE(milos_lpi_pins), + .groups = eliza_groups, + .ngroups = ARRAY_SIZE(eliza_groups), + .functions = milos_functions, + .nfunctions = ARRAY_SIZE(milos_functions), + .flags = LPI_FLAG_SLEW_RATE_SAME_REG, +}; + static const struct of_device_id lpi_pinctrl_of_match[] = { { + .compatible = "qcom,eliza-lpass-lpi-pinctrl", + .data = &eliza_lpi_data, + }, { .compatible = "qcom,milos-lpass-lpi-pinctrl", .data = &milos_lpi_data, }, -- 2.34.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi @ 2026-07-03 7:41 ` sashiko-bot 2026-07-06 10:29 ` Konrad Dybcio 1 sibling, 0 replies; 4+ messages in thread From: sashiko-bot @ 2026-07-03 7:41 UTC (permalink / raw) To: Ravi Hothi; +Cc: robh, conor+dt, devicetree Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] lpi_config_set() unconditionally overwrites pull-up, drive strength, and output-enable configurations with default values if they are not explicitly specified in the configs array. -- commit c207cbbbbf4fca2f1793d2b498400b3981b0254c Author: Ravi Hothi <ravi.hothi@oss.qualcomm.com> pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Eliza SoC has the same LPASS LPI pin mux functions as Milos but the slew rate control is in the same GPIO config register rather than a separate register. Add a new variant data struct with updated slew offsets and LPI_FLAG_SLEW_RATE_SAME_REG flag, reusing the existing pin descriptors and function table from Milos. > diff --git a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c > index 72b8ffd97860b..cb4934cd6f757 100644 > --- a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c > +++ b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c [ ... ] > @@ -196,8 +223,21 @@ static const struct lpi_pinctrl_variant_data milos_lpi_data = { > .nfunctions = ARRAY_SIZE(milos_functions), > }; > > +static const struct lpi_pinctrl_variant_data eliza_lpi_data = { > + .pins = milos_lpi_pins, > + .npins = ARRAY_SIZE(milos_lpi_pins), > + .groups = eliza_groups, > + .ngroups = ARRAY_SIZE(eliza_groups), > + .functions = milos_functions, > + .nfunctions = ARRAY_SIZE(milos_functions), > + .flags = LPI_FLAG_SLEW_RATE_SAME_REG, > +}; [Severity: High] This isn't a bug introduced by this patch, but while reviewing the new slew rate behavior, I noticed an issue in how lpi_config_set() handles the pin configurations in drivers/pinctrl/qcom/pinctrl-lpass-lpi.c. In drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:lpi_config_set(), the local configuration variables are initialized to default values: unsigned int param, arg, pullup = LPI_GPIO_BIAS_DISABLE, strength = 2; bool value, output_enabled = false; Later in the same function, these defaults are unconditionally applied to the register value instead of preserving the current hardware state: lpi_gpio_read_reg(pctrl, group, LPI_GPIO_CFG_REG, &val); u32p_replace_bits(&val, pullup, LPI_GPIO_PULL_MASK); u32p_replace_bits(&val, LPI_GPIO_DS_TO_VAL(strength), LPI_GPIO_OUT_STRENGTH_MASK); u32p_replace_bits(&val, output_enabled, LPI_GPIO_OE_MASK); lpi_gpio_write_reg(pctrl, group, LPI_GPIO_CFG_REG, val); Does this code accidentally overwrite unrequested settings? For instance, if a driver updates a GPIO value or if a single configuration such as the slew rate for Eliza is applied, the current register state is read, but pull-up, drive strength, and output enable fields are unconditionally replaced with the initialized defaults. Could this lead to silent clobbering of existing configurations, resulting in floating pins or output being unintentionally disabled? -- Sashiko AI review · https://sashiko.dev/#/patchset/20260703073029.2588960-1-ravi.hothi@oss.qualcomm.com?part=2 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi 2026-07-03 7:41 ` sashiko-bot @ 2026-07-06 10:29 ` Konrad Dybcio 1 sibling, 0 replies; 4+ messages in thread From: Konrad Dybcio @ 2026-07-06 10:29 UTC (permalink / raw) To: Ravi Hothi, Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam On 7/3/26 9:30 AM, Ravi Hothi wrote: > Eliza SoC has the same LPASS LPI pin mux functions as Milos but the > slew rate control is in the same GPIO config register rather than a > separate register. Add a new variant data struct with updated slew > offsets and LPI_FLAG_SLEW_RATE_SAME_REG flag, reusing the existing > pin descriptors and function table from Milos. > > Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-07-06 10:29 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-07-03 19:29 [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM kernel test robot -- strict thread matches above, loose matches on Subject: below -- 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi 2026-07-03 7:41 ` sashiko-bot 2026-07-06 10:29 ` Konrad Dybcio
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.