|
@@ -15,6 +15,7 @@
|
|
#include <linux/kobject.h>
|
|
#include <linux/kobject.h>
|
|
#include <linux/klist.h>
|
|
#include <linux/klist.h>
|
|
#include <linux/list.h>
|
|
#include <linux/list.h>
|
|
|
|
+#include <linux/compiler.h>
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
#include <linux/module.h>
|
|
#include <linux/module.h>
|
|
#include <linux/pm.h>
|
|
#include <linux/pm.h>
|
|
@@ -58,7 +59,7 @@ struct bus_type {
|
|
int (*resume)(struct device * dev);
|
|
int (*resume)(struct device * dev);
|
|
};
|
|
};
|
|
|
|
|
|
-extern int bus_register(struct bus_type * bus);
|
|
|
|
|
|
+extern int __must_check bus_register(struct bus_type * bus);
|
|
extern void bus_unregister(struct bus_type * bus);
|
|
extern void bus_unregister(struct bus_type * bus);
|
|
|
|
|
|
extern void bus_rescan_devices(struct bus_type * bus);
|
|
extern void bus_rescan_devices(struct bus_type * bus);
|
|
@@ -70,9 +71,9 @@ int bus_for_each_dev(struct bus_type * bus, struct device * start, void * data,
|
|
struct device * bus_find_device(struct bus_type *bus, struct device *start,
|
|
struct device * bus_find_device(struct bus_type *bus, struct device *start,
|
|
void *data, int (*match)(struct device *, void *));
|
|
void *data, int (*match)(struct device *, void *));
|
|
|
|
|
|
-int bus_for_each_drv(struct bus_type * bus, struct device_driver * start,
|
|
|
|
- void * data, int (*fn)(struct device_driver *, void *));
|
|
|
|
-
|
|
|
|
|
|
+int __must_check bus_for_each_drv(struct bus_type *bus,
|
|
|
|
+ struct device_driver *start, void *data,
|
|
|
|
+ int (*fn)(struct device_driver *, void *));
|
|
|
|
|
|
/* driverfs interface for exporting bus attributes */
|
|
/* driverfs interface for exporting bus attributes */
|
|
|
|
|
|
@@ -85,7 +86,8 @@ struct bus_attribute {
|
|
#define BUS_ATTR(_name,_mode,_show,_store) \
|
|
#define BUS_ATTR(_name,_mode,_show,_store) \
|
|
struct bus_attribute bus_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
struct bus_attribute bus_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
|
|
|
|
-extern int bus_create_file(struct bus_type *, struct bus_attribute *);
|
|
|
|
|
|
+extern int __must_check bus_create_file(struct bus_type *,
|
|
|
|
+ struct bus_attribute *);
|
|
extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
|
|
extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
|
|
|
|
|
|
struct device_driver {
|
|
struct device_driver {
|
|
@@ -107,14 +109,13 @@ struct device_driver {
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
-extern int driver_register(struct device_driver * drv);
|
|
|
|
|
|
+extern int __must_check driver_register(struct device_driver * drv);
|
|
extern void driver_unregister(struct device_driver * drv);
|
|
extern void driver_unregister(struct device_driver * drv);
|
|
|
|
|
|
extern struct device_driver * get_driver(struct device_driver * drv);
|
|
extern struct device_driver * get_driver(struct device_driver * drv);
|
|
extern void put_driver(struct device_driver * drv);
|
|
extern void put_driver(struct device_driver * drv);
|
|
extern struct device_driver *driver_find(const char *name, struct bus_type *bus);
|
|
extern struct device_driver *driver_find(const char *name, struct bus_type *bus);
|
|
|
|
|
|
-
|
|
|
|
/* driverfs interface for exporting driver attributes */
|
|
/* driverfs interface for exporting driver attributes */
|
|
|
|
|
|
struct driver_attribute {
|
|
struct driver_attribute {
|
|
@@ -126,16 +127,17 @@ struct driver_attribute {
|
|
#define DRIVER_ATTR(_name,_mode,_show,_store) \
|
|
#define DRIVER_ATTR(_name,_mode,_show,_store) \
|
|
struct driver_attribute driver_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
struct driver_attribute driver_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
|
|
|
|
-extern int driver_create_file(struct device_driver *, struct driver_attribute *);
|
|
|
|
|
|
+extern int __must_check driver_create_file(struct device_driver *,
|
|
|
|
+ struct driver_attribute *);
|
|
extern void driver_remove_file(struct device_driver *, struct driver_attribute *);
|
|
extern void driver_remove_file(struct device_driver *, struct driver_attribute *);
|
|
|
|
|
|
-extern int driver_for_each_device(struct device_driver * drv, struct device * start,
|
|
|
|
- void * data, int (*fn)(struct device *, void *));
|
|
|
|
|
|
+extern int __must_check driver_for_each_device(struct device_driver * drv,
|
|
|
|
+ struct device *start, void *data,
|
|
|
|
+ int (*fn)(struct device *, void *));
|
|
struct device * driver_find_device(struct device_driver *drv,
|
|
struct device * driver_find_device(struct device_driver *drv,
|
|
struct device *start, void *data,
|
|
struct device *start, void *data,
|
|
int (*match)(struct device *, void *));
|
|
int (*match)(struct device *, void *));
|
|
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* device classes
|
|
* device classes
|
|
*/
|
|
*/
|
|
@@ -168,7 +170,7 @@ struct class {
|
|
int (*resume)(struct device *);
|
|
int (*resume)(struct device *);
|
|
};
|
|
};
|
|
|
|
|
|
-extern int class_register(struct class *);
|
|
|
|
|
|
+extern int __must_check class_register(struct class *);
|
|
extern void class_unregister(struct class *);
|
|
extern void class_unregister(struct class *);
|
|
|
|
|
|
|
|
|
|
@@ -181,7 +183,8 @@ struct class_attribute {
|
|
#define CLASS_ATTR(_name,_mode,_show,_store) \
|
|
#define CLASS_ATTR(_name,_mode,_show,_store) \
|
|
struct class_attribute class_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
struct class_attribute class_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
|
|
|
|
-extern int class_create_file(struct class *, const struct class_attribute *);
|
|
|
|
|
|
+extern int __must_check class_create_file(struct class *,
|
|
|
|
+ const struct class_attribute *);
|
|
extern void class_remove_file(struct class *, const struct class_attribute *);
|
|
extern void class_remove_file(struct class *, const struct class_attribute *);
|
|
|
|
|
|
struct class_device_attribute {
|
|
struct class_device_attribute {
|
|
@@ -194,7 +197,7 @@ struct class_device_attribute {
|
|
struct class_device_attribute class_device_attr_##_name = \
|
|
struct class_device_attribute class_device_attr_##_name = \
|
|
__ATTR(_name,_mode,_show,_store)
|
|
__ATTR(_name,_mode,_show,_store)
|
|
|
|
|
|
-extern int class_device_create_file(struct class_device *,
|
|
|
|
|
|
+extern int __must_check class_device_create_file(struct class_device *,
|
|
const struct class_device_attribute *);
|
|
const struct class_device_attribute *);
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -254,10 +257,10 @@ class_set_devdata (struct class_device *dev, void *data)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-extern int class_device_register(struct class_device *);
|
|
|
|
|
|
+extern int __must_check class_device_register(struct class_device *);
|
|
extern void class_device_unregister(struct class_device *);
|
|
extern void class_device_unregister(struct class_device *);
|
|
extern void class_device_initialize(struct class_device *);
|
|
extern void class_device_initialize(struct class_device *);
|
|
-extern int class_device_add(struct class_device *);
|
|
|
|
|
|
+extern int __must_check class_device_add(struct class_device *);
|
|
extern void class_device_del(struct class_device *);
|
|
extern void class_device_del(struct class_device *);
|
|
|
|
|
|
extern int class_device_rename(struct class_device *, char *);
|
|
extern int class_device_rename(struct class_device *, char *);
|
|
@@ -267,7 +270,7 @@ extern void class_device_put(struct class_device *);
|
|
|
|
|
|
extern void class_device_remove_file(struct class_device *,
|
|
extern void class_device_remove_file(struct class_device *,
|
|
const struct class_device_attribute *);
|
|
const struct class_device_attribute *);
|
|
-extern int class_device_create_bin_file(struct class_device *,
|
|
|
|
|
|
+extern int __must_check class_device_create_bin_file(struct class_device *,
|
|
struct bin_attribute *);
|
|
struct bin_attribute *);
|
|
extern void class_device_remove_bin_file(struct class_device *,
|
|
extern void class_device_remove_bin_file(struct class_device *,
|
|
struct bin_attribute *);
|
|
struct bin_attribute *);
|
|
@@ -282,7 +285,7 @@ struct class_interface {
|
|
void (*remove_dev) (struct device *, struct class_interface *);
|
|
void (*remove_dev) (struct device *, struct class_interface *);
|
|
};
|
|
};
|
|
|
|
|
|
-extern int class_interface_register(struct class_interface *);
|
|
|
|
|
|
+extern int __must_check class_interface_register(struct class_interface *);
|
|
extern void class_interface_unregister(struct class_interface *);
|
|
extern void class_interface_unregister(struct class_interface *);
|
|
|
|
|
|
extern struct class *class_create(struct module *owner, const char *name);
|
|
extern struct class *class_create(struct module *owner, const char *name);
|
|
@@ -307,7 +310,8 @@ struct device_attribute {
|
|
#define DEVICE_ATTR(_name,_mode,_show,_store) \
|
|
#define DEVICE_ATTR(_name,_mode,_show,_store) \
|
|
struct device_attribute dev_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
struct device_attribute dev_attr_##_name = __ATTR(_name,_mode,_show,_store)
|
|
|
|
|
|
-extern int device_create_file(struct device *device, struct device_attribute * entry);
|
|
|
|
|
|
+extern int __must_check device_create_file(struct device *device,
|
|
|
|
+ struct device_attribute * entry);
|
|
extern void device_remove_file(struct device * dev, struct device_attribute * attr);
|
|
extern void device_remove_file(struct device * dev, struct device_attribute * attr);
|
|
extern int __must_check device_create_bin_file(struct device *dev,
|
|
extern int __must_check device_create_bin_file(struct device *dev,
|
|
struct bin_attribute *attr);
|
|
struct bin_attribute *attr);
|
|
@@ -380,12 +384,12 @@ static inline int device_is_registered(struct device *dev)
|
|
/*
|
|
/*
|
|
* High level routines for use by the bus drivers
|
|
* High level routines for use by the bus drivers
|
|
*/
|
|
*/
|
|
-extern int device_register(struct device * dev);
|
|
|
|
|
|
+extern int __must_check device_register(struct device * dev);
|
|
extern void device_unregister(struct device * dev);
|
|
extern void device_unregister(struct device * dev);
|
|
extern void device_initialize(struct device * dev);
|
|
extern void device_initialize(struct device * dev);
|
|
-extern int device_add(struct device * dev);
|
|
|
|
|
|
+extern int __must_check device_add(struct device * dev);
|
|
extern void device_del(struct device * dev);
|
|
extern void device_del(struct device * dev);
|
|
-extern int device_for_each_child(struct device *, void *,
|
|
|
|
|
|
+extern int __must_check device_for_each_child(struct device *, void *,
|
|
int (*fn)(struct device *, void *));
|
|
int (*fn)(struct device *, void *));
|
|
extern int device_rename(struct device *dev, char *new_name);
|
|
extern int device_rename(struct device *dev, char *new_name);
|
|
|
|
|
|
@@ -395,7 +399,7 @@ extern int device_rename(struct device *dev, char *new_name);
|
|
*/
|
|
*/
|
|
extern void device_bind_driver(struct device * dev);
|
|
extern void device_bind_driver(struct device * dev);
|
|
extern void device_release_driver(struct device * dev);
|
|
extern void device_release_driver(struct device * dev);
|
|
-extern int device_attach(struct device * dev);
|
|
|
|
|
|
+extern int __must_check device_attach(struct device * dev);
|
|
extern void driver_attach(struct device_driver * drv);
|
|
extern void driver_attach(struct device_driver * drv);
|
|
extern void device_reprobe(struct device *dev);
|
|
extern void device_reprobe(struct device *dev);
|
|
|
|
|
|
@@ -433,7 +437,7 @@ extern void device_shutdown(void);
|
|
|
|
|
|
|
|
|
|
/* drivers/base/firmware.c */
|
|
/* drivers/base/firmware.c */
|
|
-extern int firmware_register(struct subsystem *);
|
|
|
|
|
|
+extern int __must_check firmware_register(struct subsystem *);
|
|
extern void firmware_unregister(struct subsystem *);
|
|
extern void firmware_unregister(struct subsystem *);
|
|
|
|
|
|
/* debugging and troubleshooting/diagnostic helpers. */
|
|
/* debugging and troubleshooting/diagnostic helpers. */
|