hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/mailbox/bcm-flexrm-mailbox.c
....@@ -296,8 +296,6 @@
296296 struct dma_pool *bd_pool;
297297 struct dma_pool *cmpl_pool;
298298 struct dentry *root;
299
- struct dentry *config;
300
- struct dentry *stats;
301299 struct mbox_controller controller;
302300 };
303301
....@@ -375,7 +373,7 @@
375373 return hcnt;
376374 }
377375
378
-static void flexrm_flip_header_toogle(void *desc_ptr)
376
+static void flexrm_flip_header_toggle(void *desc_ptr)
379377 {
380378 u64 desc = flexrm_read_desc(desc_ptr);
381379
....@@ -634,15 +632,15 @@
634632
635633 rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
636634 DMA_TO_DEVICE);
637
- if (rc < 0)
638
- return rc;
635
+ if (!rc)
636
+ return -EIO;
639637
640638 rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst),
641639 DMA_FROM_DEVICE);
642
- if (rc < 0) {
640
+ if (!rc) {
643641 dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
644642 DMA_TO_DEVICE);
645
- return rc;
643
+ return -EIO;
646644 }
647645
648646 return 0;
....@@ -709,7 +707,7 @@
709707 wmb();
710708
711709 /* Flip toggle bit in header */
712
- flexrm_flip_header_toogle(orig_desc_ptr);
710
+ flexrm_flip_header_toggle(orig_desc_ptr);
713711
714712 return desc_ptr;
715713 }
....@@ -838,7 +836,7 @@
838836 wmb();
839837
840838 /* Flip toggle bit in header */
841
- flexrm_flip_header_toogle(orig_desc_ptr);
839
+ flexrm_flip_header_toggle(orig_desc_ptr);
842840
843841 return desc_ptr;
844842 }
....@@ -1165,8 +1163,7 @@
11651163
11661164 static int flexrm_debugfs_conf_show(struct seq_file *file, void *offset)
11671165 {
1168
- struct platform_device *pdev = to_platform_device(file->private);
1169
- struct flexrm_mbox *mbox = platform_get_drvdata(pdev);
1166
+ struct flexrm_mbox *mbox = dev_get_drvdata(file->private);
11701167
11711168 /* Write config in file */
11721169 flexrm_write_config_in_seqfile(mbox, file);
....@@ -1176,8 +1173,7 @@
11761173
11771174 static int flexrm_debugfs_stats_show(struct seq_file *file, void *offset)
11781175 {
1179
- struct platform_device *pdev = to_platform_device(file->private);
1180
- struct flexrm_mbox *mbox = platform_get_drvdata(pdev);
1176
+ struct flexrm_mbox *mbox = dev_get_drvdata(file->private);
11811177
11821178 /* Write stats in file */
11831179 flexrm_write_stats_in_seqfile(mbox, file);
....@@ -1624,28 +1620,15 @@
16241620
16251621 /* Create debugfs root entry */
16261622 mbox->root = debugfs_create_dir(dev_name(mbox->dev), NULL);
1627
- if (IS_ERR_OR_NULL(mbox->root)) {
1628
- ret = PTR_ERR_OR_ZERO(mbox->root);
1629
- goto fail_free_msis;
1630
- }
16311623
16321624 /* Create debugfs config entry */
1633
- mbox->config = debugfs_create_devm_seqfile(mbox->dev,
1634
- "config", mbox->root,
1635
- flexrm_debugfs_conf_show);
1636
- if (IS_ERR_OR_NULL(mbox->config)) {
1637
- ret = PTR_ERR_OR_ZERO(mbox->config);
1638
- goto fail_free_debugfs_root;
1639
- }
1625
+ debugfs_create_devm_seqfile(mbox->dev, "config", mbox->root,
1626
+ flexrm_debugfs_conf_show);
16401627
16411628 /* Create debugfs stats entry */
1642
- mbox->stats = debugfs_create_devm_seqfile(mbox->dev,
1643
- "stats", mbox->root,
1644
- flexrm_debugfs_stats_show);
1645
- if (IS_ERR_OR_NULL(mbox->stats)) {
1646
- ret = PTR_ERR_OR_ZERO(mbox->stats);
1647
- goto fail_free_debugfs_root;
1648
- }
1629
+ debugfs_create_devm_seqfile(mbox->dev, "stats", mbox->root,
1630
+ flexrm_debugfs_stats_show);
1631
+
16491632 skip_debugfs:
16501633
16511634 /* Initialize mailbox controller */
....@@ -1665,7 +1648,7 @@
16651648 mbox->controller.chans[index].con_priv = &mbox->rings[index];
16661649
16671650 /* Register mailbox controller */
1668
- ret = mbox_controller_register(&mbox->controller);
1651
+ ret = devm_mbox_controller_register(dev, &mbox->controller);
16691652 if (ret)
16701653 goto fail_free_debugfs_root;
16711654
....@@ -1676,7 +1659,6 @@
16761659
16771660 fail_free_debugfs_root:
16781661 debugfs_remove_recursive(mbox->root);
1679
-fail_free_msis:
16801662 platform_msi_domain_free_irqs(dev);
16811663 fail_destroy_cmpl_pool:
16821664 dma_pool_destroy(mbox->cmpl_pool);
....@@ -1690,8 +1672,6 @@
16901672 {
16911673 struct device *dev = &pdev->dev;
16921674 struct flexrm_mbox *mbox = platform_get_drvdata(pdev);
1693
-
1694
- mbox_controller_unregister(&mbox->controller);
16951675
16961676 debugfs_remove_recursive(mbox->root);
16971677