hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/mailbox/ti-msgmgr.c
....@@ -2,7 +2,7 @@
22 /*
33 * Texas Instruments' Message Manager Driver
44 *
5
- * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
5
+ * Copyright (C) 2015-2017 Texas Instruments Incorporated - https://www.ti.com/
66 * Nishanth Menon
77 */
88
....@@ -385,14 +385,20 @@
385385 /* Ensure all unused data is 0 */
386386 data_trail &= 0xFFFFFFFF >> (8 * (sizeof(u32) - trail_bytes));
387387 writel(data_trail, data_reg);
388
- data_reg++;
388
+ data_reg += sizeof(u32);
389389 }
390
+
390391 /*
391392 * 'data_reg' indicates next register to write. If we did not already
392393 * write on tx complete reg(last reg), we must do so for transmit
394
+ * In addition, we also need to make sure all intermediate data
395
+ * registers(if any required), are reset to 0 for TISCI backward
396
+ * compatibility to be maintained.
393397 */
394
- if (data_reg <= qinst->queue_buff_end)
395
- writel(0, qinst->queue_buff_end);
398
+ while (data_reg <= qinst->queue_buff_end) {
399
+ writel(0, data_reg);
400
+ data_reg += sizeof(u32);
401
+ }
396402
397403 return 0;
398404 }
....@@ -560,8 +566,8 @@
560566 }
561567
562568 err:
563
- dev_err(inst->dev, "Queue ID %d, Proxy ID %d is wrong on %s\n",
564
- req_qid, req_pid, p->np->name);
569
+ dev_err(inst->dev, "Queue ID %d, Proxy ID %d is wrong on %pOFn\n",
570
+ req_qid, req_pid, p->np);
565571 return ERR_PTR(-ENOENT);
566572 }
567573
....@@ -817,26 +823,15 @@
817823 mbox->of_xlate = ti_msgmgr_of_xlate;
818824
819825 platform_set_drvdata(pdev, inst);
820
- ret = mbox_controller_register(mbox);
826
+ ret = devm_mbox_controller_register(dev, mbox);
821827 if (ret)
822828 dev_err(dev, "Failed to register mbox_controller(%d)\n", ret);
823829
824830 return ret;
825831 }
826832
827
-static int ti_msgmgr_remove(struct platform_device *pdev)
828
-{
829
- struct ti_msgmgr_inst *inst;
830
-
831
- inst = platform_get_drvdata(pdev);
832
- mbox_controller_unregister(&inst->mbox);
833
-
834
- return 0;
835
-}
836
-
837833 static struct platform_driver ti_msgmgr_driver = {
838834 .probe = ti_msgmgr_probe,
839
- .remove = ti_msgmgr_remove,
840835 .driver = {
841836 .name = "ti-msgmgr",
842837 .of_match_table = of_match_ptr(ti_msgmgr_of_match),