hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/gpio/gpio-pxa.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * linux/arch/arm/plat-pxa/gpio.c
34 *
....@@ -6,10 +7,6 @@
67 * Author: Nicolas Pitre
78 * Created: Jun 15, 2001
89 * Copyright: MontaVista Software Inc.
9
- *
10
- * This program is free software; you can redistribute it and/or modify
11
- * it under the terms of the GNU General Public License version 2 as
12
- * published by the Free Software Foundation.
1310 */
1411 #include <linux/module.h>
1512 #include <linux/clk.h>
....@@ -364,11 +361,8 @@
364361 pchip->chip.set = pxa_gpio_set;
365362 pchip->chip.to_irq = pxa_gpio_to_irq;
366363 pchip->chip.ngpio = ngpio;
367
-
368
- if (pxa_gpio_has_pinctrl()) {
369
- pchip->chip.request = gpiochip_generic_request;
370
- pchip->chip.free = gpiochip_generic_free;
371
- }
364
+ pchip->chip.request = gpiochip_generic_request;
365
+ pchip->chip.free = gpiochip_generic_free;
372366
373367 #ifdef CONFIG_OF_GPIO
374368 pchip->chip.of_node = np;
....@@ -577,7 +571,7 @@
577571 return 0;
578572 }
579573
580
-const struct irq_domain_ops pxa_irq_domain_ops = {
574
+static const struct irq_domain_ops pxa_irq_domain_ops = {
581575 .map = pxa_irq_domain_map,
582576 .xlate = irq_domain_xlate_twocell,
583577 };
....@@ -622,7 +616,6 @@
622616 {
623617 struct pxa_gpio_chip *pchip;
624618 struct pxa_gpio_bank *c;
625
- struct resource *res;
626619 struct clk *clk;
627620 struct pxa_gpio_platform_data *info;
628621 void __iomem *gpio_reg_base;
....@@ -656,8 +649,8 @@
656649 if (!pchip->irqdomain)
657650 return -ENOMEM;
658651
659
- irq0 = platform_get_irq_byname(pdev, "gpio0");
660
- irq1 = platform_get_irq_byname(pdev, "gpio1");
652
+ irq0 = platform_get_irq_byname_optional(pdev, "gpio0");
653
+ irq1 = platform_get_irq_byname_optional(pdev, "gpio1");
661654 irq_mux = platform_get_irq_byname(pdev, "gpio_mux");
662655 if ((irq0 > 0 && irq1 <= 0) || (irq0 <= 0 && irq1 > 0)
663656 || (irq_mux <= 0))
....@@ -665,13 +658,10 @@
665658
666659 pchip->irq0 = irq0;
667660 pchip->irq1 = irq1;
668
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
669
- if (!res)
670
- return -EINVAL;
671
- gpio_reg_base = devm_ioremap(&pdev->dev, res->start,
672
- resource_size(res));
673
- if (!gpio_reg_base)
674
- return -EINVAL;
661
+
662
+ gpio_reg_base = devm_platform_ioremap_resource(pdev, 0);
663
+ if (IS_ERR(gpio_reg_base))
664
+ return PTR_ERR(gpio_reg_base);
675665
676666 clk = clk_get(&pdev->dev, NULL);
677667 if (IS_ERR(clk)) {
....@@ -816,7 +806,7 @@
816806 #define pxa_gpio_resume NULL
817807 #endif
818808
819
-struct syscore_ops pxa_gpio_syscore_ops = {
809
+static struct syscore_ops pxa_gpio_syscore_ops = {
820810 .suspend = pxa_gpio_suspend,
821811 .resume = pxa_gpio_resume,
822812 };