X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-sparc%2Fof_device.h;h=e5f5aedc2293e6b857ef0f5753050aa5c733bb91;hb=9cf52b2921fbe62566b6b2ee79f71203749c9e5e;hp=4816d102f918438948cc5a3e8f41ecd83648fd73;hpb=62ed948cb1405fe95d61d8c6445c102e0c9da0a6;p=linux-2.6 diff --git a/include/asm-sparc/of_device.h b/include/asm-sparc/of_device.h index 4816d102f9..e5f5aedc22 100644 --- a/include/asm-sparc/of_device.h +++ b/include/asm-sparc/of_device.h @@ -3,11 +3,9 @@ #ifdef __KERNEL__ #include +#include #include -#include - -extern struct bus_type ebus_bus_type; -extern struct bus_type sbus_bus_type; +#include /* * The of_device is a kind of "base class" that is a superset of @@ -16,48 +14,25 @@ extern struct bus_type sbus_bus_type; */ struct of_device { - struct device_node *node; /* OF device node */ - struct device dev; /* Generic device interface */ -}; -#define to_of_device(d) container_of(d, struct of_device, dev) - -extern const struct of_device_id *of_match_device( - const struct of_device_id *matches, const struct of_device *dev); - -extern struct of_device *of_dev_get(struct of_device *dev); -extern void of_dev_put(struct of_device *dev); - -/* - * An of_platform_driver driver is attached to a basic of_device on - * the ISA, EBUS, and SBUS busses on sparc64. - */ -struct of_platform_driver -{ - char *name; - struct of_device_id *match_table; - struct module *owner; + struct device_node *node; + struct device dev; + struct resource resource[PROMREG_MAX]; + unsigned int irqs[PROMINTR_MAX]; + int num_irqs; - int (*probe)(struct of_device* dev, const struct of_device_id *match); - int (*remove)(struct of_device* dev); + void *sysdata; - int (*suspend)(struct of_device* dev, pm_message_t state); - int (*resume)(struct of_device* dev); - int (*shutdown)(struct of_device* dev); - - struct device_driver driver; + int slot; + int portid; + int clock_freq; }; -#define to_of_platform_driver(drv) container_of(drv,struct of_platform_driver, driver) -extern int of_register_driver(struct of_platform_driver *drv, - struct bus_type *bus); -extern void of_unregister_driver(struct of_platform_driver *drv); -extern int of_device_register(struct of_device *ofdev); -extern void of_device_unregister(struct of_device *ofdev); -extern struct of_device *of_platform_device_create(struct device_node *np, - const char *bus_id, - struct device *parent, - struct bus_type *bus); -extern void of_release_dev(struct device *dev); +extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); +extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size); + +/* These are just here during the transition */ +#include +#include #endif /* __KERNEL__ */ #endif /* _ASM_SPARC_OF_DEVICE_H */