diff options
Diffstat (limited to 'include/linux/mdev.h')
| -rw-r--r-- | include/linux/mdev.h | 56 | 
1 files changed, 13 insertions, 43 deletions
diff --git a/include/linux/mdev.h b/include/linux/mdev.h index ec819e9a115a..b6e048e1045f 100644 --- a/include/linux/mdev.h +++ b/include/linux/mdev.h @@ -13,34 +13,10 @@  #ifndef MDEV_H  #define MDEV_H -/* Parent device */ -struct parent_device { -	struct device		*dev; -	const struct parent_ops	*ops; - -	/* internal */ -	struct kref		ref; -	struct mutex		lock; -	struct list_head	next; -	struct kset		*mdev_types_kset; -	struct list_head	type_list; -}; - -/* Mediated device */ -struct mdev_device { -	struct device		dev; -	struct parent_device	*parent; -	uuid_le			uuid; -	void			*driver_data; - -	/* internal */ -	struct kref		ref; -	struct list_head	next; -	struct kobject		*type_kobj; -}; +struct mdev_device;  /** - * struct parent_ops - Structure to be registered for each parent device to + * struct mdev_parent_ops - Structure to be registered for each parent device to   * register the device to mdev module.   *   * @owner:		The module owner. @@ -86,10 +62,9 @@ struct mdev_device {   *			@mdev: mediated device structure   *			@vma: vma structure   * Parent device that support mediated device should be registered with mdev - * module with parent_ops structure. + * module with mdev_parent_ops structure.   **/ - -struct parent_ops { +struct mdev_parent_ops {  	struct module   *owner;  	const struct attribute_group **dev_attr_groups;  	const struct attribute_group **mdev_attr_groups; @@ -103,7 +78,7 @@ struct parent_ops {  			size_t count, loff_t *ppos);  	ssize_t (*write)(struct mdev_device *mdev, const char __user *buf,  			 size_t count, loff_t *ppos); -	ssize_t (*ioctl)(struct mdev_device *mdev, unsigned int cmd, +	long	(*ioctl)(struct mdev_device *mdev, unsigned int cmd,  			 unsigned long arg);  	int	(*mmap)(struct mdev_device *mdev, struct vm_area_struct *vma);  }; @@ -142,27 +117,22 @@ struct mdev_driver {  };  #define to_mdev_driver(drv)	container_of(drv, struct mdev_driver, driver) -#define to_mdev_device(dev)	container_of(dev, struct mdev_device, dev) - -static inline void *mdev_get_drvdata(struct mdev_device *mdev) -{ -	return mdev->driver_data; -} -static inline void mdev_set_drvdata(struct mdev_device *mdev, void *data) -{ -	mdev->driver_data = data; -} +extern void *mdev_get_drvdata(struct mdev_device *mdev); +extern void mdev_set_drvdata(struct mdev_device *mdev, void *data); +extern uuid_le mdev_uuid(struct mdev_device *mdev);  extern struct bus_type mdev_bus_type; -#define dev_is_mdev(d) ((d)->bus == &mdev_bus_type) -  extern int  mdev_register_device(struct device *dev, -				 const struct parent_ops *ops); +				 const struct mdev_parent_ops *ops);  extern void mdev_unregister_device(struct device *dev);  extern int  mdev_register_driver(struct mdev_driver *drv, struct module *owner);  extern void mdev_unregister_driver(struct mdev_driver *drv); +extern struct device *mdev_parent_dev(struct mdev_device *mdev); +extern struct device *mdev_dev(struct mdev_device *mdev); +extern struct mdev_device *mdev_from_dev(struct device *dev); +  #endif /* MDEV_H */  | 
