linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Linus Walleij <linus.walleij@linaro.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@somainline.org>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v1 04/11] pinctrl: aw9523: Make use of struct pinfunction and PINCTRL_PINFUNCTION()
Date: Thu, 14 Mar 2024 01:52:07 +0200	[thread overview]
Message-ID: <20240313235422.180075-5-andy.shevchenko@gmail.com> (raw)
In-Reply-To: <20240313235422.180075-1-andy.shevchenko@gmail.com>

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Since pin control provides a generic data type and a macro for
the pin function definition, use them in the driver.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/pinctrl/pinctrl-aw9523.c | 32 ++++++--------------------------
 1 file changed, 6 insertions(+), 26 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-aw9523.c b/drivers/pinctrl/pinctrl-aw9523.c
index d93640a02d1d3..79916e6bf6f4e 100644
--- a/drivers/pinctrl/pinctrl-aw9523.c
+++ b/drivers/pinctrl/pinctrl-aw9523.c
@@ -66,18 +66,6 @@ struct aw9523_irq {
 	u16 cached_gpio;
 };
 
-/*
- * struct aw9523_pinmux - Pin mux params
- * @name: Name of the mux
- * @grps: Groups of the mux
- * @num_grps: Number of groups (sizeof array grps)
- */
-struct aw9523_pinmux {
-	const char *name;
-	const char * const *grps;
-	const u8 num_grps;
-};
-
 /*
  * struct aw9523 - Main driver structure
  * @dev: device handle
@@ -158,17 +146,9 @@ static const char * const gpio_pwm_groups[] = {
 };
 
 /* Warning: Do NOT reorder this array */
-static const struct aw9523_pinmux aw9523_pmx[] = {
-	{
-		.name = "pwm",
-		.grps = gpio_pwm_groups,
-		.num_grps = ARRAY_SIZE(gpio_pwm_groups),
-	},
-	{
-		.name = "gpio",
-		.grps = gpio_pwm_groups,
-		.num_grps = ARRAY_SIZE(gpio_pwm_groups),
-	},
+static const struct pinfunction aw9523_pmx[] = {
+	PINCTRL_PINFUNCTION("pwm", gpio_pwm_groups, ARRAY_SIZE(gpio_pwm_groups)),
+	PINCTRL_PINFUNCTION("gpio", gpio_pwm_groups, ARRAY_SIZE(gpio_pwm_groups)),
 };
 
 static int aw9523_pmx_get_funcs_count(struct pinctrl_dev *pctl)
@@ -184,10 +164,10 @@ static const char *aw9523_pmx_get_fname(struct pinctrl_dev *pctl,
 
 static int aw9523_pmx_get_groups(struct pinctrl_dev *pctl, unsigned int sel,
 				 const char * const **groups,
-				 unsigned int * const num_groups)
+				 unsigned int * const ngroups)
 {
-	*groups = aw9523_pmx[sel].grps;
-	*num_groups = aw9523_pmx[sel].num_grps;
+	*groups = aw9523_pmx[sel].groups;
+	*ngroups = aw9523_pmx[sel].ngrpoups;
 	return 0;
 }
 
-- 
2.44.0


  parent reply	other threads:[~2024-03-13 23:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 23:52 [PATCH v1 00/11] pinctrl: aw9523: number of cleanups Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 01/11] pinctrl: aw9523: Destroy mutex on ->remove() Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 02/11] pinctrl: aw9523: Use correct error code for not supported functionality Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 03/11] pinctrl: aw9523: Always try both ports in aw9523_gpio_set_multiple() Andy Shevchenko
2024-03-13 23:52 ` Andy Shevchenko [this message]
2024-03-14 22:22   ` [PATCH v1 04/11] pinctrl: aw9523: Make use of struct pinfunction and PINCTRL_PINFUNCTION() kernel test robot
2024-03-15 11:12   ` kernel test robot
2024-03-13 23:52 ` [PATCH v1 05/11] pinctrl: aw9523: Use temporary variable for HW IRQ number Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 06/11] pinctrl: aw9523: Get rid of redundant ' & U8_MAX' pieces Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 07/11] pinctrl: aw9523: Remove unused irqchip field in struct aw9523_irq Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 08/11] pinctrl: aw9523: Make use of dev_err_probe() Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 09/11] pinctrl: aw9523: Sort headers and group pinctrl/* Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 10/11] pinctrl: aw9523: Fix indentation in a few places Andy Shevchenko
2024-03-13 23:52 ` [PATCH v1 11/11] pinctrl: aw9523: Remove redundant dependency to OF Andy Shevchenko
2024-03-14  7:04 ` [PATCH v1 00/11] pinctrl: aw9523: number of cleanups Dan Carpenter
2024-03-28  9:21 ` Linus Walleij
2024-03-28 14:14   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240313235422.180075-5-andy.shevchenko@gmail.com \
    --to=andy.shevchenko@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=angelogioacchino.delregno@somainline.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).