diff options
-rw-r--r-- | arch/microblaze/kernel/of_platform.c | 16 | ||||
-rw-r--r-- | arch/powerpc/kernel/of_platform.c | 16 | ||||
-rw-r--r-- | arch/sparc/kernel/of_device_common.c | 20 | ||||
-rw-r--r-- | drivers/of/platform.c | 20 |
4 files changed, 20 insertions, 52 deletions
diff --git a/arch/microblaze/kernel/of_platform.c b/arch/microblaze/kernel/of_platform.c index c664b275a5fa..6cffadbe2fcd 100644 --- a/arch/microblaze/kernel/of_platform.c +++ b/arch/microblaze/kernel/of_platform.c | |||
@@ -47,19 +47,3 @@ const struct of_device_id of_default_bus_ids[] = { | |||
47 | { .type = "simple", }, | 47 | { .type = "simple", }, |
48 | {}, | 48 | {}, |
49 | }; | 49 | }; |
50 | |||
51 | static int of_dev_node_match(struct device *dev, void *data) | ||
52 | { | ||
53 | return to_platform_device(dev)->dev.of_node == data; | ||
54 | } | ||
55 | |||
56 | struct platform_device *of_find_device_by_node(struct device_node *np) | ||
57 | { | ||
58 | struct device *dev; | ||
59 | |||
60 | dev = bus_find_device(&platform_bus_type, NULL, np, of_dev_node_match); | ||
61 | if (dev) | ||
62 | return to_platform_device(dev); | ||
63 | return NULL; | ||
64 | } | ||
65 | EXPORT_SYMBOL(of_find_device_by_node); | ||
diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c index 84439d1b7cb3..760a7af7fdb5 100644 --- a/arch/powerpc/kernel/of_platform.c +++ b/arch/powerpc/kernel/of_platform.c | |||
@@ -52,22 +52,6 @@ const struct of_device_id of_default_bus_ids[] = { | |||
52 | {}, | 52 | {}, |
53 | }; | 53 | }; |
54 | 54 | ||
55 | static int of_dev_node_match(struct device *dev, void *data) | ||
56 | { | ||
57 | return to_platform_device(dev)->dev.of_node == data; | ||
58 | } | ||
59 | |||
60 | struct platform_device *of_find_device_by_node(struct device_node *np) | ||
61 | { | ||
62 | struct device *dev; | ||
63 | |||
64 | dev = bus_find_device(&platform_bus_type, NULL, np, of_dev_node_match); | ||
65 | if (dev) | ||
66 | return to_platform_device(dev); | ||
67 | return NULL; | ||
68 | } | ||
69 | EXPORT_SYMBOL(of_find_device_by_node); | ||
70 | |||
71 | #ifdef CONFIG_PPC_OF_PLATFORM_PCI | 55 | #ifdef CONFIG_PPC_OF_PLATFORM_PCI |
72 | 56 | ||
73 | /* The probing of PCI controllers from of_platform is currently | 57 | /* The probing of PCI controllers from of_platform is currently |
diff --git a/arch/sparc/kernel/of_device_common.c b/arch/sparc/kernel/of_device_common.c index e80729bba028..49ddff56cb04 100644 --- a/arch/sparc/kernel/of_device_common.c +++ b/arch/sparc/kernel/of_device_common.c | |||
@@ -11,26 +11,6 @@ | |||
11 | 11 | ||
12 | #include "of_device_common.h" | 12 | #include "of_device_common.h" |
13 | 13 | ||
14 | static int node_match(struct device *dev, void *data) | ||
15 | { | ||
16 | struct platform_device *op = to_platform_device(dev); | ||
17 | struct device_node *dp = data; | ||
18 | |||
19 | return (op->dev.of_node == dp); | ||
20 | } | ||
21 | |||
22 | struct platform_device *of_find_device_by_node(struct device_node *dp) | ||
23 | { | ||
24 | struct device *dev = bus_find_device(&platform_bus_type, NULL, | ||
25 | dp, node_match); | ||
26 | |||
27 | if (dev) | ||
28 | return to_platform_device(dev); | ||
29 | |||
30 | return NULL; | ||
31 | } | ||
32 | EXPORT_SYMBOL(of_find_device_by_node); | ||
33 | |||
34 | unsigned int irq_of_parse_and_map(struct device_node *node, int index) | 14 | unsigned int irq_of_parse_and_map(struct device_node *node, int index) |
35 | { | 15 | { |
36 | struct platform_device *op = of_find_device_by_node(node); | 16 | struct platform_device *op = of_find_device_by_node(node); |
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 9f3840cdcde5..f79f40b516c6 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c | |||
@@ -22,6 +22,26 @@ | |||
22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | 24 | ||
25 | static int of_dev_node_match(struct device *dev, void *data) | ||
26 | { | ||
27 | return dev->of_node == data; | ||
28 | } | ||
29 | |||
30 | /** | ||
31 | * of_find_device_by_node - Find the platform_device associated with a node | ||
32 | * @np: Pointer to device tree node | ||
33 | * | ||
34 | * Returns platform_device pointer, or NULL if not found | ||
35 | */ | ||
36 | struct platform_device *of_find_device_by_node(struct device_node *np) | ||
37 | { | ||
38 | struct device *dev; | ||
39 | |||
40 | dev = bus_find_device(&platform_bus_type, NULL, np, of_dev_node_match); | ||
41 | return dev ? to_platform_device(dev) : NULL; | ||
42 | } | ||
43 | EXPORT_SYMBOL(of_find_device_by_node); | ||
44 | |||
25 | static int platform_driver_probe_shim(struct platform_device *pdev) | 45 | static int platform_driver_probe_shim(struct platform_device *pdev) |
26 | { | 46 | { |
27 | struct platform_driver *pdrv; | 47 | struct platform_driver *pdrv; |