From: Steven Lee <steven_lee@aspeedtech.com> To: Linus Walleij <linus.walleij@linaro.org>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, Rob Herring <robh+dt@kernel.org>, Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-arm-kernel@lists.infradead.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-aspeed@lists.ozlabs.org>, open list <linux-kernel@vger.kernel.org> Cc: <steven_lee@aspeedtech.com>, <Hongweiz@ami.com>, <ryan_chen@aspeedtech.com>, <billy_tsai@aspeedtech.com> Subject: [PATCH v5 10/10] gpio: gpio-aspeed-sgpio: Return error if ngpios is not multiple of 8. Date: Tue, 8 Jun 2021 18:25:45 +0800 [thread overview] Message-ID: <20210608102547.4880-11-steven_lee@aspeedtech.com> (raw) In-Reply-To: <20210608102547.4880-1-steven_lee@aspeedtech.com> Add an else-if condition in the probe function to check whether ngpios is multiple of 8. Per AST datasheet, numbers of available serial GPIO pins in Serial GPIO Configuration Register must be n bytes. For instance, if n = 1, it means AST SoC supports 8 GPIO pins. Signed-off-by: Steven Lee <steven_lee@aspeedtech.com> --- drivers/gpio/gpio-aspeed-sgpio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpio/gpio-aspeed-sgpio.c b/drivers/gpio/gpio-aspeed-sgpio.c index f1e40486d401..1a3fcc721664 100644 --- a/drivers/gpio/gpio-aspeed-sgpio.c +++ b/drivers/gpio/gpio-aspeed-sgpio.c @@ -572,6 +572,10 @@ static int __init aspeed_sgpio_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Number of GPIOs exceeds the maximum of %d: %d\n", gpio->max_ngpios, nr_gpios); return -EINVAL; + } else if (nr_gpios % 8) { + dev_err(&pdev->dev, "Number of GPIOs not multiple of 8: %d\n", + nr_gpios); + return -EINVAL; } gpio->n_sgpio = nr_gpios; -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Steven Lee <steven_lee@aspeedtech.com> To: Linus Walleij <linus.walleij@linaro.org>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, Rob Herring <robh+dt@kernel.org>, Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-arm-kernel@lists.infradead.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-aspeed@lists.ozlabs.org>, open list <linux-kernel@vger.kernel.org> Cc: <steven_lee@aspeedtech.com>, <Hongweiz@ami.com>, <ryan_chen@aspeedtech.com>, <billy_tsai@aspeedtech.com> Subject: [PATCH v5 10/10] gpio: gpio-aspeed-sgpio: Return error if ngpios is not multiple of 8. Date: Tue, 8 Jun 2021 18:25:45 +0800 [thread overview] Message-ID: <20210608102547.4880-11-steven_lee@aspeedtech.com> (raw) In-Reply-To: <20210608102547.4880-1-steven_lee@aspeedtech.com> Add an else-if condition in the probe function to check whether ngpios is multiple of 8. Per AST datasheet, numbers of available serial GPIO pins in Serial GPIO Configuration Register must be n bytes. For instance, if n = 1, it means AST SoC supports 8 GPIO pins. Signed-off-by: Steven Lee <steven_lee@aspeedtech.com> --- drivers/gpio/gpio-aspeed-sgpio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpio/gpio-aspeed-sgpio.c b/drivers/gpio/gpio-aspeed-sgpio.c index f1e40486d401..1a3fcc721664 100644 --- a/drivers/gpio/gpio-aspeed-sgpio.c +++ b/drivers/gpio/gpio-aspeed-sgpio.c @@ -572,6 +572,10 @@ static int __init aspeed_sgpio_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Number of GPIOs exceeds the maximum of %d: %d\n", gpio->max_ngpios, nr_gpios); return -EINVAL; + } else if (nr_gpios % 8) { + dev_err(&pdev->dev, "Number of GPIOs not multiple of 8: %d\n", + nr_gpios); + return -EINVAL; } gpio->n_sgpio = nr_gpios; -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-06-08 10:27 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-08 10:25 [PATCH v5 00/10] ASPEED sgpio driver enhancement Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-08 10:25 ` [PATCH v5 01/10] dt-bindings: aspeed-sgpio: Convert txt bindings to yaml Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-09 0:42 ` Andrew Jeffery 2021-06-09 0:42 ` Andrew Jeffery 2021-06-10 16:18 ` Rob Herring 2021-06-10 16:18 ` Rob Herring 2021-06-08 10:25 ` [PATCH v5 02/10] dt-bindings: aspeed-sgpio: Add ast2600 sgpio compatibles Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-10 16:23 ` Rob Herring 2021-06-10 16:23 ` Rob Herring 2021-06-10 23:27 ` Andrew Jeffery 2021-06-10 23:27 ` Andrew Jeffery 2021-06-16 15:20 ` Rob Herring 2021-06-16 15:20 ` Rob Herring 2021-06-08 10:25 ` [PATCH v5 03/10] ARM: dts: aspeed-g6: Add SGPIO node Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-09 0:43 ` Andrew Jeffery 2021-06-09 0:43 ` Andrew Jeffery 2021-06-09 1:51 ` Steven Lee 2021-06-09 1:51 ` Steven Lee 2021-06-09 2:19 ` Andrew Jeffery 2021-06-09 2:19 ` Andrew Jeffery 2021-06-08 10:25 ` [PATCH v5 04/10] ARM: dts: aspeed-g5: Remove ngpios from sgpio node Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-09 0:45 ` Andrew Jeffery 2021-06-09 0:45 ` Andrew Jeffery 2021-06-08 10:25 ` [PATCH v5 05/10] gpio: gpio-aspeed-sgpio: Add AST2600 sgpio support Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-09 0:52 ` Andrew Jeffery 2021-06-09 0:52 ` Andrew Jeffery 2021-06-08 10:25 ` [PATCH v5 06/10] gpio: gpio-aspeed-sgpio: Add AST2400 and AST2500 platform data Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-09 0:55 ` Andrew Jeffery 2021-06-09 0:55 ` Andrew Jeffery 2021-06-09 4:12 ` Steven Lee 2021-06-09 4:12 ` Steven Lee 2021-06-09 6:45 ` Andrew Jeffery 2021-06-09 6:45 ` Andrew Jeffery 2021-06-11 19:02 ` Bartosz Golaszewski 2021-06-11 19:02 ` Bartosz Golaszewski 2021-06-15 4:22 ` Steven Lee 2021-06-15 4:22 ` Steven Lee 2021-06-08 10:25 ` [PATCH v5 07/10] gpio: gpio-aspeed-sgpio: Add set_config function Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-08 10:25 ` [PATCH v5 08/10] gpio: gpio-aspeed-sgpio: Move irq_chip to aspeed-sgpio struct Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-08 10:25 ` [PATCH v5 09/10] gpio: gpio-aspeed-sgpio: Use generic device property APIs Steven Lee 2021-06-08 10:25 ` Steven Lee 2021-06-08 10:25 ` Steven Lee [this message] 2021-06-08 10:25 ` [PATCH v5 10/10] gpio: gpio-aspeed-sgpio: Return error if ngpios is not multiple of 8 Steven Lee 2021-06-09 0:56 ` Andrew Jeffery 2021-06-09 0:56 ` Andrew Jeffery 2021-06-09 10:54 ` [PATCH v5 00/10] ASPEED sgpio driver enhancement Linus Walleij 2021-06-09 10:54 ` Linus Walleij 2021-06-10 2:24 ` Steven Lee 2021-06-10 2:24 ` Steven Lee 2021-06-10 7:50 ` Linus Walleij 2021-06-10 7:50 ` Linus Walleij 2021-06-10 8:39 ` Steven Lee 2021-06-10 8:39 ` Steven Lee
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=20210608102547.4880-11-steven_lee@aspeedtech.com \ --to=steven_lee@aspeedtech.com \ --cc=Hongweiz@ami.com \ --cc=andrew@aj.id.au \ --cc=bgolaszewski@baylibre.com \ --cc=billy_tsai@aspeedtech.com \ --cc=devicetree@vger.kernel.org \ --cc=joel@jms.id.au \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-aspeed@lists.ozlabs.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robh+dt@kernel.org \ --cc=ryan_chen@aspeedtech.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.