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 | |||
