From: Greg Kroah-Hartman Date: Sun, 13 Aug 2023 20:14:51 +0000 (+0200) Subject: Merge 6.5-rc6 into char-misc-next X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e75850b4573a092078d5ff1493d3d9ee16b98821;p=linux.git Merge 6.5-rc6 into char-misc-next We need the char/misc fixes in here as well to build on top of. Signed-off-by: Greg Kroah-Hartman --- e75850b4573a092078d5ff1493d3d9ee16b98821 diff --cc drivers/misc/tps6594-esm.c index e8d12e7f2d2a4,05e2c151e6321..b4d67a1a24e44 --- a/drivers/misc/tps6594-esm.c +++ b/drivers/misc/tps6594-esm.c @@@ -36,10 -39,25 +39,24 @@@ static int tps6594_esm_probe(struct pla int ret; int i; - for (i = 0 ; i < pdev->num_resources ; i++) { + /* + * Due to a bug in revision 1 of the PMIC, the GPIO3 used for the + * SoC ESM function is used to power the load switch instead. + * As a consequence, ESM can not be used on those PMIC. + * Check the version and return an error in case of revision 1. + */ + ret = regmap_read(tps->regmap, TPS6594_REG_DEV_REV, &rev); + if (ret) + return dev_err_probe(dev, ret, + "Failed to read PMIC revision\n"); + if (rev == TPS6594_DEV_REV_1) + return dev_err_probe(dev, -ENODEV, + "ESM not supported for revision 1 PMIC\n"); + + for (i = 0; i < pdev->num_resources; i++) { irq = platform_get_irq_byname(pdev, pdev->resource[i].name); if (irq < 0) - return dev_err_probe(dev, irq, "Failed to get %s irq\n", - pdev->resource[i].name); + return irq; ret = devm_request_threaded_irq(dev, irq, NULL, tps6594_esm_isr, IRQF_ONESHOT,