summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-12-10 17:40:53 +0000
committerMark Brown <broonie@kernel.org>2014-12-11 12:23:13 +0000
commit5424d43e4daddf71aaa60d6565c8816af9150adf (patch)
tree29672ed362f7400297f00a1671fc74932a7de449 /drivers/spi
parent0e647037fed5632e7c5989ec359ab84c676888ac (diff)
downloadop-kernel-dev-5424d43e4daddf71aaa60d6565c8816af9150adf.zip
op-kernel-dev-5424d43e4daddf71aaa60d6565c8816af9150adf.tar.gz
spi: Move queue data structure initialisation to main master init
Since most devices now do use the standard queue and in order to avoid initialisation ordering issues being introduced by further refactorings to improve performance move the initialisation of the queue and the lock for it to the main master allocation. Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index da7e622..b81ccdb 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -989,9 +989,6 @@ static int spi_init_queue(struct spi_master *master)
{
struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };
- INIT_LIST_HEAD(&master->queue);
- spin_lock_init(&master->queue_lock);
-
master->running = false;
master->busy = false;
@@ -1595,6 +1592,8 @@ int spi_register_master(struct spi_master *master)
dynamic = 1;
}
+ INIT_LIST_HEAD(&master->queue);
+ spin_lock_init(&master->queue_lock);
spin_lock_init(&master->bus_lock_spinlock);
mutex_init(&master->bus_lock_mutex);
master->bus_lock_flag = 0;
OpenPOWER on IntegriCloud