[PATCH v4 02/31] serial: mpc512x: cleanup clock API use
Anatolij Gustschin
agust at denx.de
Thu Aug 22 05:52:04 EST 2013
On Tue, 6 Aug 2013 22:43:42 +0200
Gerhard Sittig <gsi at denx.de> wrote:
> cleanup the clock API use of the UART driver which is shared among the
> MPC512x and the MPC5200 platforms
> - get, prepare, and enable the MCLK during port allocation; disable,
> unprepare and put the MCLK upon port release; hold a reference to the
> clock over the period of use; check for and propagate enable errors
> - fix a buffer overflow for clock names with two digit PSC index numbers
> - stick with the PPC_CLOCK 'psc%d_mclk' name for clock lookup, only
> switch to a fixed string later after device tree based clock lookup
> will have become available
>
> to achieve support for MPC512x which is neutral to MPC5200, the
> modification was done as follows
> - introduce "clock alloc" and "clock release" routines in addition to
> the previous "clock enable/disable" routine in the psc_ops struct
> - make the clock allocation a part of the port request (resource
> allocation), and make clock release a part of the port release, such
> that essential resources get allocated early
> - just enable/disable the clock from within the .clock() callback
> without any allocation or preparation as the former implementation
> did, since this routine is called from within the startup and shutdown
> callbacks
> - all of the above remains a NOP for the MPC5200 platform (no callbacks
> are provided on that platform)
> - implementation note: the clock gets enabled upon allocation already
> just in case the clock is not only required for bitrate generation but
> for register access as well
>
> Signed-off-by: Gerhard Sittig <gsi at denx.de>
> ---
> drivers/tty/serial/mpc52xx_uart.c | 98 ++++++++++++++++++++++++++++++-------
> 1 file changed, 81 insertions(+), 17 deletions(-)
applied, thanks!
Anatolij
More information about the Linuxppc-dev
mailing list