Module Name:    src
Committed By:   aymeric
Date:           Sun Sep  9 07:21:18 UTC 2018

Modified Files:
        src/sys/arch/arm/broadcom: bcm2835_aux.c bcm2835_cprman.c
        src/sys/arch/arm/nvidia: tegra124_car.c tegra210_car.c
        src/sys/arch/arm/rockchip: rk_cru.c rk_usb.c
        src/sys/arch/arm/samsung: exynos5410_clock.c exynos5422_clock.c
        src/sys/arch/arm/sunxi: sunxi_ccu.c sunxi_gates.c sunxi_gmacclk.c
        src/sys/dev/fdt: fdt_clock.c fdtvar.h fixedclock.c fixedfactorclock.c

Log Message:
Pass clock provider's phandle to fdtbus_clock_controller_func.decode()
and update callers.

This allows to accomodate clock managers whose clocks are identified
directly by a clock instead of a pair (clock provider, index).

ok jmcneill@ on port-arm


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/broadcom/bcm2835_aux.c \
    src/sys/arch/arm/broadcom/bcm2835_cprman.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/nvidia/tegra124_car.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/rockchip/rk_cru.c \
    src/sys/arch/arm/rockchip/rk_usb.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/samsung/exynos5410_clock.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/samsung/exynos5422_clock.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/sunxi/sunxi_ccu.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/sunxi/sunxi_gates.c \
    src/sys/arch/arm/sunxi/sunxi_gmacclk.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/fdt/fdt_clock.c
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/fdt/fdtvar.h
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/fdt/fixedclock.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/fdt/fixedfactorclock.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/broadcom/bcm2835_aux.c
diff -u src/sys/arch/arm/broadcom/bcm2835_aux.c:1.1 src/sys/arch/arm/broadcom/bcm2835_aux.c:1.2
--- src/sys/arch/arm/broadcom/bcm2835_aux.c:1.1	Sun Dec 10 21:38:26 2017
+++ src/sys/arch/arm/broadcom/bcm2835_aux.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm2835_aux.c,v 1.1 2017/12/10 21:38:26 skrll Exp $ */
+/* $NetBSD: bcm2835_aux.c,v 1.2 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_aux.c,v 1.1 2017/12/10 21:38:26 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_aux.c,v 1.2 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -52,7 +52,7 @@ __KERNEL_RCSID(0, "$NetBSD: bcm2835_aux.
 static int	bcmaux_match(device_t, cfdata_t, void *);
 static void	bcmaux_attach(device_t, device_t, void *);
 
-static struct clk *bcmaux_decode(device_t, const void *, size_t);
+static struct clk *bcmaux_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func bcmaux_fdt_funcs = {
 	.decode = bcmaux_decode
@@ -154,7 +154,7 @@ bcmaux_attach(device_t parent, device_t 
 }
 
 static struct clk *
-bcmaux_decode(device_t dev, const void *data, size_t len)
+bcmaux_decode(device_t dev, int cc_phandle, const void *data, size_t len)
 {
 	struct bcmaux_softc * const sc = device_private(dev);
 	u_int clkid;
Index: src/sys/arch/arm/broadcom/bcm2835_cprman.c
diff -u src/sys/arch/arm/broadcom/bcm2835_cprman.c:1.1 src/sys/arch/arm/broadcom/bcm2835_cprman.c:1.2
--- src/sys/arch/arm/broadcom/bcm2835_cprman.c:1.1	Sun Dec 10 21:38:26 2017
+++ src/sys/arch/arm/broadcom/bcm2835_cprman.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm2835_cprman.c,v 1.1 2017/12/10 21:38:26 skrll Exp $ */
+/* $NetBSD: bcm2835_cprman.c,v 1.2 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_cprman.c,v 1.1 2017/12/10 21:38:26 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_cprman.c,v 1.2 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -74,7 +74,7 @@ struct cprman_softc {
 
 
 static struct clk *
-cprman_decode(device_t dev, const void *data, size_t len)
+cprman_decode(device_t dev, int cc_phandle, const void *data, size_t len)
 {
 	struct cprman_softc * const sc = device_private(dev);
 	struct cprman_clk *clk;

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.14 src/sys/arch/arm/nvidia/tegra124_car.c:1.15
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.14	Fri Jul 21 01:01:22 2017
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.14 2017/07/21 01:01:22 jmcneill Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.15 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.14 2017/07/21 01:01:22 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.15 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -53,7 +53,8 @@ __KERNEL_RCSID(0, "$NetBSD: tegra124_car
 static int	tegra124_car_match(device_t, cfdata_t, void *);
 static void	tegra124_car_attach(device_t, device_t, void *);
 
-static struct clk *tegra124_car_clock_decode(device_t, const void *, size_t);
+static struct clk *tegra124_car_clock_decode(device_t, int, const void *,
+					     size_t);
 
 static const struct fdtbus_clock_controller_func tegra124_car_fdtclock_funcs = {
 	.decode = tegra124_car_clock_decode
@@ -959,7 +960,8 @@ tegra124_car_clock_find_by_id(u_int cloc
 }
 
 static struct clk *
-tegra124_car_clock_decode(device_t dev, const void *data, size_t len)
+tegra124_car_clock_decode(device_t dev, int cc_phandle, const void *data,
+			  size_t len)
 {
 	struct tegra124_car_softc * const sc = device_private(dev);
 	struct tegra_clk *tclk;

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.18 src/sys/arch/arm/nvidia/tegra210_car.c:1.19
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.18	Mon Jul 16 23:11:47 2018
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.18 2018/07/16 23:11:47 christos Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.19 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.18 2018/07/16 23:11:47 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.19 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -53,7 +53,8 @@ __KERNEL_RCSID(0, "$NetBSD: tegra210_car
 static int	tegra210_car_match(device_t, cfdata_t, void *);
 static void	tegra210_car_attach(device_t, device_t, void *);
 
-static struct clk *tegra210_car_clock_decode(device_t, const void *, size_t);
+static struct clk *tegra210_car_clock_decode(device_t, int, const void *,
+					     size_t);
 
 static const struct fdtbus_clock_controller_func tegra210_car_fdtclock_funcs = {
 	.decode = tegra210_car_clock_decode
@@ -1069,7 +1070,8 @@ tegra210_car_clock_find_by_id(u_int cloc
 }
 
 static struct clk *
-tegra210_car_clock_decode(device_t dev, const void *data, size_t len)
+tegra210_car_clock_decode(device_t dev, int cc_phandle, const void *data,
+			  size_t len)
 {
 	struct tegra210_car_softc * const sc = device_private(dev);
 	struct tegra_clk *tclk;

Index: src/sys/arch/arm/rockchip/rk_cru.c
diff -u src/sys/arch/arm/rockchip/rk_cru.c:1.6 src/sys/arch/arm/rockchip/rk_cru.c:1.7
--- src/sys/arch/arm/rockchip/rk_cru.c:1.6	Sun Aug 12 19:48:36 2018
+++ src/sys/arch/arm/rockchip/rk_cru.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: rk_cru.c,v 1.6 2018/08/12 19:48:36 jmcneill Exp $ */
+/* $NetBSD: rk_cru.c,v 1.7 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -30,7 +30,7 @@
 #include "opt_fdt_arm.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rk_cru.c,v 1.6 2018/08/12 19:48:36 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rk_cru.c,v 1.7 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -91,7 +91,7 @@ static const struct fdtbus_reset_control
 };
 
 static struct clk *
-rk_cru_clock_decode(device_t dev, const void *data, size_t len)
+rk_cru_clock_decode(device_t dev, int cc_phandle, const void *data, size_t len)
 {
 	struct rk_cru_softc * const sc = device_private(dev);
 	struct rk_cru_clk *clk;
Index: src/sys/arch/arm/rockchip/rk_usb.c
diff -u src/sys/arch/arm/rockchip/rk_usb.c:1.6 src/sys/arch/arm/rockchip/rk_usb.c:1.7
--- src/sys/arch/arm/rockchip/rk_usb.c:1.6	Sun Aug 12 18:00:32 2018
+++ src/sys/arch/arm/rockchip/rk_usb.c	Sun Sep  9 07:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: rk_usb.c,v 1.6 2018/08/12 18:00:32 jmcneill Exp $ */
+/* $NetBSD: rk_usb.c,v 1.7 2018/09/09 07:21:17 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: rk_usb.c,v 1.6 2018/08/12 18:00:32 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rk_usb.c,v 1.7 2018/09/09 07:21:17 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -183,7 +183,7 @@ static const struct clk_funcs rk_usb_clk
 };
 
 static struct clk *
-rk_usb_fdt_decode(device_t dev, const void *data, size_t len)
+rk_usb_fdt_decode(device_t dev, int cc_phandle, const void *data, size_t len)
 {
 	struct rk_usb_softc * const sc = device_private(dev);
 

Index: src/sys/arch/arm/samsung/exynos5410_clock.c
diff -u src/sys/arch/arm/samsung/exynos5410_clock.c:1.3 src/sys/arch/arm/samsung/exynos5410_clock.c:1.4
--- src/sys/arch/arm/samsung/exynos5410_clock.c:1.3	Mon Jul  2 20:24:55 2018
+++ src/sys/arch/arm/samsung/exynos5410_clock.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos5410_clock.c,v 1.3 2018/07/02 20:24:55 jmcneill Exp $ */
+/* $NetBSD: exynos5410_clock.c,v 1.4 2018/09/09 07:21:18 aymeric 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.3 2018/07/02 20:24:55 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exynos5410_clock.c,v 1.4 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -45,7 +45,7 @@ __KERNEL_RCSID(0, "$NetBSD: exynos5410_c
 
 #include <dev/fdt/fdtvar.h>
 
-static struct clk *exynos5410_clock_decode(device_t, const void *, size_t);
+static struct clk *exynos5410_clock_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func exynos5410_car_fdtclock_funcs = {
 	.decode = exynos5410_clock_decode
@@ -549,7 +549,8 @@ exynos5410_clock_print(struct exynos5410
 }
 
 static struct clk *
-exynos5410_clock_decode(device_t dev, const void *data, size_t len)
+exynos5410_clock_decode(device_t dev, int cc_phandle, const void *data,
+			size_t len)
 {
 	struct exynos_clk *eclk;
 

Index: src/sys/arch/arm/samsung/exynos5422_clock.c
diff -u src/sys/arch/arm/samsung/exynos5422_clock.c:1.12 src/sys/arch/arm/samsung/exynos5422_clock.c:1.13
--- src/sys/arch/arm/samsung/exynos5422_clock.c:1.12	Thu Jul  5 13:11:58 2018
+++ src/sys/arch/arm/samsung/exynos5422_clock.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos5422_clock.c,v 1.12 2018/07/05 13:11:58 jmcneill Exp $ */
+/* $NetBSD: exynos5422_clock.c,v 1.13 2018/09/09 07:21:18 aymeric 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.12 2018/07/05 13:11:58 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exynos5422_clock.c,v 1.13 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -47,7 +47,7 @@ __KERNEL_RCSID(0, "$NetBSD: exynos5422_c
 
 #include <dev/fdt/fdtvar.h>
 
-static struct clk *exynos5422_clock_decode(device_t, const void *, size_t);
+static struct clk *exynos5422_clock_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func exynos5422_car_fdtclock_funcs = {
 	.decode = exynos5422_clock_decode
@@ -726,7 +726,8 @@ exynos5422_clock_print(struct exynos5422
 }
 
 static struct clk *
-exynos5422_clock_decode(device_t dev, const void *data, size_t len)
+exynos5422_clock_decode(device_t dev, int cc_phandle, const void *data,
+			size_t len)
 {
 	struct exynos_clk *eclk;
 

Index: src/sys/arch/arm/sunxi/sunxi_ccu.c
diff -u src/sys/arch/arm/sunxi/sunxi_ccu.c:1.10 src/sys/arch/arm/sunxi/sunxi_ccu.c:1.11
--- src/sys/arch/arm/sunxi/sunxi_ccu.c:1.10	Sat Apr 28 15:21:24 2018
+++ src/sys/arch/arm/sunxi/sunxi_ccu.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_ccu.c,v 1.10 2018/04/28 15:21:24 jmcneill Exp $ */
+/* $NetBSD: sunxi_ccu.c,v 1.11 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -31,7 +31,7 @@
 #include "opt_fdt_arm.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_ccu.c,v 1.10 2018/04/28 15:21:24 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_ccu.c,v 1.11 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -102,7 +102,8 @@ static const struct fdtbus_reset_control
 };
 
 static struct clk *
-sunxi_ccu_clock_decode(device_t dev, const void *data, size_t len)
+sunxi_ccu_clock_decode(device_t dev, int cc_phandle, const void *data,
+		       size_t len)
 {
 	struct sunxi_ccu_softc * const sc = device_private(dev);
 	struct sunxi_ccu_clk *clk;

Index: src/sys/arch/arm/sunxi/sunxi_gates.c
diff -u src/sys/arch/arm/sunxi/sunxi_gates.c:1.1 src/sys/arch/arm/sunxi/sunxi_gates.c:1.2
--- src/sys/arch/arm/sunxi/sunxi_gates.c:1.1	Sat Jul  8 11:12:24 2017
+++ src/sys/arch/arm/sunxi/sunxi_gates.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_gates.c,v 1.1 2017/07/08 11:12:24 jmcneill Exp $ */
+/* $NetBSD: sunxi_gates.c,v 1.2 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_gates.c,v 1.1 2017/07/08 11:12:24 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_gates.c,v 1.2 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -70,7 +70,8 @@ struct sunxi_gates_softc {
 	bus_space_write_4((sc)->sc_bst, (sc)->sc_bsh, (reg), (val))
 
 static struct clk *
-sunxi_gates_clock_decode(device_t dev, const void *data, size_t len)
+sunxi_gates_clock_decode(device_t dev, int cc_phandle, const void *data,
+			 size_t len)
 {
 	struct sunxi_gates_softc * const sc = device_private(dev);
 	struct sunxi_gate *gate;
Index: src/sys/arch/arm/sunxi/sunxi_gmacclk.c
diff -u src/sys/arch/arm/sunxi/sunxi_gmacclk.c:1.1 src/sys/arch/arm/sunxi/sunxi_gmacclk.c:1.2
--- src/sys/arch/arm/sunxi/sunxi_gmacclk.c:1.1	Sat Oct  7 13:28:59 2017
+++ src/sys/arch/arm/sunxi/sunxi_gmacclk.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_gmacclk.c,v 1.1 2017/10/07 13:28:59 jmcneill Exp $ */
+/* $NetBSD: sunxi_gmacclk.c,v 1.2 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_gmacclk.c,v 1.1 2017/10/07 13:28:59 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_gmacclk.c,v 1.2 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -50,7 +50,7 @@ __KERNEL_RCSID(0, "$NetBSD: sunxi_gmaccl
 static int	sunxi_gmacclk_match(device_t, cfdata_t, void *);
 static void	sunxi_gmacclk_attach(device_t, device_t, void *);
 
-static struct clk *sunxi_gmacclk_decode(device_t, const void *, size_t);
+static struct clk *sunxi_gmacclk_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func sunxi_gmacclk_fdt_funcs = {
 	.decode = sunxi_gmacclk_decode
@@ -139,7 +139,8 @@ sunxi_gmacclk_attach(device_t parent, de
 }
 
 static struct clk *
-sunxi_gmacclk_decode(device_t dev, const void *data, size_t len)
+sunxi_gmacclk_decode(device_t dev, int cc_phandle, const void *data,
+		     size_t len)
 {
 	struct sunxi_gmacclk_softc * const sc = device_private(dev);
 

Index: src/sys/dev/fdt/fdt_clock.c
diff -u src/sys/dev/fdt/fdt_clock.c:1.5 src/sys/dev/fdt/fdt_clock.c:1.6
--- src/sys/dev/fdt/fdt_clock.c:1.5	Sat Jun 30 20:34:43 2018
+++ src/sys/dev/fdt/fdt_clock.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: fdt_clock.c,v 1.5 2018/06/30 20:34:43 jmcneill Exp $ */
+/* $NetBSD: fdt_clock.c,v 1.6 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdt_clock.c,v 1.5 2018/06/30 20:34:43 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdt_clock.c,v 1.6 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -103,7 +103,7 @@ fdtbus_clock_get_index_prop(int phandle,
 			cc = fdtbus_get_clock_controller(cc_phandle);
 			if (cc == NULL)
 				break;
-			clk = cc->cc_funcs->decode(cc->cc_dev,
+			clk = cc->cc_funcs->decode(cc->cc_dev, cc_phandle,
 			    clock_cells > 0 ? &p[1] : NULL, clock_cells * 4);
 			break;
 		}
@@ -195,6 +195,7 @@ fdtbus_clock_byname(const char *clkname)
 					break;
 				const u_int index_raw = htobe32(index);
 				return cc->cc_funcs->decode(cc->cc_dev,
+				    cc->cc_phandle,
 				    clock_cells > 0 ? &index_raw : NULL,
 				    clock_cells > 0 ? 4 : 0);
 			}

Index: src/sys/dev/fdt/fdtvar.h
diff -u src/sys/dev/fdt/fdtvar.h:1.39 src/sys/dev/fdt/fdtvar.h:1.40
--- src/sys/dev/fdt/fdtvar.h:1.39	Thu Sep  6 22:54:05 2018
+++ src/sys/dev/fdt/fdtvar.h	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: fdtvar.h,v 1.39 2018/09/06 22:54:05 jmcneill Exp $ */
+/* $NetBSD: fdtvar.h,v 1.40 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -111,7 +111,7 @@ struct fdtbus_regulator_controller_func 
 };
 
 struct fdtbus_clock_controller_func {
-	struct clk *	(*decode)(device_t, const void *, size_t);
+	struct clk *	(*decode)(device_t, int, const void *, size_t);
 };
 
 struct fdtbus_reset_controller;

Index: src/sys/dev/fdt/fixedclock.c
diff -u src/sys/dev/fdt/fixedclock.c:1.4 src/sys/dev/fdt/fixedclock.c:1.5
--- src/sys/dev/fdt/fixedclock.c:1.4	Sat Jun 16 00:13:06 2018
+++ src/sys/dev/fdt/fixedclock.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: fixedclock.c,v 1.4 2018/06/16 00:13:06 jmcneill Exp $ */
+/* $NetBSD: fixedclock.c,v 1.5 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fixedclock.c,v 1.4 2018/06/16 00:13:06 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fixedclock.c,v 1.5 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -42,7 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: fixedclock.c
 static int	fixedclock_match(device_t, cfdata_t, void *);
 static void	fixedclock_attach(device_t, device_t, void *);
 
-static struct clk *fixedclock_decode(device_t, const void *, size_t);
+static struct clk *fixedclock_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func fixedclock_fdt_funcs = {
 	.decode = fixedclock_decode
@@ -116,7 +116,7 @@ fixedclock_attach(device_t parent, devic
 }
 
 static struct clk *
-fixedclock_decode(device_t dev, const void *data, size_t len)
+fixedclock_decode(device_t dev, int cc_phandle, const void *data, size_t len)
 {
 	struct fixedclock_softc * const sc = device_private(dev);
 

Index: src/sys/dev/fdt/fixedfactorclock.c
diff -u src/sys/dev/fdt/fixedfactorclock.c:1.2 src/sys/dev/fdt/fixedfactorclock.c:1.3
--- src/sys/dev/fdt/fixedfactorclock.c:1.2	Sat Apr 28 15:21:05 2018
+++ src/sys/dev/fdt/fixedfactorclock.c	Sun Sep  9 07:21:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: fixedfactorclock.c,v 1.2 2018/04/28 15:21:05 jmcneill Exp $ */
+/* $NetBSD: fixedfactorclock.c,v 1.3 2018/09/09 07:21:18 aymeric Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fixedfactorclock.c,v 1.2 2018/04/28 15:21:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fixedfactorclock.c,v 1.3 2018/09/09 07:21:18 aymeric Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -42,7 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: fixedfactorc
 static int	fixedfactorclock_match(device_t, cfdata_t, void *);
 static void	fixedfactorclock_attach(device_t, device_t, void *);
 
-static struct clk *fixedfactorclock_decode(device_t, const void *, size_t);
+static struct clk *fixedfactorclock_decode(device_t, int, const void *, size_t);
 
 static const struct fdtbus_clock_controller_func fixedfactorclock_fdt_funcs = {
 	.decode = fixedfactorclock_decode
@@ -124,7 +124,8 @@ fixedfactorclock_attach(device_t parent,
 }
 
 static struct clk *
-fixedfactorclock_decode(device_t dev, const void *data, size_t len)
+fixedfactorclock_decode(device_t dev, int cc_phandle, const void *data,
+			size_t len)
 {
 	struct fixedfactorclock_softc * const sc = device_private(dev);
 

Reply via email to