aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi.c7
-rw-r--r--include/linux/spi/spi.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index cdb242de901d..791c4dc550ae 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -480,6 +480,11 @@ EXPORT_SYMBOL_GPL(spi_busnum_to_master);
/*-------------------------------------------------------------------------*/
+static void spi_complete(void *arg)
+{
+ complete(arg);
+}
+
/**
* spi_sync - blocking/synchronous SPI data transfers
* @spi: device with which data will be exchanged
@@ -508,7 +513,7 @@ int spi_sync(struct spi_device *spi, struct spi_message *message)
DECLARE_COMPLETION(done);
int status;
- message->complete = (void (*)(void *)) complete;
+ message->complete = spi_complete;
message->context = &done;
status = spi_async(spi, message);
if (status == 0)
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 939afd3a2e72..b05f1463a267 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -374,7 +374,7 @@ struct spi_message {
*/
/* completion is reported through a callback */
- void FASTCALL((*complete)(void *context));
+ void (*complete)(void *context);
void *context;
unsigned actual_length;
int status;