Hi! > Currently the driver does not handle EPROBE_DEFER for the confd gpio. > Use devm_gpiod_get_optional() instead of devm_gpiod_get() and return > error codes from altera_ps_probe(). > @@ -265,10 +265,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); Will this result in repeated errors in dmesg in case of EPROBE_DEFER? We often avoid printing such messages in EPROBE_DEFER case. > + } else if (!conf->confd) { > + dev_warn(&spi->dev, "Not using confd gpio"); > } > > /* Register manager with unique name */ Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html