Re: [PATCH v7 9/9] gpio: realtek: Add driver for Realtek DHC RTD1625 SoC
"Mathieu Dubois-Briand" <[email protected]>
| Newsgroups | org.kernel.vger.linux-gpio,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu Jul 23, 2026 at 5:42 AM CEST, Yu-Chun Lin wrote: Hi, > From: Tzuyi Chang <[email protected]> > +static void rtd1625_gpio_irq_handle(struct irq_desc *desc) > +{ > + unsigned int (*get_reg_offset)(struct rtd1625_gpio *gpio, unsigned int offset); > + struct rtd1625_gpio *data = irq_desc_get_handler_data(desc); > + struct irq_chip *chip = irq_desc_get_chip(desc); > + unsigned int irq = irq_desc_get_irq(desc); > + struct irq_domain *domain = data->domain; > + unsigned int reg_offset, i, j, val; > + irq_hw_number_t hwirq; > + unsigned long status; > + u32 irq_type; > + > + if (irq == data->irqs[RTD1625_IRQ_ASSERT]) > + get_reg_offset = &rtd1625_gpio_gpa_offset; > + else if (irq == data->irqs[RTD1625_IRQ_DEASSERT]) > + get_reg_offset = &rtd1625_gpio_gpda_offset; > + else if (irq == data->irqs[RTD1625_IRQ_LEVEL]) > + get_reg_offset = &rtd1625_gpio_level_offset; > + else > + return; > + > + chained_irq_enter(chip, desc); > + > + for (i = 0; i < data->info->num_gpios; i += 32) { > + reg_offset = get_reg_offset(data, i); > + regmap_read(data->regmap, reg_offset, &val); > + > + status = val; Can the regmap_read() fail here? We are not checking its return, so maybe status will contain garbage? Thanks, Mathieu -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com