Commit d1c44c93 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Mark Brown

spi: Use an abbreviated pointer to ctlr->cur_msg in __spi_pump_messages

This helps a bit with line fitting now (the list_first_entry call) as
well as during the next patch which needs to iterate through all
transfers of ctlr->cur_msg so it timestamps them.
Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20190905010114.26718-2-olteanv@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent a0ce1fd1
...@@ -1265,8 +1265,9 @@ EXPORT_SYMBOL_GPL(spi_finalize_current_transfer); ...@@ -1265,8 +1265,9 @@ EXPORT_SYMBOL_GPL(spi_finalize_current_transfer);
*/ */
static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread) static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread)
{ {
unsigned long flags; struct spi_message *msg;
bool was_busy = false; bool was_busy = false;
unsigned long flags;
int ret; int ret;
/* Lock queue */ /* Lock queue */
...@@ -1325,10 +1326,10 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread) ...@@ -1325,10 +1326,10 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread)
} }
/* Extract head of queue */ /* Extract head of queue */
ctlr->cur_msg = msg = list_first_entry(&ctlr->queue, struct spi_message, queue);
list_first_entry(&ctlr->queue, struct spi_message, queue); ctlr->cur_msg = msg;
list_del_init(&ctlr->cur_msg->queue); list_del_init(&msg->queue);
if (ctlr->busy) if (ctlr->busy)
was_busy = true; was_busy = true;
else else
...@@ -1361,7 +1362,7 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread) ...@@ -1361,7 +1362,7 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread)
if (ctlr->auto_runtime_pm) if (ctlr->auto_runtime_pm)
pm_runtime_put(ctlr->dev.parent); pm_runtime_put(ctlr->dev.parent);
ctlr->cur_msg->status = ret; msg->status = ret;
spi_finalize_current_message(ctlr); spi_finalize_current_message(ctlr);
mutex_unlock(&ctlr->io_mutex); mutex_unlock(&ctlr->io_mutex);
...@@ -1369,28 +1370,28 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread) ...@@ -1369,28 +1370,28 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread)
} }
} }
trace_spi_message_start(ctlr->cur_msg); trace_spi_message_start(msg);
if (ctlr->prepare_message) { if (ctlr->prepare_message) {
ret = ctlr->prepare_message(ctlr, ctlr->cur_msg); ret = ctlr->prepare_message(ctlr, msg);
if (ret) { if (ret) {
dev_err(&ctlr->dev, "failed to prepare message: %d\n", dev_err(&ctlr->dev, "failed to prepare message: %d\n",
ret); ret);
ctlr->cur_msg->status = ret; msg->status = ret;
spi_finalize_current_message(ctlr); spi_finalize_current_message(ctlr);
goto out; goto out;
} }
ctlr->cur_msg_prepared = true; ctlr->cur_msg_prepared = true;
} }
ret = spi_map_msg(ctlr, ctlr->cur_msg); ret = spi_map_msg(ctlr, msg);
if (ret) { if (ret) {
ctlr->cur_msg->status = ret; msg->status = ret;
spi_finalize_current_message(ctlr); spi_finalize_current_message(ctlr);
goto out; goto out;
} }
ret = ctlr->transfer_one_message(ctlr, ctlr->cur_msg); ret = ctlr->transfer_one_message(ctlr, msg);
if (ret) { if (ret) {
dev_err(&ctlr->dev, dev_err(&ctlr->dev,
"failed to transfer one message from queue\n"); "failed to transfer one message from queue\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment