The function atomisp_restore_iumit_reg is unused when PM is disabled.
Adding __maybe_unused to the function definition avoids a warning.

During a reset (atomisp_reset), PM functions atomisp_runtime_suspend,
atomisp_mrfld_power_down, atomisp_mrfld_power_up and
atomisp_runtime_resume should be called only if PM is enabled.

Same thing apply in atomisp_pci_probe: atomis_mrfld_power_down should be
called only if PM is enabled.

Signed-off-by: Jérémy Lefaure <jeremy.lefa...@lse.epita.fr>
---
 .../media/atomisp/pci/atomisp2/atomisp_cmd.c       | 30 +++++++++++++---------
 .../media/atomisp/pci/atomisp2/atomisp_v4l2.c      |  4 +--
 2 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c 
b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
index 1ee99d0..38e4bb3 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
@@ -358,20 +358,26 @@ int atomisp_reset(struct atomisp_device *isp)
 
        dev_dbg(isp->dev, "%s\n", __func__);
        atomisp_css_suspend(isp);
-       ret = atomisp_runtime_suspend(isp->dev);
-       if (ret < 0)
-               dev_err(isp->dev, "atomisp_runtime_suspend failed, %d\n", ret);
-       ret = atomisp_mrfld_power_down(isp);
-       if (ret < 0) {
-               dev_err(isp->dev, "can not disable ISP power\n");
-       } else {
-               ret = atomisp_mrfld_power_up(isp);
-               if (ret < 0)
-                       dev_err(isp->dev, "can not enable ISP power\n");
-               ret = atomisp_runtime_resume(isp->dev);
+
+       if (IS_ENABLED(CONFI_PM)) {
+               ret = atomisp_runtime_suspend(isp->dev);
                if (ret < 0)
-                       dev_err(isp->dev, "atomisp_runtime_resume failed, 
%d\n", ret);
+                       dev_err(isp->dev, "atomisp_runtime_suspend failed, 
%d\n",
+                               ret);
+               ret = atomisp_mrfld_power_down(isp);
+               if (ret < 0) {
+                       dev_err(isp->dev, "can not disable ISP power\n");
+               } else {
+                       ret = atomisp_mrfld_power_up(isp);
+                       if (ret < 0)
+                               dev_err(isp->dev, "can not enable ISP power\n");
+                       ret = atomisp_runtime_resume(isp->dev);
+                       if (ret < 0)
+                               dev_err(isp->dev, "atomisp_runtime_resume 
failed, %d\n",
+                                       ret);
+               }
        }
+
        ret = atomisp_css_resume(isp);
        if (ret)
                isp->isp_fatal_error = true;
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c 
b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c
index 755c27c..cd56840 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c
@@ -264,7 +264,7 @@ static int atomisp_save_iunit_reg(struct atomisp_device 
*isp)
        return 0;
 }
 
-static int atomisp_restore_iunit_reg(struct atomisp_device *isp)
+static int __maybe_unused atomisp_restore_iunit_reg(struct atomisp_device *isp)
 {
        struct pci_dev *dev = isp->pdev;
 
@@ -1526,7 +1526,7 @@ static int atomisp_pci_probe(struct pci_dev *dev,
        atomisp_ospm_dphy_down(isp);
 
        /* Address later when we worry about the ...field chips */
-       if (atomisp_mrfld_power_down(isp))
+       if (IS_ENABLED(CONFIG_PM) && atomisp_mrfld_power_down(isp))
                dev_err(&dev->dev, "Failed to switch off ISP\n");
        pci_dev_put(isp->pci_root);
        return err;
-- 
2.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to