|
@@ -582,21 +582,6 @@ acquire_err:
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
-static void gpmi_put_clks(struct gpmi_nand_data *this)
|
|
|
-{
|
|
|
- struct resources *r = &this->resources;
|
|
|
- struct clk *clk;
|
|
|
- int i;
|
|
|
-
|
|
|
- for (i = 0; i < GPMI_CLK_MAX; i++) {
|
|
|
- clk = r->clock[i];
|
|
|
- if (clk) {
|
|
|
- clk_put(clk);
|
|
|
- r->clock[i] = NULL;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
static char *extra_clks_for_mx6q[GPMI_CLK_MAX] = {
|
|
|
"gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch",
|
|
|
};
|
|
@@ -609,7 +594,7 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
|
|
|
int err, i;
|
|
|
|
|
|
/* The main clock is stored in the first. */
|
|
|
- r->clock[0] = clk_get(this->dev, "gpmi_io");
|
|
|
+ r->clock[0] = devm_clk_get(this->dev, "gpmi_io");
|
|
|
if (IS_ERR(r->clock[0])) {
|
|
|
err = PTR_ERR(r->clock[0]);
|
|
|
goto err_clock;
|
|
@@ -625,7 +610,7 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
|
|
|
if (extra_clks[i - 1] == NULL)
|
|
|
break;
|
|
|
|
|
|
- clk = clk_get(this->dev, extra_clks[i - 1]);
|
|
|
+ clk = devm_clk_get(this->dev, extra_clks[i - 1]);
|
|
|
if (IS_ERR(clk)) {
|
|
|
err = PTR_ERR(clk);
|
|
|
goto err_clock;
|
|
@@ -647,7 +632,6 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
|
|
|
|
|
|
err_clock:
|
|
|
dev_dbg(this->dev, "failed in finding the clocks.\n");
|
|
|
- gpmi_put_clks(this);
|
|
|
return err;
|
|
|
}
|
|
|
|
|
@@ -687,7 +671,6 @@ exit_regs:
|
|
|
|
|
|
static void release_resources(struct gpmi_nand_data *this)
|
|
|
{
|
|
|
- gpmi_put_clks(this);
|
|
|
release_register_block(this);
|
|
|
release_bch_irq(this);
|
|
|
release_dma_channels(this);
|