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

Commit ba52464a authored by Grant Likely's avatar Grant Likely
Browse files

of: Stop naming platform_device using dcr address



There is now a way to ensure all platform devices get a unique name when
populated from the device tree, and the DCR_NATIVE code path is broken
anyway. PowerPC Cell (PS3) is the only platform that actually uses this
path.  Most likely nobody will notice if it is killed. Remove the code
and associated ugly #ifdef.

The user-visible impact of this patch is that any DCR device on Cell
will get a new name in the /sys/devices hierarchy.

Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
parent 07e461cd
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -51,10 +51,6 @@ static inline void dcr_write_mmio(dcr_host_mmio_t host,
	out_be32(host.token + ((host.base + dcr_n) * host.stride), value);
	out_be32(host.token + ((host.base + dcr_n) * host.stride), value);
}
}


extern u64 of_translate_dcr_address(struct device_node *dev,
				    unsigned int dcr_n,
				    unsigned int *stride);

#endif /* __KERNEL__ */
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_DCR_MMIO_H */
#endif /* _ASM_POWERPC_DCR_MMIO_H */


+3 −3
Original line number Original line Diff line number Diff line
@@ -152,7 +152,7 @@ EXPORT_SYMBOL_GPL(dcr_resource_len);


#ifdef CONFIG_PPC_DCR_MMIO
#ifdef CONFIG_PPC_DCR_MMIO


u64 of_translate_dcr_address(struct device_node *dev,
static u64 of_translate_dcr_address(struct device_node *dev,
				    unsigned int dcr_n,
				    unsigned int dcr_n,
				    unsigned int *out_stride)
				    unsigned int *out_stride)
{
{
+0 −24
Original line number Original line Diff line number Diff line
@@ -51,10 +51,6 @@ struct platform_device *of_find_device_by_node(struct device_node *np)
}
}
EXPORT_SYMBOL(of_find_device_by_node);
EXPORT_SYMBOL(of_find_device_by_node);


#if defined(CONFIG_PPC_DCR)
#include <asm/dcr.h>
#endif

#ifdef CONFIG_OF_ADDRESS
#ifdef CONFIG_OF_ADDRESS
/*
/*
 * The following routines scan a subtree and registers a device for
 * The following routines scan a subtree and registers a device for
@@ -78,26 +74,6 @@ void of_device_make_bus_id(struct device *dev)
	const __be32 *reg;
	const __be32 *reg;
	u64 addr;
	u64 addr;


#ifdef CONFIG_PPC_DCR
	/*
	 * If it's a DCR based device, use 'd' for native DCRs
	 * and 'D' for MMIO DCRs.
	 */
	reg = of_get_property(node, "dcr-reg", NULL);
	if (reg) {
#ifdef CONFIG_PPC_DCR_NATIVE
		dev_set_name(dev, "d%x.%s", *reg, node->name);
#else /* CONFIG_PPC_DCR_NATIVE */
		u64 addr = of_translate_dcr_address(node, *reg, NULL);
		if (addr != OF_BAD_ADDR) {
			dev_set_name(dev, "D%llx.%s",
				     (unsigned long long)addr, node->name);
			return;
		}
#endif /* !CONFIG_PPC_DCR_NATIVE */
	}
#endif /* CONFIG_PPC_DCR */

	/* Construct the name, using parent nodes if necessary to ensure uniqueness */
	/* Construct the name, using parent nodes if necessary to ensure uniqueness */
	while (node->parent) {
	while (node->parent) {
		/*
		/*