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 <[email protected]>
@@ -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 <[email protected]>
@@ -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;