| .. | .. |
|---|
| 296 | 296 | struct dma_pool *bd_pool; |
|---|
| 297 | 297 | struct dma_pool *cmpl_pool; |
|---|
| 298 | 298 | struct dentry *root; |
|---|
| 299 | | - struct dentry *config; |
|---|
| 300 | | - struct dentry *stats; |
|---|
| 301 | 299 | struct mbox_controller controller; |
|---|
| 302 | 300 | }; |
|---|
| 303 | 301 | |
|---|
| .. | .. |
|---|
| 375 | 373 | return hcnt; |
|---|
| 376 | 374 | } |
|---|
| 377 | 375 | |
|---|
| 378 | | -static void flexrm_flip_header_toogle(void *desc_ptr) |
|---|
| 376 | +static void flexrm_flip_header_toggle(void *desc_ptr) |
|---|
| 379 | 377 | { |
|---|
| 380 | 378 | u64 desc = flexrm_read_desc(desc_ptr); |
|---|
| 381 | 379 | |
|---|
| .. | .. |
|---|
| 634 | 632 | |
|---|
| 635 | 633 | rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src), |
|---|
| 636 | 634 | DMA_TO_DEVICE); |
|---|
| 637 | | - if (rc < 0) |
|---|
| 638 | | - return rc; |
|---|
| 635 | + if (!rc) |
|---|
| 636 | + return -EIO; |
|---|
| 639 | 637 | |
|---|
| 640 | 638 | rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), |
|---|
| 641 | 639 | DMA_FROM_DEVICE); |
|---|
| 642 | | - if (rc < 0) { |
|---|
| 640 | + if (!rc) { |
|---|
| 643 | 641 | dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), |
|---|
| 644 | 642 | DMA_TO_DEVICE); |
|---|
| 645 | | - return rc; |
|---|
| 643 | + return -EIO; |
|---|
| 646 | 644 | } |
|---|
| 647 | 645 | |
|---|
| 648 | 646 | return 0; |
|---|
| .. | .. |
|---|
| 709 | 707 | wmb(); |
|---|
| 710 | 708 | |
|---|
| 711 | 709 | /* Flip toggle bit in header */ |
|---|
| 712 | | - flexrm_flip_header_toogle(orig_desc_ptr); |
|---|
| 710 | + flexrm_flip_header_toggle(orig_desc_ptr); |
|---|
| 713 | 711 | |
|---|
| 714 | 712 | return desc_ptr; |
|---|
| 715 | 713 | } |
|---|
| .. | .. |
|---|
| 838 | 836 | wmb(); |
|---|
| 839 | 837 | |
|---|
| 840 | 838 | /* Flip toggle bit in header */ |
|---|
| 841 | | - flexrm_flip_header_toogle(orig_desc_ptr); |
|---|
| 839 | + flexrm_flip_header_toggle(orig_desc_ptr); |
|---|
| 842 | 840 | |
|---|
| 843 | 841 | return desc_ptr; |
|---|
| 844 | 842 | } |
|---|
| .. | .. |
|---|
| 1165 | 1163 | |
|---|
| 1166 | 1164 | static int flexrm_debugfs_conf_show(struct seq_file *file, void *offset) |
|---|
| 1167 | 1165 | { |
|---|
| 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); |
|---|
| 1170 | 1167 | |
|---|
| 1171 | 1168 | /* Write config in file */ |
|---|
| 1172 | 1169 | flexrm_write_config_in_seqfile(mbox, file); |
|---|
| .. | .. |
|---|
| 1176 | 1173 | |
|---|
| 1177 | 1174 | static int flexrm_debugfs_stats_show(struct seq_file *file, void *offset) |
|---|
| 1178 | 1175 | { |
|---|
| 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); |
|---|
| 1181 | 1177 | |
|---|
| 1182 | 1178 | /* Write stats in file */ |
|---|
| 1183 | 1179 | flexrm_write_stats_in_seqfile(mbox, file); |
|---|
| .. | .. |
|---|
| 1624 | 1620 | |
|---|
| 1625 | 1621 | /* Create debugfs root entry */ |
|---|
| 1626 | 1622 | 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 | | - } |
|---|
| 1631 | 1623 | |
|---|
| 1632 | 1624 | /* 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); |
|---|
| 1640 | 1627 | |
|---|
| 1641 | 1628 | /* 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 | + |
|---|
| 1649 | 1632 | skip_debugfs: |
|---|
| 1650 | 1633 | |
|---|
| 1651 | 1634 | /* Initialize mailbox controller */ |
|---|
| .. | .. |
|---|
| 1665 | 1648 | mbox->controller.chans[index].con_priv = &mbox->rings[index]; |
|---|
| 1666 | 1649 | |
|---|
| 1667 | 1650 | /* Register mailbox controller */ |
|---|
| 1668 | | - ret = mbox_controller_register(&mbox->controller); |
|---|
| 1651 | + ret = devm_mbox_controller_register(dev, &mbox->controller); |
|---|
| 1669 | 1652 | if (ret) |
|---|
| 1670 | 1653 | goto fail_free_debugfs_root; |
|---|
| 1671 | 1654 | |
|---|
| .. | .. |
|---|
| 1676 | 1659 | |
|---|
| 1677 | 1660 | fail_free_debugfs_root: |
|---|
| 1678 | 1661 | debugfs_remove_recursive(mbox->root); |
|---|
| 1679 | | -fail_free_msis: |
|---|
| 1680 | 1662 | platform_msi_domain_free_irqs(dev); |
|---|
| 1681 | 1663 | fail_destroy_cmpl_pool: |
|---|
| 1682 | 1664 | dma_pool_destroy(mbox->cmpl_pool); |
|---|
| .. | .. |
|---|
| 1690 | 1672 | { |
|---|
| 1691 | 1673 | struct device *dev = &pdev->dev; |
|---|
| 1692 | 1674 | struct flexrm_mbox *mbox = platform_get_drvdata(pdev); |
|---|
| 1693 | | - |
|---|
| 1694 | | - mbox_controller_unregister(&mbox->controller); |
|---|
| 1695 | 1675 | |
|---|
| 1696 | 1676 | debugfs_remove_recursive(mbox->root); |
|---|
| 1697 | 1677 | |
|---|