sh-pfc: Drop the sh_pfc_pinctrl spinlock
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 28 Nov 2012 19:52:53 +0000 (20:52 +0100)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 15 Mar 2013 12:33:36 +0000 (13:33 +0100)
The spinlock is used to protect data that is only accessed sequentially
during initialization. Remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/sh-pfc/pinctrl.c

index d113746ec8736dbdc3dda8c8d628c3637146695a..9bd0a830c140e78d21ea19335c7e7fa983f7437e 100644 (file)
@@ -37,8 +37,6 @@ struct sh_pfc_pinctrl {
 
        struct pinctrl_pin_desc *pads;
        unsigned int nr_pads;
-
-       spinlock_t lock;
 };
 
 static int sh_pfc_get_groups_count(struct pinctrl_dev *pctldev)
@@ -321,7 +319,6 @@ static void sh_pfc_map_one_gpio(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx,
                                struct pinmux_gpio *gpio, unsigned offset)
 {
        struct pinmux_data_reg *dummy;
-       unsigned long flags;
        int bit;
 
        gpio->flags &= ~PINMUX_FLAG_TYPE;
@@ -330,10 +327,7 @@ static void sh_pfc_map_one_gpio(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx,
                gpio->flags |= PINMUX_TYPE_GPIO;
        else {
                gpio->flags |= PINMUX_TYPE_FUNCTION;
-
-               spin_lock_irqsave(&pmx->lock, flags);
                pmx->nr_functions++;
-               spin_unlock_irqrestore(&pmx->lock, flags);
        }
 }
 
@@ -381,7 +375,6 @@ static int sh_pfc_map_gpios(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx)
 
 static int sh_pfc_map_functions(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx)
 {
-       unsigned long flags;
        int i, fn;
 
        pmx->functions = devm_kzalloc(pfc->dev, pmx->nr_functions *
@@ -389,8 +382,6 @@ static int sh_pfc_map_functions(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx)
        if (unlikely(!pmx->functions))
                return -ENOMEM;
 
-       spin_lock_irqsave(&pmx->lock, flags);
-
        for (i = fn = 0; i < pmx->nr_pads; i++) {
                struct pinmux_gpio *gpio = pfc->info->gpios + i;
 
@@ -398,8 +389,6 @@ static int sh_pfc_map_functions(struct sh_pfc *pfc, struct sh_pfc_pinctrl *pmx)
                        pmx->functions[fn++] = gpio;
        }
 
-       spin_unlock_irqrestore(&pmx->lock, flags);
-
        return 0;
 }
 
@@ -412,8 +401,6 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
        if (unlikely(!pmx))
                return -ENOMEM;
 
-       spin_lock_init(&pmx->lock);
-
        pmx->pfc = pfc;
        pfc->pinctrl = pmx;