struct uart_amba_port *uap = (struct uart_amba_port *)port;
        int retval;
 
-       retval = clk_prepare(uap->clk);
-       if (retval)
-               goto out;
-
        /*
         * Try to enable the clock producer.
         */
-       retval = clk_enable(uap->clk);
+       retval = clk_prepare_enable(uap->clk);
        if (retval)
-               goto clk_unprep;
+               goto out;
 
        uap->port.uartclk = clk_get_rate(uap->clk);
 
        return 0;
 
  clk_dis:
-       clk_disable(uap->clk);
- clk_unprep:
-       clk_unprepare(uap->clk);
+       clk_disable_unprepare(uap->clk);
  out:
        return retval;
 }
        /*
         * Shut down the clock producer
         */
-       clk_disable(uap->clk);
-       clk_unprepare(uap->clk);
+       clk_disable_unprepare(uap->clk);
 }
 
 static void
 
                                "could not set default pins\n");
        }
 
-       retval = clk_prepare(uap->clk);
-       if (retval)
-               goto out;
-
        /*
         * Try to enable the clock producer.
         */
-       retval = clk_enable(uap->clk);
+       retval = clk_prepare_enable(uap->clk);
        if (retval)
-               goto clk_unprep;
+               goto out;
 
        uap->port.uartclk = clk_get_rate(uap->clk);
 
        return 0;
 
  clk_dis:
-       clk_disable(uap->clk);
- clk_unprep:
-       clk_unprepare(uap->clk);
+       clk_disable_unprepare(uap->clk);
  out:
        return retval;
 }
        /*
         * Shut down the clock producer
         */
-       clk_disable(uap->clk);
-       clk_unprepare(uap->clk);
+       clk_disable_unprepare(uap->clk);
        /* Optionally let pins go into sleep states */
        if (!IS_ERR(uap->pins_sleep)) {
                retval = pinctrl_select_state(uap->pinctrl, uap->pins_sleep);