diff mbox series

[v3,15/32] mfd: sec: s2dos05: doesn't support interrupts (it seems)

Message ID 20250403-s2mpg10-v3-15-b542b3505e68@linaro.org (mailing list archive)
State New
Headers show
Series Samsung S2MPG10 PMIC MFD-based drivers | expand

Commit Message

André Draszik April 3, 2025, 8:59 a.m. UTC
The commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung
s2dos05") adding s2dos05 support didn't add anything related to IRQ
support, so I assume this works without IRQs.

Rather than printing a warning message in sec_irq_init() due to the
missing IRQ number, or returning an error due to a missing irq chip
regmap, just return early explicitly.

This will become particularly important once errors from sec_irq_init()
aren't ignored anymore in an upcoming patch and helps the reader of
this code while reasoning about what the intention might be here.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
 drivers/mfd/sec-irq.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Lee Jones April 4, 2025, 9:34 a.m. UTC | #1
Patch is fine, but the subject line should be more assertive.

Also, there is seldom any need for sub-sentences in ()'s in them.

IOW, drop the "(it seems)" part.

> The commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung
> s2dos05") adding s2dos05 support didn't add anything related to IRQ
> support, so I assume this works without IRQs.
> 
> Rather than printing a warning message in sec_irq_init() due to the
> missing IRQ number, or returning an error due to a missing irq chip
> regmap, just return early explicitly.
> 
> This will become particularly important once errors from sec_irq_init()
> aren't ignored anymore in an upcoming patch and helps the reader of
> this code while reasoning about what the intention might be here.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
>  drivers/mfd/sec-irq.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c
> index 9f0173c48b0c8186a2cdc1d2179db081ef2e09c4..79a3b33441fa5ab48b4b233eb8d89b4c20c142ed 100644
> --- a/drivers/mfd/sec-irq.c
> +++ b/drivers/mfd/sec-irq.c
> @@ -452,16 +452,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic)
>  	int type = sec_pmic->device_type;
>  	const struct regmap_irq_chip *sec_irq_chip;
>  
> -	if (!sec_pmic->irq) {
> -		dev_warn(sec_pmic->dev,
> -			 "No interrupt specified, no interrupts\n");
> -		return 0;
> -	}
> -
>  	switch (type) {
>  	case S5M8767X:
>  		sec_irq_chip = &s5m8767_irq_chip;
>  		break;
> +	case S2DOS05:
> +		return 0;
>  	case S2MPA01:
>  		sec_irq_chip = &s2mps14_irq_chip;
>  		break;
> @@ -492,6 +488,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic)
>  				     sec_pmic->device_type);
>  	}
>  
> +	if (!sec_pmic->irq) {
> +		dev_warn(sec_pmic->dev,
> +			 "No interrupt specified, no interrupts\n");
> +		return 0;
> +	}
> +
>  	ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic,
>  				       sec_pmic->irq, IRQF_ONESHOT,
>  				       0, sec_irq_chip, &sec_pmic->irq_data);
> 
> -- 
> 2.49.0.472.ge94155a9ec-goog
>
diff mbox series

Patch

diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c
index 9f0173c48b0c8186a2cdc1d2179db081ef2e09c4..79a3b33441fa5ab48b4b233eb8d89b4c20c142ed 100644
--- a/drivers/mfd/sec-irq.c
+++ b/drivers/mfd/sec-irq.c
@@ -452,16 +452,12 @@  int sec_irq_init(struct sec_pmic_dev *sec_pmic)
 	int type = sec_pmic->device_type;
 	const struct regmap_irq_chip *sec_irq_chip;
 
-	if (!sec_pmic->irq) {
-		dev_warn(sec_pmic->dev,
-			 "No interrupt specified, no interrupts\n");
-		return 0;
-	}
-
 	switch (type) {
 	case S5M8767X:
 		sec_irq_chip = &s5m8767_irq_chip;
 		break;
+	case S2DOS05:
+		return 0;
 	case S2MPA01:
 		sec_irq_chip = &s2mps14_irq_chip;
 		break;
@@ -492,6 +488,12 @@  int sec_irq_init(struct sec_pmic_dev *sec_pmic)
 				     sec_pmic->device_type);
 	}
 
+	if (!sec_pmic->irq) {
+		dev_warn(sec_pmic->dev,
+			 "No interrupt specified, no interrupts\n");
+		return 0;
+	}
+
 	ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic,
 				       sec_pmic->irq, IRQF_ONESHOT,
 				       0, sec_irq_chip, &sec_pmic->irq_data);