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: Vladimir Oltean <olteanv@gmail.com> Link: https://lore.kernel.org/r/20190905010114.26718-2-olteanv@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a0ce1fd11e
commit
d1c44c9342
@ -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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user