Browse Source

Merge tag 'gpmc-omap-for-v4.9' of https://github.com/rogerq/linux into next/drivers

Merge "OMAP-GPMC: driver updates for v4.9" from Roger Quadros:

* Fix potential build failure if CONFIG_OMAP_GPMC is disabled while
  OMAP_NAND driver is enabled
* Trivial fixes which fix build warnings and code check tool warnings
  (Coccinelle)
* Use devm_gpiochip_add_data()

* tag 'gpmc-omap-for-v4.9' of https://github.com/rogerq/linux:
  memory: omap-gpmc: make gpmc_clk_ticks_to_ns() static
  memory: omap-gpmc: Fix build with CONFIG_OMAP_GPMC disabled
  memory: omap-gpmc: use devm_gpiochip_add_data()
  memory: omap-gpmc: Delete an unnecessary check before the function call "gpiochip_free_own_desc"
Arnd Bergmann 9 years ago
parent
commit
2b97f10b38
2 changed files with 7 additions and 17 deletions
  1. 5 15
      drivers/memory/omap-gpmc.c
  2. 2 2
      include/linux/omap-gpmc.h

+ 5 - 15
drivers/memory/omap-gpmc.c

@@ -350,8 +350,8 @@ static unsigned int gpmc_ps_to_ticks(unsigned int time_ps)
 	return (time_ps + tick_ps - 1) / tick_ps;
 }
 
-unsigned int gpmc_clk_ticks_to_ns(unsigned ticks, int cs,
-				  enum gpmc_clk_domain cd)
+static unsigned int gpmc_clk_ticks_to_ns(unsigned int ticks, int cs,
+					 enum gpmc_clk_domain cd)
 {
 	return ticks * gpmc_get_clk_period(cs, cd) / 1000;
 }
@@ -2143,9 +2143,7 @@ err_child_fail:
 	ret = -ENODEV;
 
 err_cs:
-	if (waitpin_desc)
-		gpiochip_free_own_desc(waitpin_desc);
-
+	gpiochip_free_own_desc(waitpin_desc);
 err:
 	gpmc_cs_free(cs);
 
@@ -2266,7 +2264,7 @@ static int gpmc_gpio_init(struct gpmc_device *gpmc)
 	gpmc->gpio_chip.get = gpmc_gpio_get;
 	gpmc->gpio_chip.base = -1;
 
-	ret = gpiochip_add(&gpmc->gpio_chip);
+	ret = devm_gpiochip_add_data(gpmc->dev, &gpmc->gpio_chip, NULL);
 	if (ret < 0) {
 		dev_err(gpmc->dev, "could not register gpio chip: %d\n", ret);
 		return ret;
@@ -2275,11 +2273,6 @@ static int gpmc_gpio_init(struct gpmc_device *gpmc)
 	return 0;
 }
 
-static void gpmc_gpio_exit(struct gpmc_device *gpmc)
-{
-	gpiochip_remove(&gpmc->gpio_chip);
-}
-
 static int gpmc_probe(struct platform_device *pdev)
 {
 	int rc;
@@ -2366,7 +2359,7 @@ static int gpmc_probe(struct platform_device *pdev)
 	rc = gpmc_setup_irq(gpmc);
 	if (rc) {
 		dev_err(gpmc->dev, "gpmc_setup_irq failed\n");
-		goto setup_irq_failed;
+		goto gpio_init_failed;
 	}
 
 	rc = gpmc_probe_dt_children(pdev);
@@ -2379,8 +2372,6 @@ static int gpmc_probe(struct platform_device *pdev)
 
 dt_children_failed:
 	gpmc_free_irq(gpmc);
-setup_irq_failed:
-	gpmc_gpio_exit(gpmc);
 gpio_init_failed:
 	gpmc_mem_exit();
 	pm_runtime_put_sync(&pdev->dev);
@@ -2394,7 +2385,6 @@ static int gpmc_remove(struct platform_device *pdev)
 	struct gpmc_device *gpmc = platform_get_drvdata(pdev);
 
 	gpmc_free_irq(gpmc);
-	gpmc_gpio_exit(gpmc);
 	gpmc_mem_exit();
 	pm_runtime_put_sync(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);

+ 2 - 2
include/linux/omap-gpmc.h

@@ -29,8 +29,8 @@ struct gpmc_nand_regs;
 struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *regs,
 					     int cs);
 #else
-static inline gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *regs,
-						    int cs)
+static inline struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *regs,
+							   int cs)
 {
 	return NULL;
 }