55 DBG (
"Adding %s root bus\n", rootdev->
dev.
name );
57 DBG (
"Failed to add %s root bus: %s\n",
72 DBG (
"Removed %s root bus\n", rootdev->
dev.
name );
103 DBG (
"Refusing to remove devices on shutdown\n" );
#define STARTUP_NORMAL
Normal startup.
struct arbelprm_rc_send_wqe rc
#define list_add(new, head)
Add a new entry to the head of a list.
int device_keep_count
Device removal inhibition counter.
void(* remove)(struct root_device *rootdev)
Remove root device.
#define ROOT_DEVICES
Root device table.
uint16_t device
Device ID.
struct device dev
Device chain.
void * intf_object(struct interface *intf)
Get pointer to object containing object interface.
struct interface * intf
Original interface.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
A startup/shutdown function.
#define list_del(list)
Delete an entry from a list.
static LIST_HEAD(devices)
Registered root devices.
struct root_driver * driver
Root device driver.
#define __unused
Declare a variable or data structure as unused.
#define list_for_each_entry_safe(pos, tmp, head, member)
Iterate over entries in a list, safe against deletion of the current entry.
char * strerror(int errno)
Retrieve string representation of error number.
static void remove_devices(int booting __unused)
Remove all devices.
struct list_head siblings
Devices on the same bus.
#define for_each_table_entry(pointer, table)
Iterate through all entries within a linker table.
static int rootdev_probe(struct root_device *rootdev)
Probe a root device.
static void rootdev_remove(struct root_device *rootdev)
Remove a root device.
int(* probe)(struct root_device *rootdev)
Add root device.
static uint16_t struct vmbus_xfer_pages_operations * op
#define INIT_LIST_HEAD(list)
Initialise a list head.
static void probe_devices(void)
Probe all devices.
struct list_head children
Devices attached to this device.
void intf_put(struct interface *intf)
Decrement reference count on an object interface.
#define identify_device_TYPE(object_type)
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return dest
struct startup_fn startup_devices __startup_fn(STARTUP_NORMAL)
struct device * identify_device(struct interface *intf)
Identify a device behind an interface.
#define DBG(...)
Print a debugging message.
#define NULL
NULL pointer (VOID *)
#define intf_get_dest_op(intf, type, dest)
Get object interface destination and operation method.