[PATCH 4/6] staging: media: atomisp: fix build when PM is disabled
Jérémy Lefaure
jeremy.lefaure at lse.epita.fr
Wed Mar 15 18:09:19 UTC 2017
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.lefaure at 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
More information about the devel
mailing list