diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-05-01 02:12:57 -0400 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-07-20 00:25:22 -0400 |
commit | b41912ca345e6de8ec8469d57cd585881271e2b9 (patch) | |
tree | 665588b5d519602b90384fc65b225c0b070f830a | |
parent | 37b7754aab9a6ad7ecbba45c87f8d8a1f81b3bcc (diff) |
Create linux/of_platorm.h
Move common stuff from asm-powerpc/of_platform.h to here and
move the common bits from asm-sparc*/of_device.h here as well.
Create asm-sparc*/of_platform.h and move appropriate parts of
of_device.h to them.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Paul Mackerras <paulus@samba.org>
Acked-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/asm-powerpc/of_platform.h | 38 | ||||
-rw-r--r-- | include/asm-sparc/of_device.h | 39 | ||||
-rw-r--r-- | include/asm-sparc/of_platform.h | 32 | ||||
-rw-r--r-- | include/asm-sparc64/of_device.h | 40 | ||||
-rw-r--r-- | include/asm-sparc64/of_platform.h | 33 | ||||
-rw-r--r-- | include/linux/of_platform.h | 55 |
6 files changed, 130 insertions, 107 deletions
diff --git a/include/asm-powerpc/of_platform.h b/include/asm-powerpc/of_platform.h index 217eafb167e9..80e6fad28b4f 100644 --- a/include/asm-powerpc/of_platform.h +++ b/include/asm-powerpc/of_platform.h | |||
@@ -1,3 +1,5 @@ | |||
1 | #ifndef _ASM_POWERPC_OF_PLATFORM_H | ||
2 | #define _ASM_POWERPC_OF_PLATFORM_H | ||
1 | /* | 3 | /* |
2 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. | 4 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. |
3 | * <benh@kernel.crashing.org> | 5 | * <benh@kernel.crashing.org> |
@@ -9,37 +11,8 @@ | |||
9 | * | 11 | * |
10 | */ | 12 | */ |
11 | 13 | ||
12 | #include <asm/of_device.h> | 14 | /* This is just here during the transition */ |
13 | 15 | #include <linux/of_platform.h> | |
14 | /* | ||
15 | * The of_platform_bus_type is a bus type used by drivers that do not | ||
16 | * attach to a macio or similar bus but still use OF probing | ||
17 | * mechanism | ||
18 | */ | ||
19 | extern struct bus_type of_platform_bus_type; | ||
20 | |||
21 | /* | ||
22 | * An of_platform_driver driver is attached to a basic of_device on | ||
23 | * the "platform bus" (of_platform_bus_type) | ||
24 | */ | ||
25 | struct of_platform_driver | ||
26 | { | ||
27 | char *name; | ||
28 | struct of_device_id *match_table; | ||
29 | struct module *owner; | ||
30 | |||
31 | int (*probe)(struct of_device* dev, | ||
32 | const struct of_device_id *match); | ||
33 | int (*remove)(struct of_device* dev); | ||
34 | |||
35 | int (*suspend)(struct of_device* dev, pm_message_t state); | ||
36 | int (*resume)(struct of_device* dev); | ||
37 | int (*shutdown)(struct of_device* dev); | ||
38 | |||
39 | struct device_driver driver; | ||
40 | }; | ||
41 | #define to_of_platform_driver(drv) \ | ||
42 | container_of(drv,struct of_platform_driver, driver) | ||
43 | 16 | ||
44 | /* Platform drivers register/unregister */ | 17 | /* Platform drivers register/unregister */ |
45 | extern int of_register_platform_driver(struct of_platform_driver *drv); | 18 | extern int of_register_platform_driver(struct of_platform_driver *drv); |
@@ -56,5 +29,6 @@ extern int of_platform_bus_probe(struct device_node *root, | |||
56 | struct of_device_id *matches, | 29 | struct of_device_id *matches, |
57 | struct device *parent); | 30 | struct device *parent); |
58 | 31 | ||
59 | extern struct of_device *of_find_device_by_node(struct device_node *np); | ||
60 | extern struct of_device *of_find_device_by_phandle(phandle ph); | 32 | extern struct of_device *of_find_device_by_phandle(phandle ph); |
33 | |||
34 | #endif /* _ASM_POWERPC_OF_PLATFORM_H */ | ||
diff --git a/include/asm-sparc/of_device.h b/include/asm-sparc/of_device.h index fd8e95743139..e5f5aedc2293 100644 --- a/include/asm-sparc/of_device.h +++ b/include/asm-sparc/of_device.h | |||
@@ -7,11 +7,6 @@ | |||
7 | #include <linux/mod_devicetable.h> | 7 | #include <linux/mod_devicetable.h> |
8 | #include <asm/openprom.h> | 8 | #include <asm/openprom.h> |
9 | 9 | ||
10 | extern struct bus_type ebus_bus_type; | ||
11 | extern struct bus_type sbus_bus_type; | ||
12 | extern struct bus_type of_platform_bus_type; | ||
13 | #define of_bus_type of_platform_bus_type /* for compatibility */ | ||
14 | |||
15 | /* | 10 | /* |
16 | * The of_device is a kind of "base class" that is a superset of | 11 | * The of_device is a kind of "base class" that is a superset of |
17 | * struct device for use by devices attached to an OF node and | 12 | * struct device for use by devices attached to an OF node and |
@@ -35,39 +30,9 @@ struct of_device | |||
35 | extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); | 30 | extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); |
36 | extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size); | 31 | extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size); |
37 | 32 | ||
38 | extern struct of_device *of_find_device_by_node(struct device_node *); | 33 | /* These are just here during the transition */ |
39 | |||
40 | /* | ||
41 | * An of_platform_driver driver is attached to a basic of_device on | ||
42 | * the ISA, EBUS, and SBUS busses on sparc64. | ||
43 | */ | ||
44 | struct of_platform_driver | ||
45 | { | ||
46 | char *name; | ||
47 | struct of_device_id *match_table; | ||
48 | struct module *owner; | ||
49 | |||
50 | int (*probe)(struct of_device* dev, const struct of_device_id *match); | ||
51 | int (*remove)(struct of_device* dev); | ||
52 | |||
53 | int (*suspend)(struct of_device* dev, pm_message_t state); | ||
54 | int (*resume)(struct of_device* dev); | ||
55 | int (*shutdown)(struct of_device* dev); | ||
56 | |||
57 | struct device_driver driver; | ||
58 | }; | ||
59 | #define to_of_platform_driver(drv) container_of(drv,struct of_platform_driver, driver) | ||
60 | |||
61 | extern int of_register_driver(struct of_platform_driver *drv, | ||
62 | struct bus_type *bus); | ||
63 | extern void of_unregister_driver(struct of_platform_driver *drv); | ||
64 | extern struct of_device *of_platform_device_create(struct device_node *np, | ||
65 | const char *bus_id, | ||
66 | struct device *parent, | ||
67 | struct bus_type *bus); | ||
68 | |||
69 | /* This is just here during the transition */ | ||
70 | #include <linux/of_device.h> | 34 | #include <linux/of_device.h> |
35 | #include <linux/of_platform.h> | ||
71 | 36 | ||
72 | #endif /* __KERNEL__ */ | 37 | #endif /* __KERNEL__ */ |
73 | #endif /* _ASM_SPARC_OF_DEVICE_H */ | 38 | #endif /* _ASM_SPARC_OF_DEVICE_H */ |
diff --git a/include/asm-sparc/of_platform.h b/include/asm-sparc/of_platform.h new file mode 100644 index 000000000000..64a230064ef2 --- /dev/null +++ b/include/asm-sparc/of_platform.h | |||
@@ -0,0 +1,32 @@ | |||
1 | #ifndef _ASM_SPARC_OF_PLATFORM_H | ||
2 | #define _ASM_SPARC_OF_PLATFORM_H | ||
3 | /* | ||
4 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. | ||
5 | * <benh@kernel.crashing.org> | ||
6 | * Modified for Sparc by merging parts of asm-sparc/of_device.h | ||
7 | * by Stephen Rothwell | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version | ||
12 | * 2 of the License, or (at your option) any later version. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | /* This is just here during the transition */ | ||
17 | #include <linux/of_platform.h> | ||
18 | |||
19 | extern struct bus_type ebus_bus_type; | ||
20 | extern struct bus_type sbus_bus_type; | ||
21 | extern struct bus_type of_platform_bus_type; | ||
22 | #define of_bus_type of_platform_bus_type /* for compatibility */ | ||
23 | |||
24 | extern int of_register_driver(struct of_platform_driver *drv, | ||
25 | struct bus_type *bus); | ||
26 | extern void of_unregister_driver(struct of_platform_driver *drv); | ||
27 | extern struct of_device *of_platform_device_create(struct device_node *np, | ||
28 | const char *bus_id, | ||
29 | struct device *parent, | ||
30 | struct bus_type *bus); | ||
31 | |||
32 | #endif /* _ASM_SPARC_OF_PLATFORM_H */ | ||
diff --git a/include/asm-sparc64/of_device.h b/include/asm-sparc64/of_device.h index daf36eb52292..46d69b3223c5 100644 --- a/include/asm-sparc64/of_device.h +++ b/include/asm-sparc64/of_device.h | |||
@@ -7,12 +7,6 @@ | |||
7 | #include <linux/mod_devicetable.h> | 7 | #include <linux/mod_devicetable.h> |
8 | #include <asm/openprom.h> | 8 | #include <asm/openprom.h> |
9 | 9 | ||
10 | extern struct bus_type isa_bus_type; | ||
11 | extern struct bus_type ebus_bus_type; | ||
12 | extern struct bus_type sbus_bus_type; | ||
13 | extern struct bus_type of_platform_bus_type; | ||
14 | #define of_bus_type of_platform_bus_type /* for compatibility */ | ||
15 | |||
16 | /* | 10 | /* |
17 | * The of_device is a kind of "base class" that is a superset of | 11 | * The of_device is a kind of "base class" that is a superset of |
18 | * struct device for use by devices attached to an OF node and | 12 | * struct device for use by devices attached to an OF node and |
@@ -36,39 +30,9 @@ struct of_device | |||
36 | extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); | 30 | extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); |
37 | extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size); | 31 | extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size); |
38 | 32 | ||
39 | extern struct of_device *of_find_device_by_node(struct device_node *); | 33 | /* These are just here during the transition */ |
40 | |||
41 | /* | ||
42 | * An of_platform_driver driver is attached to a basic of_device on | ||
43 | * the ISA, EBUS, and SBUS busses on sparc64. | ||
44 | */ | ||
45 | struct of_platform_driver | ||
46 | { | ||
47 | char *name; | ||
48 | struct of_device_id *match_table; | ||
49 | struct module *owner; | ||
50 | |||
51 | int (*probe)(struct of_device* dev, const struct of_device_id *match); | ||
52 | int (*remove)(struct of_device* dev); | ||
53 | |||
54 | int (*suspend)(struct of_device* dev, pm_message_t state); | ||
55 | int (*resume)(struct of_device* dev); | ||
56 | int (*shutdown)(struct of_device* dev); | ||
57 | |||
58 | struct device_driver driver; | ||
59 | }; | ||
60 | #define to_of_platform_driver(drv) container_of(drv,struct of_platform_driver, driver) | ||
61 | |||
62 | extern int of_register_driver(struct of_platform_driver *drv, | ||
63 | struct bus_type *bus); | ||
64 | extern void of_unregister_driver(struct of_platform_driver *drv); | ||
65 | extern struct of_device *of_platform_device_create(struct device_node *np, | ||
66 | const char *bus_id, | ||
67 | struct device *parent, | ||
68 | struct bus_type *bus); | ||
69 | |||
70 | /* This is just here during the transition */ | ||
71 | #include <linux/of_device.h> | 34 | #include <linux/of_device.h> |
35 | #include <linux/of_platform.h> | ||
72 | 36 | ||
73 | #endif /* __KERNEL__ */ | 37 | #endif /* __KERNEL__ */ |
74 | #endif /* _ASM_SPARC64_OF_DEVICE_H */ | 38 | #endif /* _ASM_SPARC64_OF_DEVICE_H */ |
diff --git a/include/asm-sparc64/of_platform.h b/include/asm-sparc64/of_platform.h new file mode 100644 index 000000000000..f7c1f17c7d52 --- /dev/null +++ b/include/asm-sparc64/of_platform.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef _ASM_SPARC64_OF_PLATFORM_H | ||
2 | #define _ASM_SPARC64_OF_PLATFORM_H | ||
3 | /* | ||
4 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. | ||
5 | * <benh@kernel.crashing.org> | ||
6 | * Modified for Sparc by merging parts of asm-sparc/of_device.h | ||
7 | * by Stephen Rothwell | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version | ||
12 | * 2 of the License, or (at your option) any later version. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | /* This is just here during the transition */ | ||
17 | #include <linux/of_platform.h> | ||
18 | |||
19 | extern struct bus_type isa_bus_type; | ||
20 | extern struct bus_type ebus_bus_type; | ||
21 | extern struct bus_type sbus_bus_type; | ||
22 | extern struct bus_type of_platform_bus_type; | ||
23 | #define of_bus_type of_platform_bus_type /* for compatibility */ | ||
24 | |||
25 | extern int of_register_driver(struct of_platform_driver *drv, | ||
26 | struct bus_type *bus); | ||
27 | extern void of_unregister_driver(struct of_platform_driver *drv); | ||
28 | extern struct of_device *of_platform_device_create(struct device_node *np, | ||
29 | const char *bus_id, | ||
30 | struct device *parent, | ||
31 | struct bus_type *bus); | ||
32 | |||
33 | #endif /* _ASM_SPARC64_OF_PLATFORM_H */ | ||
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h new file mode 100644 index 000000000000..c85d0f835783 --- /dev/null +++ b/include/linux/of_platform.h | |||
@@ -0,0 +1,55 @@ | |||
1 | #ifndef _LINUX_OF_PLATFORM_H | ||
2 | #define _LINUX_OF_PLATFORM_H | ||
3 | /* | ||
4 | * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. | ||
5 | * <benh@kernel.crashing.org> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #include <linux/module.h> | ||
15 | #include <linux/device.h> | ||
16 | #include <linux/mod_devicetable.h> | ||
17 | #include <linux/pm.h> | ||
18 | #include <linux/of_device.h> | ||
19 | |||
20 | /* | ||
21 | * The of_platform_bus_type is a bus type used by drivers that do not | ||
22 | * attach to a macio or similar bus but still use OF probing | ||
23 | * mechanism | ||
24 | */ | ||
25 | extern struct bus_type of_platform_bus_type; | ||
26 | |||
27 | /* | ||
28 | * An of_platform_driver driver is attached to a basic of_device on | ||
29 | * the "platform bus" (of_platform_bus_type) (or ISA, EBUS and SBUS | ||
30 | * busses on sparc). | ||
31 | */ | ||
32 | struct of_platform_driver | ||
33 | { | ||
34 | char *name; | ||
35 | struct of_device_id *match_table; | ||
36 | struct module *owner; | ||
37 | |||
38 | int (*probe)(struct of_device* dev, | ||
39 | const struct of_device_id *match); | ||
40 | int (*remove)(struct of_device* dev); | ||
41 | |||
42 | int (*suspend)(struct of_device* dev, pm_message_t state); | ||
43 | int (*resume)(struct of_device* dev); | ||
44 | int (*shutdown)(struct of_device* dev); | ||
45 | |||
46 | struct device_driver driver; | ||
47 | }; | ||
48 | #define to_of_platform_driver(drv) \ | ||
49 | container_of(drv,struct of_platform_driver, driver) | ||
50 | |||
51 | #include <asm/of_platform.h> | ||
52 | |||
53 | extern struct of_device *of_find_device_by_node(struct device_node *np); | ||
54 | |||
55 | #endif /* _LINUX_OF_PLATFORM_H */ | ||