* [PATCH v3 1/7] gpio: rtd1625: Remove unnecessary blank line
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-17 8:13 ` Andy Shevchenko
2026-08-16 15:17 ` [PATCH v3 2/7] gpio: rtd1625: Drop unneeded initializations Yu-Chun Lin
` (5 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Remove an unnecessary blank line in rtd1625_gpio_setup_irq() to clean up
the coding style.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 483e44cf5abc..469d4e94e4c7 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -486,7 +486,6 @@ static int rtd1625_gpio_setup_irq(struct platform_device *pdev, struct rtd1625_g
return irq;
num_irqs = (data->info->irq_type_support & IRQ_TYPE_LEVEL_MASK) ? 3 : 2;
-
for (unsigned int i = 0; i < num_irqs; i++) {
irq = platform_get_irq(pdev, i);
if (irq < 0)
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 1/7] gpio: rtd1625: Remove unnecessary blank line
2026-08-16 15:17 ` [PATCH v3 1/7] gpio: rtd1625: Remove unnecessary blank line Yu-Chun Lin
@ 2026-08-17 8:13 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-08-17 8:13 UTC (permalink / raw)
To: Yu-Chun Lin
Cc: Linus Walleij, Bartosz Golaszewski, linux-gpio, linux-kernel,
James Tai, Tzuyi Chang, CY Huang, Stanley Chang
On Sun, Aug 16, 2026 at 11:17:30PM +0800, Yu-Chun Lin wrote:
> Remove an unnecessary blank line in rtd1625_gpio_setup_irq() to clean up
> the coding style.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/7] gpio: rtd1625: Drop unneeded initializations
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 1/7] gpio: rtd1625: Remove unnecessary blank line Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-17 8:14 ` Andy Shevchenko
2026-08-16 15:17 ` [PATCH v3 3/7] gpio: rtd1625: Fix variable type for regmap_read() Yu-Chun Lin
` (4 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Drop unneeded assignments. While at it, place correctly the comment to be
just above the referenced code.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 469d4e94e4c7..910004c423df 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -107,10 +107,10 @@ static int rtd1625_reg_mask_xlate(struct gpio_regmap *gpio, enum gpio_regmap_ope
unsigned int base, unsigned int offset, unsigned int *reg,
unsigned int *mask)
{
- /* Each GPIO has its own dedicated 32-bit register */
struct rtd1625_gpio *data = gpio_regmap_get_drvdata(gpio);
- int val = 0, ret = 0;
+ /* Each GPIO has its own dedicated 32-bit register */
*reg = base + offset * 4;
+ int val, ret;
switch (op) {
case GPIO_REGMAP_SET_OP:
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 2/7] gpio: rtd1625: Drop unneeded initializations
2026-08-16 15:17 ` [PATCH v3 2/7] gpio: rtd1625: Drop unneeded initializations Yu-Chun Lin
@ 2026-08-17 8:14 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-08-17 8:14 UTC (permalink / raw)
To: Yu-Chun Lin
Cc: Linus Walleij, Bartosz Golaszewski, linux-gpio, linux-kernel,
James Tai, Tzuyi Chang, CY Huang, Stanley Chang
On Sun, Aug 16, 2026 at 11:17:31PM +0800, Yu-Chun Lin wrote:
> Drop unneeded assignments. While at it, place correctly the comment to be
> just above the referenced code.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 3/7] gpio: rtd1625: Fix variable type for regmap_read()
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 1/7] gpio: rtd1625: Remove unnecessary blank line Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 2/7] gpio: rtd1625: Drop unneeded initializations Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 4/7] gpio: rtd1625: Narrow 'i' variable scope in loop Yu-Chun Lin
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Change the type of 'val' from int to unsigned int. This properly matches
the expected parameter type of regmap_read().
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 910004c423df..0308d7a052e7 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -110,7 +110,8 @@ static int rtd1625_reg_mask_xlate(struct gpio_regmap *gpio, enum gpio_regmap_ope
struct rtd1625_gpio *data = gpio_regmap_get_drvdata(gpio);
/* Each GPIO has its own dedicated 32-bit register */
*reg = base + offset * 4;
- int val, ret;
+ unsigned int val;
+ int ret;
switch (op) {
case GPIO_REGMAP_SET_OP:
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 4/7] gpio: rtd1625: Narrow 'i' variable scope in loop
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
` (2 preceding siblings ...)
2026-08-16 15:17 ` [PATCH v3 3/7] gpio: rtd1625: Fix variable type for regmap_read() Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-17 8:14 ` Andy Shevchenko
2026-08-16 15:17 ` [PATCH v3 5/7] gpio: rtd1625: Narrow 'hwirq' " Yu-Chun Lin
` (2 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Declare 'i' inside the for-loop header to reduce variable visibility.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 0308d7a052e7..2652bc6cb523 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -224,7 +224,7 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *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;
+ unsigned int reg_offset, j, val;
irq_hw_number_t hwirq;
unsigned long status;
u32 irq_type;
@@ -241,7 +241,7 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *desc)
chained_irq_enter(chip, desc);
- for (i = 0; i < data->info->num_gpios; i += 32) {
+ for (unsigned int i = 0; i < data->info->num_gpios; i += 32) {
reg_offset = get_reg_offset(data, i);
ret = regmap_read(data->regmap, reg_offset, &val);
if (ret) {
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 4/7] gpio: rtd1625: Narrow 'i' variable scope in loop
2026-08-16 15:17 ` [PATCH v3 4/7] gpio: rtd1625: Narrow 'i' variable scope in loop Yu-Chun Lin
@ 2026-08-17 8:14 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-08-17 8:14 UTC (permalink / raw)
To: Yu-Chun Lin
Cc: Linus Walleij, Bartosz Golaszewski, linux-gpio, linux-kernel,
James Tai, Tzuyi Chang, CY Huang, Stanley Chang
On Sun, Aug 16, 2026 at 11:17:33PM +0800, Yu-Chun Lin wrote:
> Declare 'i' inside the for-loop header to reduce variable visibility.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 5/7] gpio: rtd1625: Narrow 'hwirq' variable scope in loop
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
` (3 preceding siblings ...)
2026-08-16 15:17 ` [PATCH v3 4/7] gpio: rtd1625: Narrow 'i' variable scope in loop Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-17 8:15 ` Andy Shevchenko
2026-08-16 15:17 ` [PATCH v3 6/7] gpio: rtd1625: Replace pr_err_ratelimited() with dev_err_ratelimited() Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 7/7] gpio: rtd1625: Use IRQ_TYPE_DEFAULT macro Yu-Chun Lin
6 siblings, 1 reply; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Declare 'hwirq' within the inner block where it's used to reduce variable
visibility.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 2652bc6cb523..8f584287c2e6 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -225,7 +225,6 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *desc)
unsigned int irq = irq_desc_get_irq(desc);
struct irq_domain *domain = data->domain;
unsigned int reg_offset, j, val;
- irq_hw_number_t hwirq;
unsigned long status;
u32 irq_type;
int ret;
@@ -267,7 +266,8 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *desc)
}
for_each_set_bit(j, &status, 32) {
- hwirq = i + j;
+ irq_hw_number_t hwirq = i + j;
+
irq_type = irq_get_trigger_type(irq_find_mapping(domain, hwirq));
/*
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 5/7] gpio: rtd1625: Narrow 'hwirq' variable scope in loop
2026-08-16 15:17 ` [PATCH v3 5/7] gpio: rtd1625: Narrow 'hwirq' " Yu-Chun Lin
@ 2026-08-17 8:15 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-08-17 8:15 UTC (permalink / raw)
To: Yu-Chun Lin
Cc: Linus Walleij, Bartosz Golaszewski, linux-gpio, linux-kernel,
James Tai, Tzuyi Chang, CY Huang, Stanley Chang
On Sun, Aug 16, 2026 at 11:17:34PM +0800, Yu-Chun Lin wrote:
> Declare 'hwirq' within the inner block where it's used to reduce variable
> visibility.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 6/7] gpio: rtd1625: Replace pr_err_ratelimited() with dev_err_ratelimited()
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
` (4 preceding siblings ...)
2026-08-16 15:17 ` [PATCH v3 5/7] gpio: rtd1625: Narrow 'hwirq' " Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
2026-08-16 15:17 ` [PATCH v3 7/7] gpio: rtd1625: Use IRQ_TYPE_DEFAULT macro Yu-Chun Lin
6 siblings, 0 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Using dev_* logging macros is preferred over pr_* in device drivers as it
provides proper device context in the kernel log output.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 8f584287c2e6..613462614210 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -221,6 +221,7 @@ 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 device *dev = regmap_get_device(data->regmap);
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int irq = irq_desc_get_irq(desc);
struct irq_domain *domain = data->domain;
@@ -244,7 +245,8 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *desc)
reg_offset = get_reg_offset(data, i);
ret = regmap_read(data->regmap, reg_offset, &val);
if (ret) {
- pr_err_ratelimited("Failed to read IRQ status for GPIO %u: %d\n", i, ret);
+ dev_err_ratelimited(dev, "Failed to read IRQ status for GPIO %u: %d\n",
+ i, ret);
continue;
}
@@ -261,8 +263,9 @@ static void rtd1625_gpio_irq_handle(struct irq_desc *desc)
if (irq != data->irqs[RTD1625_IRQ_LEVEL]) {
ret = regmap_write(data->regmap, reg_offset, status);
if (ret)
- pr_err_ratelimited("Failed to clear edge IRQ for GPIO %u: %d\n",
- i, ret);
+ dev_err_ratelimited(dev,
+ "Failed to clear edge IRQ for GPIO %u: %d\n",
+ i, ret);
}
for_each_set_bit(j, &status, 32) {
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 7/7] gpio: rtd1625: Use IRQ_TYPE_DEFAULT macro
2026-08-16 15:17 [PATCH v3 0/7] gpio: rtd1625: minor cleanups and log improvements Yu-Chun Lin
` (5 preceding siblings ...)
2026-08-16 15:17 ` [PATCH v3 6/7] gpio: rtd1625: Replace pr_err_ratelimited() with dev_err_ratelimited() Yu-Chun Lin
@ 2026-08-16 15:17 ` Yu-Chun Lin
6 siblings, 0 replies; 12+ messages in thread
From: Yu-Chun Lin @ 2026-08-16 15:17 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko
Cc: linux-gpio, linux-kernel, James Tai, Tzuyi Chang, CY Huang,
Stanley Chang, Yu-Chun Lin
Use the standard IRQ_TYPE_DEFAULT macro instead of explicitly listing all
supported edge and level IRQ type flags.
Link: https://lore.kernel.org/lkml/anUcSPcJjJkLh0Z-@ashevche-desk.local/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
---
drivers/gpio/gpio-rtd1625.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-rtd1625.c b/drivers/gpio/gpio-rtd1625.c
index 613462614210..bebd1b8ede48 100644
--- a/drivers/gpio/gpio-rtd1625.c
+++ b/drivers/gpio/gpio-rtd1625.c
@@ -615,8 +615,7 @@ static const struct rtd1625_gpio_info rtd1625_iso_gpio_info = {
static const struct rtd1625_gpio_info rtd1625_isom_gpio_info = {
.num_gpios = 4,
- .irq_type_support = IRQ_TYPE_EDGE_BOTH | IRQ_TYPE_LEVEL_LOW |
- IRQ_TYPE_LEVEL_HIGH,
+ .irq_type_support = IRQ_TYPE_DEFAULT,
.base_offset = 0x20,
.gpa_offset = 0x00,
.gpda_offset = 0x04,
--
2.50.1
^ permalink raw reply related [flat|nested] 12+ messages in thread