All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 01/10] staging: atomisp: Don't leak GPIO resources if clk_get() failed
@ 2017-12-19 20:59 Andy Shevchenko
  2017-12-19 20:59 ` [PATCH v1 02/10] staging: atomisp: Remove duplicate NULL-check Andy Shevchenko
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-19 20:59 UTC (permalink / raw)
  To: Alan Cox, Sakari Ailus, linux-media, Greg Kroah-Hartman, devel,
	Kristian Beilke
  Cc: Andy Shevchenko

In case devm_clk_get() call fails the previously requested GPIOs are
left requested.

Fix this by moving GPIO request code after devm_clk_get() call.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 .../staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
index bf9f34b7ad72..a5d0dd88a8bc 100644
--- a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
+++ b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
@@ -322,8 +322,6 @@ static struct gmin_subdev *gmin_subdev_add(struct v4l2_subdev *subdev)
 							VLV2_CLK_PLL_19P2MHZ);
 	gmin_subdevs[i].csi_port = gmin_get_var_int(dev, "CsiPort", 0);
 	gmin_subdevs[i].csi_lanes = gmin_get_var_int(dev, "CsiLanes", 1);
-	gmin_subdevs[i].gpio0 = gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
-	gmin_subdevs[i].gpio1 = gpiod_get_index(dev, NULL, 1, GPIOD_OUT_LOW);
 
 	/* get PMC clock with clock framework */
 	snprintf(gmin_pmc_clk_name,
@@ -356,9 +354,11 @@ static struct gmin_subdev *gmin_subdev_add(struct v4l2_subdev *subdev)
 	if (!ret)
 		clk_disable_unprepare(gmin_subdevs[i].pmc_clk);
 
+	gmin_subdevs[i].gpio0 = gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
 	if (IS_ERR(gmin_subdevs[i].gpio0))
 		gmin_subdevs[i].gpio0 = NULL;
 
+	gmin_subdevs[i].gpio1 = gpiod_get_index(dev, NULL, 1, GPIOD_OUT_LOW);
 	if (IS_ERR(gmin_subdevs[i].gpio1))
 		gmin_subdevs[i].gpio1 = NULL;
 
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2018-01-02 10:36 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-19 20:59 [PATCH v1 01/10] staging: atomisp: Don't leak GPIO resources if clk_get() failed Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 02/10] staging: atomisp: Remove duplicate NULL-check Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 03/10] staging: atomisp: lm3554: Fix control values Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 04/10] staging: atomisp: Disable custom format for now Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 05/10] staging: atomisp: Remove non-ACPI leftovers Andy Shevchenko
2017-12-20  4:54   ` Dan Carpenter
2017-12-20 10:24     ` Andy Shevchenko
2017-12-21 22:34       ` Sakari Ailus
2017-12-20  5:38   ` Dan Carpenter
2017-12-20  5:38     ` Dan Carpenter
2017-12-20 10:30     ` Julia Lawall
2017-12-20 10:30       ` Julia Lawall
2018-01-02 10:26       ` Dan Carpenter
2018-01-02 10:26         ` Dan Carpenter
2018-01-02 10:36         ` Julia Lawall
2018-01-02 10:36           ` Julia Lawall
2017-12-20 12:27     ` walter harms
2017-12-20 12:36     ` Julia Lawall
2017-12-19 20:59 ` [PATCH v1 06/10] staging: atomisp: Switch to use struct device_driver directly Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 07/10] staging: atomisp: Remove redundant PCI code Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 08/10] staging: atomisp: Unexport local function Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 09/10] staging: atomisp: Use standard DMI match table Andy Shevchenko
2017-12-19 20:59 ` [PATCH v1 10/10] staging: atomisp: Fix DMI matching entry for MRD7 Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.