|
@@ -23,6 +23,7 @@
|
|
|
#include <linux/dmaengine.h>
|
|
|
#include <linux/dma-direction.h>
|
|
|
#include <linux/dma-mapping.h>
|
|
|
+#include <linux/reset.h>
|
|
|
|
|
|
#define DRIVER_NAME "sirfsoc_spi"
|
|
|
|
|
@@ -647,6 +648,12 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
|
|
|
int irq;
|
|
|
int i, ret;
|
|
|
|
|
|
+ ret = device_reset(&pdev->dev);
|
|
|
+ if (ret) {
|
|
|
+ dev_err(&pdev->dev, "SPI reset failed!\n");
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
master = spi_alloc_master(&pdev->dev, sizeof(*sspi));
|
|
|
if (!master) {
|
|
|
dev_err(&pdev->dev, "Unable to allocate SPI master\n");
|