mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 03:15:00 +00:00
spi: atmel: check GPIO validity before using cs_gpios
Before using the cs_gpio, check if the GPIO is valid or not. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
This commit is contained in:
parent
a63d800196
commit
61a77ce1d5
1 changed files with 9 additions and 0 deletions
|
@ -296,6 +296,9 @@ static void atmel_spi_cs_activate(struct udevice *dev)
|
|||
struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
|
||||
u32 cs = slave_plat->cs;
|
||||
|
||||
if (!dm_gpio_is_valid(&priv->cs_gpios[cs]))
|
||||
return;
|
||||
|
||||
dm_gpio_set_value(&priv->cs_gpios[cs], 0);
|
||||
}
|
||||
|
||||
|
@ -306,6 +309,9 @@ static void atmel_spi_cs_deactivate(struct udevice *dev)
|
|||
struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
|
||||
u32 cs = slave_plat->cs;
|
||||
|
||||
if (!dm_gpio_is_valid(&priv->cs_gpios[cs]))
|
||||
return;
|
||||
|
||||
dm_gpio_set_value(&priv->cs_gpios[cs], 1);
|
||||
}
|
||||
|
||||
|
@ -473,6 +479,9 @@ static int atmel_spi_probe(struct udevice *bus)
|
|||
}
|
||||
|
||||
for(i = 0; i < ARRAY_SIZE(priv->cs_gpios); i++) {
|
||||
if (!dm_gpio_is_valid(&priv->cs_gpios[i]))
|
||||
continue;
|
||||
|
||||
dm_gpio_set_dir_flags(&priv->cs_gpios[i],
|
||||
GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue