flash_bsl_destroy: use GPIO if requested
This commit is contained in:
parent
3eefaaf3e7
commit
1d54d8e3f5
|
@ -36,6 +36,7 @@ struct flash_bsl_device {
|
||||||
|
|
||||||
sport_t serial_fd;
|
sport_t serial_fd;
|
||||||
int long_password;
|
int long_password;
|
||||||
|
const struct device_args *args;
|
||||||
|
|
||||||
const char *seq;
|
const char *seq;
|
||||||
};
|
};
|
||||||
|
@ -554,7 +555,15 @@ static void flash_bsl_destroy(device_t dev_base)
|
||||||
{
|
{
|
||||||
struct flash_bsl_device *dev = (struct flash_bsl_device *)dev_base;
|
struct flash_bsl_device *dev = (struct flash_bsl_device *)dev_base;
|
||||||
|
|
||||||
bsllib_seq_do(dev->serial_fd, bsllib_seq_next(dev->seq));
|
if ( dev->args->bsl_gpio_used )
|
||||||
|
{
|
||||||
|
bsllib_seq_do_gpio(dev->args->bsl_gpio_rts, dev->args->bsl_gpio_dtr,
|
||||||
|
bsllib_seq_next(dev->seq));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bsllib_seq_do(dev->serial_fd, bsllib_seq_next(dev->seq));
|
||||||
|
}
|
||||||
sport_close(dev->serial_fd);
|
sport_close(dev->serial_fd);
|
||||||
free(dev);
|
free(dev);
|
||||||
}
|
}
|
||||||
|
@ -581,6 +590,7 @@ static device_t flash_bsl_open(const struct device_args *args)
|
||||||
|
|
||||||
memset(dev, 0, sizeof(*dev));
|
memset(dev, 0, sizeof(*dev));
|
||||||
dev->base.type = &device_flash_bsl;
|
dev->base.type = &device_flash_bsl;
|
||||||
|
dev->args = args;
|
||||||
|
|
||||||
dev->serial_fd = sport_open(args->path, 9600, SPORT_EVEN_PARITY);
|
dev->serial_fd = sport_open(args->path, 9600, SPORT_EVEN_PARITY);
|
||||||
if (SPORT_ISERR(dev->serial_fd)) {
|
if (SPORT_ISERR(dev->serial_fd)) {
|
||||||
|
|
Loading…
Reference in New Issue