[v1] gpio: tangier: calculate number of ctx using temporary variable
Commit Message
Utilize a temporary variable to calculate number of ctx from ngpio
inside ->probe() implementation.
While at it, include math.h for using DIV_ROUND_UP().
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/gpio/gpio-tangier.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
On Mon, May 22, 2023 at 6:58 AM Raag Jadav <raag.jadav@intel.com> wrote:
>
> Utilize a temporary variable to calculate number of ctx from ngpio
> inside ->probe() implementation.
> While at it, include math.h for using DIV_ROUND_UP().
>
> Signed-off-by: Raag Jadav <raag.jadav@intel.com>
> ---
> drivers/gpio/gpio-tangier.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-tangier.c b/drivers/gpio/gpio-tangier.c
> index e990781935ba..7ce3eddaed25 100644
> --- a/drivers/gpio/gpio-tangier.c
> +++ b/drivers/gpio/gpio-tangier.c
> @@ -16,6 +16,7 @@
> #include <linux/interrupt.h>
> #include <linux/io.h>
> #include <linux/irq.h>
> +#include <linux/math.h>
> #include <linux/module.h>
> #include <linux/pinctrl/pinconf-generic.h>
> #include <linux/spinlock.h>
> @@ -428,10 +429,11 @@ static int tng_gpio_add_pin_ranges(struct gpio_chip *chip)
> int devm_tng_gpio_probe(struct device *dev, struct tng_gpio *gpio)
> {
> const struct tng_gpio_info *info = &gpio->info;
> + size_t nctx = DIV_ROUND_UP(info->ngpio, 32);
> struct gpio_irq_chip *girq;
> int ret;
>
> - gpio->ctx = devm_kcalloc(dev, DIV_ROUND_UP(info->ngpio, 32), sizeof(*gpio->ctx), GFP_KERNEL);
> + gpio->ctx = devm_kcalloc(dev, nctx, sizeof(*gpio->ctx), GFP_KERNEL);
> if (!gpio->ctx)
> return -ENOMEM;
>
> --
> 2.17.1
>
Applied, thanks!
Bartosz
@@ -16,6 +16,7 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
+#include <linux/math.h>
#include <linux/module.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/spinlock.h>
@@ -428,10 +429,11 @@ static int tng_gpio_add_pin_ranges(struct gpio_chip *chip)
int devm_tng_gpio_probe(struct device *dev, struct tng_gpio *gpio)
{
const struct tng_gpio_info *info = &gpio->info;
+ size_t nctx = DIV_ROUND_UP(info->ngpio, 32);
struct gpio_irq_chip *girq;
int ret;
- gpio->ctx = devm_kcalloc(dev, DIV_ROUND_UP(info->ngpio, 32), sizeof(*gpio->ctx), GFP_KERNEL);
+ gpio->ctx = devm_kcalloc(dev, nctx, sizeof(*gpio->ctx), GFP_KERNEL);
if (!gpio->ctx)
return -ENOMEM;