Loading drivers/gpio/gpio-mvebu.c +42 −35 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ struct mvebu_gpio_chip { struct irq_domain *domain; int soc_variant; /* Used to preserve GPIO registers accross suspend/resume */ /* Used to preserve GPIO registers across suspend/resume */ u32 out_reg; u32 io_conf_reg; u32 blink_en_reg; Loading @@ -107,7 +107,8 @@ static inline void __iomem *mvebu_gpioreg_blink(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_BLINK_EN_OFF; } static inline void __iomem *mvebu_gpioreg_io_conf(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_io_conf(struct mvebu_gpio_chip *mvchip) { return mvchip->membase + GPIO_IO_CONF_OFF; } Loading @@ -117,12 +118,14 @@ static inline void __iomem *mvebu_gpioreg_in_pol(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_IN_POL_OFF; } static inline void __iomem *mvebu_gpioreg_data_in(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_data_in(struct mvebu_gpio_chip *mvchip) { return mvchip->membase + GPIO_DATA_IN_OFF; } static inline void __iomem *mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvchip) { int cpu; Loading @@ -132,13 +135,15 @@ static inline void __iomem *mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvc return mvchip->membase + GPIO_EDGE_CAUSE_OFF; case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_EDGE_CAUSE_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_EDGE_CAUSE_ARMADAXP_OFF(cpu); default: BUG(); } } static inline void __iomem *mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvchip) { int cpu; Loading @@ -150,7 +155,8 @@ static inline void __iomem *mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvch return mvchip->membase + GPIO_EDGE_MASK_MV78200_OFF(cpu); case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_EDGE_MASK_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_EDGE_MASK_ARMADAXP_OFF(cpu); default: BUG(); } Loading @@ -168,7 +174,8 @@ static void __iomem *mvebu_gpioreg_level_mask(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_LEVEL_MASK_MV78200_OFF(cpu); case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_LEVEL_MASK_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_LEVEL_MASK_ARMADAXP_OFF(cpu); default: BUG(); } Loading Loading @@ -394,9 +401,8 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) pin = d->hwirq; u = readl_relaxed(mvebu_gpioreg_io_conf(mvchip)) & (1 << pin); if (!u) { if (!u) return -EINVAL; } type &= IRQ_TYPE_SENSE_MASK; if (type == IRQ_TYPE_NONE) Loading Loading @@ -529,13 +535,13 @@ static void mvebu_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) (data_in ^ in_pol) & msk ? "hi" : "lo", in_pol & msk ? "lo" : "hi"); if (!((edg_msk | lvl_msk) & msk)) { seq_printf(s, " disabled\n"); seq_puts(s, " disabled\n"); continue; } if (edg_msk & msk) seq_printf(s, " edge "); seq_puts(s, " edge "); if (lvl_msk & msk) seq_printf(s, " level"); seq_puts(s, " level"); seq_printf(s, " (%s)\n", cause & msk ? "pending" : "clear "); } } Loading Loading @@ -668,7 +674,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) else soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION; mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL); mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL); if (!mvchip) return -ENOMEM; Loading Loading @@ -767,8 +774,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) * interrupt handlers, with each handler dealing with 8 GPIO * pins. */ for (i = 0; i < 4; i++) { int irq; irq = platform_get_irq(pdev, i); int irq = platform_get_irq(pdev, i); if (irq < 0) continue; irq_set_handler_data(irq, mvchip); Loading Loading
drivers/gpio/gpio-mvebu.c +42 −35 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ struct mvebu_gpio_chip { struct irq_domain *domain; int soc_variant; /* Used to preserve GPIO registers accross suspend/resume */ /* Used to preserve GPIO registers across suspend/resume */ u32 out_reg; u32 io_conf_reg; u32 blink_en_reg; Loading @@ -107,7 +107,8 @@ static inline void __iomem *mvebu_gpioreg_blink(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_BLINK_EN_OFF; } static inline void __iomem *mvebu_gpioreg_io_conf(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_io_conf(struct mvebu_gpio_chip *mvchip) { return mvchip->membase + GPIO_IO_CONF_OFF; } Loading @@ -117,12 +118,14 @@ static inline void __iomem *mvebu_gpioreg_in_pol(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_IN_POL_OFF; } static inline void __iomem *mvebu_gpioreg_data_in(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_data_in(struct mvebu_gpio_chip *mvchip) { return mvchip->membase + GPIO_DATA_IN_OFF; } static inline void __iomem *mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvchip) { int cpu; Loading @@ -132,13 +135,15 @@ static inline void __iomem *mvebu_gpioreg_edge_cause(struct mvebu_gpio_chip *mvc return mvchip->membase + GPIO_EDGE_CAUSE_OFF; case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_EDGE_CAUSE_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_EDGE_CAUSE_ARMADAXP_OFF(cpu); default: BUG(); } } static inline void __iomem *mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvchip) static inline void __iomem * mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvchip) { int cpu; Loading @@ -150,7 +155,8 @@ static inline void __iomem *mvebu_gpioreg_edge_mask(struct mvebu_gpio_chip *mvch return mvchip->membase + GPIO_EDGE_MASK_MV78200_OFF(cpu); case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_EDGE_MASK_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_EDGE_MASK_ARMADAXP_OFF(cpu); default: BUG(); } Loading @@ -168,7 +174,8 @@ static void __iomem *mvebu_gpioreg_level_mask(struct mvebu_gpio_chip *mvchip) return mvchip->membase + GPIO_LEVEL_MASK_MV78200_OFF(cpu); case MVEBU_GPIO_SOC_VARIANT_ARMADAXP: cpu = smp_processor_id(); return mvchip->percpu_membase + GPIO_LEVEL_MASK_ARMADAXP_OFF(cpu); return mvchip->percpu_membase + GPIO_LEVEL_MASK_ARMADAXP_OFF(cpu); default: BUG(); } Loading Loading @@ -394,9 +401,8 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) pin = d->hwirq; u = readl_relaxed(mvebu_gpioreg_io_conf(mvchip)) & (1 << pin); if (!u) { if (!u) return -EINVAL; } type &= IRQ_TYPE_SENSE_MASK; if (type == IRQ_TYPE_NONE) Loading Loading @@ -529,13 +535,13 @@ static void mvebu_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) (data_in ^ in_pol) & msk ? "hi" : "lo", in_pol & msk ? "lo" : "hi"); if (!((edg_msk | lvl_msk) & msk)) { seq_printf(s, " disabled\n"); seq_puts(s, " disabled\n"); continue; } if (edg_msk & msk) seq_printf(s, " edge "); seq_puts(s, " edge "); if (lvl_msk & msk) seq_printf(s, " level"); seq_puts(s, " level"); seq_printf(s, " (%s)\n", cause & msk ? "pending" : "clear "); } } Loading Loading @@ -668,7 +674,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) else soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION; mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL); mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL); if (!mvchip) return -ENOMEM; Loading Loading @@ -767,8 +774,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) * interrupt handlers, with each handler dealing with 8 GPIO * pins. */ for (i = 0; i < 4; i++) { int irq; irq = platform_get_irq(pdev, i); int irq = platform_get_irq(pdev, i); if (irq < 0) continue; irq_set_handler_data(irq, mvchip); Loading