powerpc/qe_lib: Set gpio data before changing the direction to output
This avoids having a short glitch if the desired initial value is not the same as what was previously in the data register. Signed-off-by: Michael Barkowski <michaelbarkowski@ruggedcom.com> Acked-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
9b9d401b8d
commit
1dcd8ffc81
1 changed files with 2 additions and 2 deletions
|
@ -105,14 +105,14 @@ static int qe_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||||
struct qe_gpio_chip *qe_gc = to_qe_gpio_chip(mm_gc);
|
struct qe_gpio_chip *qe_gc = to_qe_gpio_chip(mm_gc);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
qe_gpio_set(gc, gpio, val);
|
||||||
|
|
||||||
spin_lock_irqsave(&qe_gc->lock, flags);
|
spin_lock_irqsave(&qe_gc->lock, flags);
|
||||||
|
|
||||||
__par_io_config_pin(mm_gc->regs, gpio, QE_PIO_DIR_OUT, 0, 0, 0);
|
__par_io_config_pin(mm_gc->regs, gpio, QE_PIO_DIR_OUT, 0, 0, 0);
|
||||||
|
|
||||||
spin_unlock_irqrestore(&qe_gc->lock, flags);
|
spin_unlock_irqrestore(&qe_gc->lock, flags);
|
||||||
|
|
||||||
qe_gpio_set(gc, gpio, val);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue