Module Name: src Committed By: jmcneill Date: Mon Jul 2 20:24:55 UTC 2018
Modified Files: src/sys/arch/arm/samsung: exynos5410_clock.c exynos5422_clock.c Log Message: Fix a stupid bug in exynos*_clock_set_rate_div To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/samsung/exynos5410_clock.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/samsung/exynos5422_clock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/samsung/exynos5410_clock.c diff -u src/sys/arch/arm/samsung/exynos5410_clock.c:1.2 src/sys/arch/arm/samsung/exynos5410_clock.c:1.3 --- src/sys/arch/arm/samsung/exynos5410_clock.c:1.2 Tue Jun 20 17:43:51 2017 +++ src/sys/arch/arm/samsung/exynos5410_clock.c Mon Jul 2 20:24:55 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: exynos5410_clock.c,v 1.2 2017/06/20 17:43:51 skrll Exp $ */ +/* $NetBSD: exynos5410_clock.c,v 1.3 2018/07/02 20:24:55 jmcneill Exp $ */ /*- * Copyright (c) 2015-2017 Jared McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: exynos5410_clock.c,v 1.2 2017/06/20 17:43:51 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: exynos5410_clock.c,v 1.3 2018/07/02 20:24:55 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -669,7 +669,7 @@ exynos5410_clock_set_rate_div(struct exy clk_parent = exynos5410_clock_get_parent(sc, &eclk->base); const u_int parent_rate = exynos5410_clock_get_rate(sc, clk_parent); - for (tmp_div = 0; tmp_div < popcount32(ediv->bits); tmp_div++) { + for (tmp_div = 0; tmp_div < __SHIFTOUT_MASK(ediv->bits); tmp_div++) { tmp_rate = parent_rate / (tmp_div + 1); if (tmp_rate <= rate) { new_div = tmp_div; Index: src/sys/arch/arm/samsung/exynos5422_clock.c diff -u src/sys/arch/arm/samsung/exynos5422_clock.c:1.6 src/sys/arch/arm/samsung/exynos5422_clock.c:1.7 --- src/sys/arch/arm/samsung/exynos5422_clock.c:1.6 Mon Jun 19 21:59:55 2017 +++ src/sys/arch/arm/samsung/exynos5422_clock.c Mon Jul 2 20:24:55 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: exynos5422_clock.c,v 1.6 2017/06/19 21:59:55 jmcneill Exp $ */ +/* $NetBSD: exynos5422_clock.c,v 1.7 2018/07/02 20:24:55 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -29,7 +29,7 @@ #include "locators.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: exynos5422_clock.c,v 1.6 2017/06/19 21:59:55 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: exynos5422_clock.c,v 1.7 2018/07/02 20:24:55 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -747,7 +747,7 @@ exynos5422_clock_set_rate_div(struct exy clk_parent = exynos5422_clock_get_parent(sc, &eclk->base); const u_int parent_rate = exynos5422_clock_get_rate(sc, clk_parent); - for (tmp_div = 0; tmp_div < popcount32(ediv->bits); tmp_div++) { + for (tmp_div = 0; tmp_div < __SHIFTOUT_MASK(ediv->bits); tmp_div++) { tmp_rate = parent_rate / (tmp_div + 1); if (tmp_rate <= rate) { new_div = tmp_div;