/**
* spi_flash_scan - scan the SPI FLASH
- * @spi: the spi slave structure
* @flash: the spi flash structure
*
* The drivers can use this fuction to scan the SPI FLASH.
*
* Return: 0 for success, others for failure.
*/
-int spi_flash_scan(struct spi_slave *spi, struct spi_flash *flash);
+int spi_flash_scan(struct spi_flash *flash);
#endif /* _SF_INTERNAL_H_ */
}
#endif /* CONFIG_IS_ENABLED(OF_CONTROL) */
-int spi_flash_scan(struct spi_slave *spi, struct spi_flash *flash)
+int spi_flash_scan(struct spi_flash *flash)
{
+ struct spi_slave *spi = flash->spi;
const struct spi_flash_params *params;
u16 jedec, ext_jedec;
u8 idcode[5];
write_sr(flash, 0);
/* Assign spi data */
- flash->spi = spi;
flash->name = params->name;
flash->memory_map = spi->memory_map;
flash->dual_flash = flash->spi->option;
/**
* spi_flash_probe_slave() - Probe for a SPI flash device on a bus
*
- * @spi: Bus to probe
* @flashp: Pointer to place to put flash info, which may be NULL if the
* space should be allocated
*/
-int spi_flash_probe_slave(struct spi_slave *spi, struct spi_flash *flash)
+int spi_flash_probe_slave(struct spi_flash *flash)
{
+ struct spi_slave *spi = flash->spi;
int ret;
/* Setup spi_slave */
return ret;
}
- ret = spi_flash_scan(spi, flash);
+ ret = spi_flash_scan(flash);
if (ret) {
ret = -EINVAL;
goto err_read_id;
return NULL;
}
- if (spi_flash_probe_slave(bus, flash)) {
+ flash->spi = bus;
+ if (spi_flash_probe_slave(flash)) {
spi_free_slave(bus);
free(flash);
return NULL;
flash = dev_get_uclass_priv(dev);
flash->dev = dev;
+ flash->spi = slave;
debug("%s: slave=%p, cs=%d\n", __func__, slave, plat->cs);
- return spi_flash_probe_slave(slave, flash);
+ return spi_flash_probe_slave(flash);
}
static const struct dm_spi_flash_ops spi_flash_std_ops = {