Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47a48a92 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Scott Wood
Browse files

powerpc/fsl_soc: improve and simplify get_brgfreq



Use of_property_read_u32 instead of the generic of_get_property to
simplify the code. In addition move the declaration of brgfreq
into get_brgfreq because it's private to this function.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
[scottwood: minor whitespace fixes]
Signed-off-by: default avatarScott Wood <oss@buserror.net>
parent 5bda6c0e
Loading
Loading
Loading
Loading
+7 −17
Original line number Diff line number Diff line
@@ -100,23 +100,17 @@ EXPORT_SYMBOL(fsl_get_sys_freq);

#if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx)

static u32 brgfreq = -1;

u32 get_brgfreq(void)
{
	static u32 brgfreq = -1;
	struct device_node *node;
	const unsigned int *prop;
	int size;

	if (brgfreq != -1)
		return brgfreq;

	node = of_find_compatible_node(NULL, NULL, "fsl,cpm-brg");
	if (node) {
		prop = of_get_property(node, "clock-frequency", &size);
		if (prop && size == 4)
			brgfreq = *prop;

		of_property_read_u32(node, "clock-frequency", &brgfreq);
		of_node_put(node);
		return brgfreq;
	}
@@ -129,15 +123,11 @@ u32 get_brgfreq(void)
		node = of_find_node_by_type(NULL, "qe");

	if (node) {
		prop = of_get_property(node, "brg-frequency", &size);
		if (prop && size == 4)
			brgfreq = *prop;

		if (brgfreq == -1 || brgfreq == 0) {
			prop = of_get_property(node, "bus-frequency", &size);
			if (prop && size == 4)
				brgfreq = *prop / 2;
		}
		of_property_read_u32(node, "brg-frequency", &brgfreq);
		if (brgfreq == -1 || !brgfreq)
			if (!of_property_read_u32(node, "bus-frequency",
						  &brgfreq))
				brgfreq /= 2;
		of_node_put(node);
	}