[PATCH] i.MX clko: Checking for clko-line properly
Sascha Hauer
s.hauer at pengutronix.de
Mon Jun 25 08:21:48 EDT 2012
On Mon, Jun 25, 2012 at 12:54:58PM +0400, Alexander Shiyan wrote:
> This patch adds a check for the correct number of CLKO-line.
Squashed into the original commit causing the failure
Thanks
Sascha
>
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
> ---
> arch/arm/mach-imx/clko.c | 6 ++++--
> arch/arm/mach-imx/speed-imx21.c | 3 ++-
> arch/arm/mach-imx/speed-imx25.c | 3 ++-
> arch/arm/mach-imx/speed-imx27.c | 3 ++-
> arch/arm/mach-imx/speed-imx35.c | 3 ++-
> arch/arm/mach-imx/speed-imx51.c | 3 ++-
> 6 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/mach-imx/clko.c b/arch/arm/mach-imx/clko.c
> index 4c5df71..aeafaa9 100644
> --- a/arch/arm/mach-imx/clko.c
> +++ b/arch/arm/mach-imx/clko.c
> @@ -35,8 +35,10 @@ static int do_clko(int argc, char *argv[])
>
> if (div != 0) {
> ret = imx_clko_set_div(num, div);
> - if (ret != div)
> - printf("limited divider to %d\n", ret);
> + if (ret < 0)
> + printf("CLKO-line %i not supported.\n", num);
> + else if (ret != div)
> + printf("Divider limited to %d.\n", ret);
> }
>
> return 0;
> diff --git a/arch/arm/mach-imx/speed-imx21.c b/arch/arm/mach-imx/speed-imx21.c
> index 6b44efa..4729583 100644
> --- a/arch/arm/mach-imx/speed-imx21.c
> +++ b/arch/arm/mach-imx/speed-imx21.c
> @@ -16,6 +16,7 @@
> */
>
> #include <common.h>
> +#include <asm-generic/errno.h>
> #include <mach/imx-regs.h>
> #include <mach/generic.h>
> #include <mach/clock.h>
> @@ -167,7 +168,7 @@ int imx_clko_set_div(int num, int div)
> ulong pcdr;
>
> if (num != 1)
> - return;
> + return -ENODEV;
>
> div--;
> div &= 0x7;
> diff --git a/arch/arm/mach-imx/speed-imx25.c b/arch/arm/mach-imx/speed-imx25.c
> index b5c9822..ed14113 100644
> --- a/arch/arm/mach-imx/speed-imx25.c
> +++ b/arch/arm/mach-imx/speed-imx25.c
> @@ -1,4 +1,5 @@
> #include <common.h>
> +#include <asm-generic/errno.h>
> #include <mach/imx-regs.h>
> #include <io.h>
> #include <mach/clock.h>
> @@ -116,7 +117,7 @@ int imx_clko_set_div(int num, int div)
> unsigned long mcr = readl(IMX_CCM_BASE + 0x64);
>
> if (num != 1)
> - return;
> + return -ENODEV;
>
> div -= 1;
> div &= 0x3f;
> diff --git a/arch/arm/mach-imx/speed-imx27.c b/arch/arm/mach-imx/speed-imx27.c
> index 6c66344..644fd04 100644
> --- a/arch/arm/mach-imx/speed-imx27.c
> +++ b/arch/arm/mach-imx/speed-imx27.c
> @@ -16,6 +16,7 @@
> */
>
> #include <common.h>
> +#include <asm-generic/errno.h>
> #include <mach/imx-regs.h>
> #include <mach/generic.h>
> #include <mach/clock.h>
> @@ -194,7 +195,7 @@ int imx_clko_set_div(int num, int div)
> ulong pcdr;
>
> if (num != 1)
> - return;
> + return -ENODEV;
>
> div--;
> div &= 0x7;
> diff --git a/arch/arm/mach-imx/speed-imx35.c b/arch/arm/mach-imx/speed-imx35.c
> index 28cd1b1..2b707aa 100644
> --- a/arch/arm/mach-imx/speed-imx35.c
> +++ b/arch/arm/mach-imx/speed-imx35.c
> @@ -16,6 +16,7 @@
> */
>
> #include <common.h>
> +#include <asm-generic/errno.h>
> #include <mach/imx-regs.h>
> #include <io.h>
> #include <mach/clock.h>
> @@ -208,7 +209,7 @@ int imx_clko_set_div(int num, int div)
> unsigned long cosr = readl(IMX_CCM_BASE + CCM_COSR);
>
> if (num != 1)
> - return;
> + return -ENODEV;
>
> div -= 1;
> div &= 0x3f;
> diff --git a/arch/arm/mach-imx/speed-imx51.c b/arch/arm/mach-imx/speed-imx51.c
> index f716346..63d4932 100644
> --- a/arch/arm/mach-imx/speed-imx51.c
> +++ b/arch/arm/mach-imx/speed-imx51.c
> @@ -1,6 +1,7 @@
> #include <common.h>
> #include <io.h>
> #include <asm-generic/div64.h>
> +#include <asm-generic/errno.h>
> #include <mach/imx51-regs.h>
> #include <mach/clock-imx51_53.h>
>
> @@ -251,7 +252,7 @@ int imx_clko_set_div(int num, int div)
> ccm_writel(ccosr, MX5_CCM_CCOSR);
> break;
> default:
> - break;
> + return -ENODEV;
> }
>
> return div + 1;
> --
> 1.7.3.4
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list