| .. | .. |
|---|
| 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"); |
|---|