diff options
Diffstat (limited to 'drivers/fpga/altera-ps-spi.c')
| -rw-r--r-- | drivers/fpga/altera-ps-spi.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/fpga/altera-ps-spi.c b/drivers/fpga/altera-ps-spi.c index a13f224303c6..0221dee8dd4c 100644 --- a/drivers/fpga/altera-ps-spi.c +++ b/drivers/fpga/altera-ps-spi.c @@ -210,7 +210,7 @@ static int altera_ps_write_complete(struct fpga_manager *mgr,  		return -EIO;  	} -	if (!IS_ERR(conf->confd)) { +	if (conf->confd) {  		if (!gpiod_get_raw_value_cansleep(conf->confd)) {  			dev_err(&mgr->dev, "CONF_DONE is inactive!\n");  			return -EIO; @@ -289,10 +289,13 @@ static int altera_ps_probe(struct spi_device *spi)  		return PTR_ERR(conf->status);  	} -	conf->confd = devm_gpiod_get(&spi->dev, "confd", GPIOD_IN); +	conf->confd = devm_gpiod_get_optional(&spi->dev, "confd", GPIOD_IN);  	if (IS_ERR(conf->confd)) { -		dev_warn(&spi->dev, "Not using confd gpio: %ld\n", -			 PTR_ERR(conf->confd)); +		dev_err(&spi->dev, "Failed to get confd gpio: %ld\n", +			PTR_ERR(conf->confd)); +		return PTR_ERR(conf->confd); +	} else if (!conf->confd) { +		dev_warn(&spi->dev, "Not using confd gpio");  	}  	/* Register manager with unique name */  | 
