staging: hi6421-spmi-pmic: rename GPIO IRQ OF node
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 17 Jul 2021 09:58:13 +0000 (11:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 09:23:42 +0000 (11:23 +0200)
Instead of using the standard name ("gpios"), use "interrupts".

Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/8b2cad1e9b9904c6a2aaea8786d5e5a39f09ac19.1626515862.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/hikey9xx/hi6421-spmi-pmic.c
drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml
include/linux/mfd/hi6421-spmi-pmic.h

index dd7ff63..61cbd2e 100644 (file)
@@ -218,6 +218,7 @@ static int hi6421_spmi_pmic_probe(struct spmi_device *sdev)
        struct device *dev = &sdev->dev;
        struct device_node *np = dev->of_node;
        struct hi6421_spmi_pmic *ddata;
+       struct platform_device *pdev;
        unsigned int virq;
        int ret, i;
 
@@ -233,21 +234,14 @@ static int hi6421_spmi_pmic_probe(struct spmi_device *sdev)
 
        ddata->dev = dev;
 
-       ddata->gpio = of_get_gpio(np, 0);
-       if (ddata->gpio < 0)
-               return ddata->gpio;
+       pdev = container_of(dev, struct platform_device, dev);
 
-       if (!gpio_is_valid(ddata->gpio))
-               return -EINVAL;
-
-       ret = devm_gpio_request_one(dev, ddata->gpio, GPIOF_IN, "pmic");
-       if (ret < 0) {
-               dev_err(dev, "Failed to request gpio%d\n", ddata->gpio);
-               return ret;
+       ddata->irq = platform_get_irq(pdev, 0);
+       if (ddata->irq < 0) {
+               dev_err(dev, "Error %d when getting IRQs\n", ddata->irq);
+               return ddata->irq;
        }
 
-       ddata->irq = gpio_to_irq(ddata->gpio);
-
        hi6421_spmi_pmic_irq_init(ddata);
 
        ddata->irqs = devm_kzalloc(dev, PMIC_IRQ_LIST_MAX * sizeof(int), GFP_KERNEL);
index 8e355cd..5a3b1cb 100644 (file)
@@ -34,9 +34,7 @@ properties:
 
   interrupt-controller: true
 
-  gpios:
-    maxItems: 1
-    description: GPIO used for IRQs
+  interrupts: true
 
   regulators:
     type: object
@@ -63,7 +61,6 @@ additionalProperties: false
 
 examples:
   - |
-    /* pmic properties */
 
     pmic: pmic@0 {
       compatible = "hisilicon,hi6421-spmi";
@@ -71,7 +68,8 @@ examples:
 
       #interrupt-cells = <2>;
       interrupt-controller;
-      gpios = <&gpio28 0 0>;
+      interrupt-parent = <&gpio28>;
+      interrupts = <0 0>;
 
       regulators {
         #address-cells = <1>;
index 2660226..254430c 100644 (file)
@@ -22,7 +22,6 @@ struct hi6421_spmi_pmic {
        spinlock_t                              lock;
        struct irq_domain                       *domain;
        int                                     irq;
-       int                                     gpio;
        unsigned int                            *irqs;
        struct regmap                           *regmap;
 };