X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fdevice.h;h=e8e53b9accc67345908ecbb27c947b6035438e4f;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=1e5f30da98bc528b9ab9aaf629a673cb50e6f8ae;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/include/linux/device.h b/include/linux/device.h index 1e5f30da9..e8e53b9ac 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -11,6 +11,7 @@ #ifndef _DEVICE_H_ #define _DEVICE_H_ +#include #include #include #include @@ -60,6 +61,11 @@ extern void bus_unregister(struct bus_type * bus); extern void bus_rescan_devices(struct bus_type * bus); +extern struct bus_type * get_bus(struct bus_type * bus); +extern void put_bus(struct bus_type * bus); + +extern struct bus_type * find_bus(char * name); + /* iterator helpers for buses */ int bus_for_each_dev(struct bus_type * bus, struct device * start, void * data, @@ -142,7 +148,6 @@ struct class { struct subsystem subsys; struct list_head children; - struct list_head devices; struct list_head interfaces; struct semaphore sem; /* locks both the children and interfaces lists */ @@ -159,6 +164,9 @@ struct class { extern int class_register(struct class *); extern void class_unregister(struct class *); +extern struct class * class_get(struct class *); +extern void class_put(struct class *); + struct class_attribute { struct attribute attr; @@ -306,7 +314,6 @@ struct device { struct kobject kobj; char bus_id[BUS_ID_SIZE]; /* position on parent bus */ struct device_attribute uevent_attr; - struct device_attribute *devt_attr; struct semaphore sem; /* semaphore to synchronize calls to * its driver. @@ -334,11 +341,6 @@ struct device { struct dma_coherent_mem *dma_mem; /* internal for coherent mem override */ - /* class_device migration path */ - struct list_head node; - struct class *class; /* optional*/ - dev_t devt; /* dev_t, creates the sysfs "dev" */ - void (*release)(struct device * dev); }; @@ -380,13 +382,6 @@ extern int device_attach(struct device * dev); extern void driver_attach(struct device_driver * drv); extern void device_reprobe(struct device *dev); -/* - * Easy functions for dynamically creating devices on the fly - */ -extern struct device *device_create(struct class *cls, struct device *parent, - dev_t devt, char *fmt, ...) - __attribute__((format(printf,4,5))); -extern void device_destroy(struct class *cls, dev_t devt); /* * Platform "fixup" functions - allow the platform to have their say @@ -416,9 +411,8 @@ extern int firmware_register(struct subsystem *); extern void firmware_unregister(struct subsystem *); /* debugging and troubleshooting/diagnostic helpers. */ -extern const char *dev_driver_string(struct device *dev); #define dev_printk(level, dev, format, arg...) \ - printk(level "%s %s: " format , dev_driver_string(dev) , (dev)->bus_id , ## arg) + printk(level "%s %s: " format , (dev)->driver ? (dev)->driver->name : "" , (dev)->bus_id , ## arg) #ifdef DEBUG #define dev_dbg(dev, format, arg...) \