.. | .. |
---|
472 | 472 | static void qcom_slim_prg_slew(struct platform_device *pdev, |
---|
473 | 473 | struct qcom_slim_ctrl *ctrl) |
---|
474 | 474 | { |
---|
475 | | - struct resource *slew_mem; |
---|
476 | | - |
---|
477 | 475 | if (!ctrl->slew_reg) { |
---|
478 | 476 | /* SLEW RATE register for this SLIMbus */ |
---|
479 | | - slew_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, |
---|
480 | | - "slew"); |
---|
481 | | - ctrl->slew_reg = devm_ioremap(&pdev->dev, slew_mem->start, |
---|
482 | | - resource_size(slew_mem)); |
---|
483 | | - if (!ctrl->slew_reg) |
---|
| 477 | + ctrl->slew_reg = devm_platform_ioremap_resource_byname(pdev, "slew"); |
---|
| 478 | + if (IS_ERR(ctrl->slew_reg)) |
---|
484 | 479 | return; |
---|
485 | 480 | } |
---|
486 | 481 | |
---|
.. | .. |
---|
515 | 510 | } |
---|
516 | 511 | |
---|
517 | 512 | ctrl->irq = platform_get_irq(pdev, 0); |
---|
518 | | - if (!ctrl->irq) { |
---|
| 513 | + if (ctrl->irq < 0) { |
---|
519 | 514 | dev_err(&pdev->dev, "no slimbus IRQ\n"); |
---|
520 | | - return -ENODEV; |
---|
| 515 | + return ctrl->irq; |
---|
521 | 516 | } |
---|
522 | 517 | |
---|
523 | 518 | sctrl = &ctrl->ctrl; |
---|
.. | .. |
---|
528 | 523 | |
---|
529 | 524 | slim_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ctrl"); |
---|
530 | 525 | ctrl->base = devm_ioremap_resource(ctrl->dev, slim_mem); |
---|
531 | | - if (IS_ERR(ctrl->base)) { |
---|
532 | | - dev_err(&pdev->dev, "IOremap failed\n"); |
---|
| 526 | + if (IS_ERR(ctrl->base)) |
---|
533 | 527 | return PTR_ERR(ctrl->base); |
---|
534 | | - } |
---|
535 | 528 | |
---|
536 | 529 | sctrl->set_laddr = qcom_set_laddr; |
---|
537 | 530 | sctrl->xfer_msg = qcom_xfer_msg; |
---|
.. | .. |
---|
643 | 636 | |
---|
644 | 637 | pm_runtime_disable(&pdev->dev); |
---|
645 | 638 | slim_unregister_controller(&ctrl->ctrl); |
---|
| 639 | + clk_disable_unprepare(ctrl->rclk); |
---|
| 640 | + clk_disable_unprepare(ctrl->hclk); |
---|
646 | 641 | destroy_workqueue(ctrl->rxwq); |
---|
647 | 642 | return 0; |
---|
648 | 643 | } |
---|
.. | .. |
---|
654 | 649 | #ifdef CONFIG_PM |
---|
655 | 650 | static int qcom_slim_runtime_suspend(struct device *device) |
---|
656 | 651 | { |
---|
657 | | - struct platform_device *pdev = to_platform_device(device); |
---|
658 | | - struct qcom_slim_ctrl *ctrl = platform_get_drvdata(pdev); |
---|
| 652 | + struct qcom_slim_ctrl *ctrl = dev_get_drvdata(device); |
---|
659 | 653 | int ret; |
---|
660 | 654 | |
---|
661 | 655 | dev_dbg(device, "pm_runtime: suspending...\n"); |
---|
.. | .. |
---|
672 | 666 | |
---|
673 | 667 | static int qcom_slim_runtime_resume(struct device *device) |
---|
674 | 668 | { |
---|
675 | | - struct platform_device *pdev = to_platform_device(device); |
---|
676 | | - struct qcom_slim_ctrl *ctrl = platform_get_drvdata(pdev); |
---|
| 669 | + struct qcom_slim_ctrl *ctrl = dev_get_drvdata(device); |
---|
677 | 670 | int ret = 0; |
---|
678 | 671 | |
---|
679 | 672 | dev_dbg(device, "pm_runtime: resuming...\n"); |
---|