dev: add functions to create device objects
This commit is contained in:
@@ -10,12 +10,14 @@ struct device;
|
||||
#define CHAR_DEVICE(dev) ((dev)->dev_type == DEV_TYPE_CHAR ? &(dev)->chr : NULL);
|
||||
#define NET_DEVICE(dev) ((dev)->dev_type == DEV_TYPE_NET ? &(dev)->net : NULL);
|
||||
#define INPUT_DEVICE(dev) ((dev)->dev_type == DEV_TYPE_INPUT ? &(dev)->input : NULL);
|
||||
#define BUS_DEVICE(dev) ((dev)->dev_type == DEV_TYPE_BUS ? &(dev)->bus : NULL);
|
||||
|
||||
enum device_type {
|
||||
DEV_TYPE_BLOCK,
|
||||
DEV_TYPE_CHAR,
|
||||
DEV_TYPE_NET,
|
||||
DEV_TYPE_INPUT,
|
||||
DEV_TYPE_BUS,
|
||||
};
|
||||
|
||||
struct block_device_ops {
|
||||
@@ -84,6 +86,8 @@ struct device {
|
||||
extern kern_status_t device_init(void);
|
||||
extern kern_status_t set_root_device(struct device *dev);
|
||||
|
||||
extern struct device *device_alloc(void);
|
||||
|
||||
extern struct char_device *char_device_create(void);
|
||||
extern struct block_device *block_device_create(void);
|
||||
extern struct net_device *net_device_create(void);
|
||||
|
||||
Reference in New Issue
Block a user