kernel: Drop non-standard GNU inline assignment syntax

* We needed this previously due to our gcc2 compiled kernel.
* Now that our kernel is always latest gcc, we can move to the
  c++20 syntax for inline assignment.
* Improves compatibility with clang, less GNU-specific stuff

Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
X512
2022-12-13 20:49:53 +00:00
committed by Alex von Gluck IV
parent 67d20a5856
commit 215b685f7f
60 changed files with 291 additions and 294 deletions
+1 -1
View File
@@ -44,7 +44,7 @@ typedef struct err_res {
} err_res;
#define MK_ERROR( aaction, code ) ({ \
err_res _res = {error_code: (code), action: (aaction) }; \
err_res _res = {.error_code = (code), .action = (aaction) }; \
_res; \
})
@@ -269,7 +269,7 @@ embedded_controller_register_device(device_node* node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: "ACPI embedded controller" }},
{ .string = "ACPI embedded controller" }},
{ NULL }
};
+14 -15
View File
@@ -57,9 +57,8 @@ static status_t
acpi_module_register_device(device_node* parent)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_KEEP_DRIVER_LOADED }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_KEEP_DRIVER_LOADED }},
{}
};
@@ -88,15 +87,15 @@ acpi_enumerate_child_devices(device_node* node, const char* root)
case ACPI_TYPE_DEVICE: {
device_attr attrs[16] = {
// info about device
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "acpi" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "acpi" }},
// location on ACPI bus
{ ACPI_DEVICE_PATH_ITEM, B_STRING_TYPE, { string: result }},
{ ACPI_DEVICE_PATH_ITEM, B_STRING_TYPE, { .string = result }},
// info about the device
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { ui32: type }},
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { .ui32 = type }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ NULL }
};
@@ -175,14 +174,14 @@ acpi_module_register_child_devices(void* cookie)
dprintf("registering power button\n");
device_attr attrs[] = {
// info about device
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "acpi" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "acpi" }},
// info about the device
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { string: "ACPI_FPB" }},
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { ui32: ACPI_TYPE_DEVICE }},
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { .string = "ACPI_FPB" }},
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { .ui32 = ACPI_TYPE_DEVICE }},
// consumer specification
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ NULL }
};
device_node* deviceNode;
@@ -193,14 +192,14 @@ acpi_module_register_child_devices(void* cookie)
dprintf("registering sleep button\n");
device_attr attrs[] = {
// info about device
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "acpi" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "acpi" }},
// info about the device
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { string: "ACPI_FSB" }},
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { ui32: ACPI_TYPE_DEVICE }},
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { .string = "ACPI_FSB" }},
{ ACPI_DEVICE_TYPE_ITEM, B_UINT32_TYPE, { .ui32 = ACPI_TYPE_DEVICE }},
// consumer specification
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ NULL }
};
device_node* deviceNode;
@@ -182,12 +182,12 @@ ata_channel_added(device_node *parent)
device_attr attributes[] = {
{
B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: SCSI_FOR_SIM_MODULE_NAME }
{ .string = SCSI_FOR_SIM_MODULE_NAME }
},
{
SCSI_DESCRIPTION_CONTROLLER_NAME, B_STRING_TYPE,
{ string: controllerName }
{ .string = controllerName }
},
// maximum number of blocks per transmission:
@@ -195,8 +195,8 @@ ata_channel_added(device_node *parent)
// but I'm not sure about controller restrictions
// - ATA allows up to 256 blocks for LBA28 and 65535 for LBA48
// to fix specific drive bugs use ATAChannel::GetRestrictions()
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { ui32: 0xffff } },
{ ATA_CHANNEL_ID_ITEM, B_UINT32_TYPE, { ui32: (uint32)channelID } },
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { .ui32 = 0xffff } },
{ ATA_CHANNEL_ID_ITEM, B_UINT32_TYPE, { .ui32 = (uint32)channelID } },
{ NULL }
};
@@ -99,15 +99,15 @@ fdt_register_node(fdt_bus* bus, int node, device_node* parentDev,
return B_ERROR;
}
attrs.Add({ B_DEVICE_BUS, B_STRING_TYPE, {string: "fdt"}});
attrs.Add({ B_DEVICE_BUS, B_STRING_TYPE, {.string = "fdt"}});
attrs.Add({ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: (strcmp(name, "") != 0) ? name : "Root" }});
attrs.Add({ "fdt/node", B_UINT32_TYPE, {ui32: (uint32)node}});
attrs.Add({ "fdt/name", B_STRING_TYPE, {string: name}});
{ .string = (strcmp(name, "") != 0) ? name : "Root" }});
attrs.Add({ "fdt/node", B_UINT32_TYPE, {.ui32 = (uint32)node}});
attrs.Add({ "fdt/name", B_STRING_TYPE, {.string = name}});
prop = fdt_getprop(gFDT, node, "device_type", &propLen);
if (prop != NULL)
attrs.Add({ "fdt/device_type", B_STRING_TYPE, { string: (const char*)prop }});
attrs.Add({ "fdt/device_type", B_STRING_TYPE, { .string = (const char*)prop }});
prop = fdt_getprop(gFDT, node, "compatible", &propLen);
@@ -116,7 +116,7 @@ fdt_register_node(fdt_bus* bus, int node, device_node* parentDev,
const char* propEnd = propStr + propLen;
while (propEnd - propStr > 0) {
int curLen = strlen(propStr);
attrs.Add({ "fdt/compatible", B_STRING_TYPE, { string: propStr }});
attrs.Add({ "fdt/compatible", B_STRING_TYPE, { .string = propStr }});
propStr += curLen + 1;
}
}
@@ -201,8 +201,8 @@ fdt_bus_register_device(device_node* parent)
} scopeExit;
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "FDT"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {ui32: B_KEEP_DRIVER_LOADED}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "FDT"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {.ui32 = B_KEEP_DRIVER_LOADED}},
{}
};
@@ -57,21 +57,21 @@ I2CBus::RegisterDevice(i2c_addr slaveAddress, char* hid, char** cid,
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "I2C device" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "I2C device" }},
// connection
{ I2C_DEVICE_SLAVE_ADDR_ITEM, B_UINT16_TYPE, { ui16: slaveAddress }},
{ I2C_DEVICE_SLAVE_ADDR_ITEM, B_UINT16_TYPE, { .ui16 = slaveAddress }},
// description of peripheral drivers
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "i2c" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "i2c" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { string: hid }},
{ ACPI_DEVICE_HID_ITEM, B_STRING_TYPE, { .string = hid }},
{ ACPI_DEVICE_CID_ITEM, B_STRING_TYPE, { string: cid[0] }},
{ ACPI_DEVICE_CID_ITEM, B_STRING_TYPE, { .string = cid[0] }},
{ ACPI_DEVICE_HANDLE_ITEM, B_UINT64_TYPE, { ui64: (addr_t)acpiHandle }},
{ ACPI_DEVICE_HANDLE_ITEM, B_UINT64_TYPE, { .ui64 = (addr_t)acpiHandle }},
{ NULL }
};
@@ -26,9 +26,9 @@ i2c_added_device(device_node *parent)
device_attr attributes[] = {
// info about device
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "I2C bus" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "i2c" }},
{ I2C_BUS_PATH_ID_ITEM, B_UINT8_TYPE, { ui8: (uint8)pathID }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "I2C bus" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "i2c" }},
{ I2C_BUS_PATH_ID_ITEM, B_UINT8_TYPE, { .ui8 = (uint8)pathID }},
{ NULL }
};
+2 -2
View File
@@ -111,9 +111,9 @@ isa_register_device(device_node *parent)
{
static const device_attr attrs[] = {
// tell where to look for child devices
{B_DEVICE_BUS, B_STRING_TYPE, {string: "isa" }},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "isa" }},
{B_DEVICE_FLAGS, B_UINT32_TYPE,
{ui32: B_FIND_CHILD_ON_DEMAND | B_FIND_MULTIPLE_CHILDREN}},
{.ui32 = B_FIND_CHILD_ON_DEMAND | B_FIND_MULTIPLE_CHILDREN}},
{}
};
+10 -10
View File
@@ -289,16 +289,16 @@ MMCBus::_WorkerThread(void* cookie)
uint16_t rca = response >> 16;
device_attr attrs[] = {
{ B_DEVICE_BUS, B_STRING_TYPE, {string: "mmc" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "mmc device" }},
{ B_DEVICE_VENDOR_ID, B_UINT32_TYPE, {ui32: vendor}},
{ B_DEVICE_ID, B_STRING_TYPE, {string: name}},
{ B_DEVICE_UNIQUE_ID, B_UINT32_TYPE, {ui32: serial}},
{ "mmc/revision", B_UINT16_TYPE, {ui16: revision}},
{ "mmc/month", B_UINT8_TYPE, {ui8: month}},
{ "mmc/year", B_UINT16_TYPE, {ui16: year}},
{ kMmcRcaAttribute, B_UINT16_TYPE, {ui16: rca}},
{ kMmcTypeAttribute, B_UINT8_TYPE, {ui8: cardType}},
{ B_DEVICE_BUS, B_STRING_TYPE, {.string = "mmc" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "mmc device" }},
{ B_DEVICE_VENDOR_ID, B_UINT32_TYPE, {.ui32 = vendor}},
{ B_DEVICE_ID, B_STRING_TYPE, {.string = name}},
{ B_DEVICE_UNIQUE_ID, B_UINT32_TYPE, {.ui32 = serial}},
{ "mmc/revision", B_UINT16_TYPE, {.ui16 = revision}},
{ "mmc/month", B_UINT8_TYPE, {.ui8 = month}},
{ "mmc/year", B_UINT16_TYPE, {.ui16 = year}},
{ kMmcRcaAttribute, B_UINT16_TYPE, {.ui16 = rca}},
{ kMmcTypeAttribute, B_UINT8_TYPE, {.ui8 = cardType}},
{}
};
@@ -67,8 +67,8 @@ mmc_bus_added_device(device_node* parent)
CALLED();
device_attr attributes[] = {
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "mmc"}},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "MMC bus root"}},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "mmc"}},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "MMC bus root"}},
{ NULL }
};
+22 -22
View File
@@ -125,27 +125,27 @@ pci_reserve_device(uchar virtualBus, uchar device, uchar function,
device_attr matchThis[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "pci"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "pci"}},
// location on PCI bus
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {ui8: domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {ui8: bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {ui8: device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {ui8: function}},
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {.ui8 = domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {.ui8 = bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {.ui8 = device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {.ui8 = function}},
{NULL}
};
device_attr legacyAttrs[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Legacy Driver Reservation"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Legacy Driver Reservation"}},
{NULL}
};
device_attr drvAttrs[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: driverName}},
{"legacy_driver", B_STRING_TYPE, {string: driverName}},
{"legacy_driver_cookie", B_UINT64_TYPE, {ui64: (uint64)nodeCookie}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = driverName}},
{"legacy_driver", B_STRING_TYPE, {.string = driverName}},
{"legacy_driver_cookie", B_UINT64_TYPE, {.ui64 = (uint64)nodeCookie}},
{NULL}
};
device_node *node, *legacy;
@@ -205,31 +205,31 @@ pci_unreserve_device(uchar virtualBus, uchar device, uchar function,
// domain, bus, device, function, driverName, nodeCookie));
device_attr matchPCIRoot[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "PCI"}},
{NULL}
};
device_attr matchThis[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "pci"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "pci"}},
// location on PCI bus
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {ui8: domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {ui8: bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {ui8: device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {ui8: function}},
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {.ui8 = domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {.ui8 = bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {.ui8 = device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {.ui8 = function}},
{NULL}
};
device_attr legacyAttrs[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Legacy Driver Reservation"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "legacy_driver"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Legacy Driver Reservation"}},
{NULL}
};
device_attr drvAttrs[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "legacy_driver"}},
{"legacy_driver", B_STRING_TYPE, {string: driverName}},
{"legacy_driver_cookie", B_UINT64_TYPE, {ui64: (uint64)nodeCookie}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "legacy_driver"}},
{"legacy_driver", B_STRING_TYPE, {.string = driverName}},
{"legacy_driver_cookie", B_UINT64_TYPE, {.ui64 = (uint64)nodeCookie}},
{NULL}
};
device_node *root, *pci, *node, *legacy, *drv;
@@ -81,8 +81,8 @@ pci_root_register_device(device_node* parent)
{}
};
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "PCI"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {ui32: B_KEEP_DRIVER_LOADED}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "PCI"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {.ui32 = B_KEEP_DRIVER_LOADED}},
{}
};
@@ -107,23 +107,23 @@ pci_root_register_child_devices(void* cookie)
device_attr attrs[] = {
// info about device
{B_DEVICE_BUS, B_STRING_TYPE, {string: "pci"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "pci"}},
// location on PCI bus
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {ui8: domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {ui8: bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {ui8: info.device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {ui8: info.function}},
{B_PCI_DEVICE_DOMAIN, B_UINT8_TYPE, {.ui8 = domain}},
{B_PCI_DEVICE_BUS, B_UINT8_TYPE, {.ui8 = bus}},
{B_PCI_DEVICE_DEVICE, B_UINT8_TYPE, {.ui8 = info.device}},
{B_PCI_DEVICE_FUNCTION, B_UINT8_TYPE, {.ui8 = info.function}},
// info about the device
{B_DEVICE_VENDOR_ID, B_UINT16_TYPE, { ui16: info.vendor_id }},
{B_DEVICE_ID, B_UINT16_TYPE, { ui16: info.device_id }},
{B_DEVICE_VENDOR_ID, B_UINT16_TYPE, {.ui16 = info.vendor_id}},
{B_DEVICE_ID, B_UINT16_TYPE, {.ui16 = info.device_id}},
{B_DEVICE_TYPE, B_UINT16_TYPE, { ui16: info.class_base }},
{B_DEVICE_SUB_TYPE, B_UINT16_TYPE, { ui16: info.class_sub }},
{B_DEVICE_INTERFACE, B_UINT16_TYPE, { ui16: info.class_api }},
{B_DEVICE_TYPE, B_UINT16_TYPE, {.ui16 = info.class_base}},
{B_DEVICE_SUB_TYPE, B_UINT16_TYPE, {.ui16 = info.class_sub}},
{B_DEVICE_INTERFACE, B_UINT16_TYPE, {.ui16 = info.class_api}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {ui32: B_FIND_CHILD_ON_DEMAND}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {.ui32 = B_FIND_CHILD_ON_DEMAND}},
{}
};
@@ -170,8 +170,8 @@ random_register_device(device_node *node)
// ready to register
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "Random" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_KEEP_DRIVER_LOADED }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "Random" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_KEEP_DRIVER_LOADED }},
{ NULL }
};
@@ -114,29 +114,29 @@ scsi_register_device(scsi_bus_info *bus, uchar target_id,
char product_rev[sizeof( inquiry_data->product_rev ) + 1];
device_attr attrs[] = {
// connection
{ SCSI_DEVICE_TARGET_ID_ITEM, B_UINT8_TYPE, { ui8: target_id }},
{ SCSI_DEVICE_TARGET_LUN_ITEM, B_UINT8_TYPE, { ui8: target_lun }},
{ SCSI_DEVICE_TARGET_ID_ITEM, B_UINT8_TYPE, { .ui8 = target_id }},
{ SCSI_DEVICE_TARGET_LUN_ITEM, B_UINT8_TYPE, { .ui8 = target_lun }},
// inquiry data (used for both identification and information)
{ SCSI_DEVICE_INQUIRY_ITEM, B_RAW_TYPE,
{ raw: { inquiry_data, sizeof( *inquiry_data ) }}},
{ .raw = { inquiry_data, sizeof( *inquiry_data ) }}},
// some more info for driver loading
{ SCSI_DEVICE_TYPE_ITEM, B_UINT8_TYPE, { ui8: inquiry_data->device_type }},
{ SCSI_DEVICE_VENDOR_ITEM, B_STRING_TYPE, { string: vendor_ident }},
{ SCSI_DEVICE_PRODUCT_ITEM, B_STRING_TYPE, { string: product_ident }},
{ SCSI_DEVICE_REVISION_ITEM, B_STRING_TYPE, { string: product_rev }},
{ SCSI_DEVICE_TYPE_ITEM, B_UINT8_TYPE, { .ui8 = inquiry_data->device_type }},
{ SCSI_DEVICE_VENDOR_ITEM, B_STRING_TYPE, { .string = vendor_ident }},
{ SCSI_DEVICE_PRODUCT_ITEM, B_STRING_TYPE, { .string = product_ident }},
{ SCSI_DEVICE_REVISION_ITEM, B_STRING_TYPE, { .string = product_rev }},
// description of peripheral drivers
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "scsi" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "scsi" }},
// extra restriction of maximum number of blocks per transfer
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { ui32: max_blocks }},
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { .ui32 = max_blocks }},
// atapi emulation
{ SCSI_DEVICE_IS_ATAPI_ITEM, B_UINT8_TYPE, { ui8: is_atapi }},
{ SCSI_DEVICE_IS_ATAPI_ITEM, B_UINT8_TYPE, { .ui8 = is_atapi }},
// manual autosense
{ SCSI_DEVICE_MANUAL_AUTOSENSE_ITEM, B_UINT8_TYPE, { ui8: manual_autosense }},
{ SCSI_DEVICE_MANUAL_AUTOSENSE_ITEM, B_UINT8_TYPE, { .ui8 = manual_autosense }},
{ NULL }
};
@@ -382,8 +382,8 @@ scsi_force_get_device(scsi_bus_info *bus, uchar target_id,
uchar target_lun, scsi_device_info **res_device)
{
device_attr attrs[] = {
{ SCSI_DEVICE_TARGET_ID_ITEM, B_UINT8_TYPE, { ui8: target_id }},
{ SCSI_DEVICE_TARGET_LUN_ITEM, B_UINT8_TYPE, { ui8: target_lun }},
{ SCSI_DEVICE_TARGET_ID_ITEM, B_UINT8_TYPE, { .ui8 = target_id }},
{ SCSI_DEVICE_TARGET_LUN_ITEM, B_UINT8_TYPE, { .ui8 = target_lun }},
{ NULL }
};
device_node *node;
@@ -47,16 +47,16 @@ scsi_controller_added(device_node *parent)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: "SCSI Controller" }},
{ .string = "SCSI Controller" }},
// remember who we are
// (could use the controller name, but probably some software would choke)
// TODO create_id() generates a 32 bit ranged integer but we need only 8 bits
{ SCSI_BUS_PATH_ID_ITEM, B_UINT8_TYPE, { ui8: (uint8)pathID }},
{ SCSI_BUS_PATH_ID_ITEM, B_UINT8_TYPE, { .ui8 = (uint8)pathID }},
// tell PnP manager to clean up ID
// { PNP_MANAGER_ID_GENERATOR, B_STRING_TYPE, { string: SCSI_PATHID_GENERATOR }},
// { PNP_MANAGER_AUTO_ID, B_UINT32_TYPE, { ui32: path_id }},
// { PNP_MANAGER_ID_GENERATOR, B_STRING_TYPE, { .string = SCSI_PATHID_GENERATOR }},
// { PNP_MANAGER_AUTO_ID, B_UINT32_TYPE, { .ui32 = path_id }},
{}
};
@@ -843,14 +843,14 @@ Device::RegisterNode(device_node *parent)
parent = ((Device*)Parent())->Node();
device_attr attrs[128] = {
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "usb" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "usb" }},
// location
{ USB_DEVICE_ID_ITEM, B_UINT32_TYPE, { ui32: id }},
{ USB_DEVICE_ID_ITEM, B_UINT32_TYPE, { .ui32 = id }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "USB device" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "USB device" }},
{ NULL }
};
@@ -220,9 +220,9 @@ virtio_added_device(device_node *parent)
device_attr attributes[] = {
// info about device
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "virtio" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "virtio" }},
{ VIRTIO_DEVICE_TYPE_ITEM, B_UINT16_TYPE,
{ ui16: deviceType }},
{ .ui16 = deviceType }},
{ NULL }
};
@@ -111,7 +111,7 @@ virtio_balloon_register_child_devices(void *cookie)
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: VIRTIO_BALLOON_CONTROLLER_PRETTY_NAME }},
{ .string = VIRTIO_BALLOON_CONTROLLER_PRETTY_NAME }},
{ NULL }
};
@@ -64,23 +64,23 @@ publish_channel(device_node *parent, uint16 command_block_base,
uint16 control_block_base, uint8 intnum, const char *name)
{
device_attr attrs[] = {
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE, { string: ATA_FOR_CONTROLLER_MODULE_NAME }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE, { .string = ATA_FOR_CONTROLLER_MODULE_NAME }},
// properties of this controller for ata bus manager
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { ui8: 2 }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: 0 }},
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE, { string: name }},
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { .ui8 = 2 }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = 0 }},
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE, { .string = name }},
// DMA properties; the 16 bit alignment is not necessary as
// the ata bus manager handles that very efficiently, but why
// not use the block device manager for doing that?
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 1 }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = 1 }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
// private data to identify device
{ ATA_ISA_COMMAND_BLOCK_BASE, B_UINT16_TYPE, { ui16: command_block_base }},
{ ATA_ISA_CONTROL_BLOCK_BASE, B_UINT16_TYPE, { ui16: control_block_base }},
{ ATA_ISA_INTNUM, B_UINT8_TYPE, { ui8: intnum }},
{ ATA_ISA_COMMAND_BLOCK_BASE, B_UINT16_TYPE, { .ui16 = command_block_base }},
{ ATA_ISA_CONTROL_BLOCK_BASE, B_UINT16_TYPE, { .ui16 = control_block_base }},
{ ATA_ISA_INTNUM, B_UINT8_TYPE, { .ui8 = intnum }},
{ NULL }
};
io_resource resources[3] = {
@@ -179,28 +179,27 @@ publish_controller(device_node *parent, uint16 bus_master_base, uint8 intnum,
device_attr attrs[] = {
// properties of this controller for ide bus manager
// there are always max. 2 devices
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { ui8: 2 }},
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { .ui8 = 2 }},
// of course we can DMA
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: 1 }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = 1 }},
// choose any name here
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE, { string: "Promise TX2" }},
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE, { .string = "Promise TX2" }},
// DMA properties
// some say it must be dword-aligned, others that it can be byte-aligned;
// stay on the safe side
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 3 }},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = 3 }},
// one S/G block must not cross 64K boundary
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { ui32: 0xffff }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { .ui32 = 0xffff }},
// size of S/G block is 16 bits with zero being 64K
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE,
{ ui32: ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { .ui32 = 0x10000 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { .ui32 = ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
// private data to find controller
{ ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }},
{ ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { .ui16 = bus_master_base }},
// store interrupt in controller node
{ ATA_ADAPTER_INTNUM, B_UINT8_TYPE, { ui8: intnum }},
{ ATA_ADAPTER_INTNUM, B_UINT8_TYPE, { .ui8 = intnum }},
{ NULL }
};
@@ -205,32 +205,32 @@ controller_probe(device_node *parent)
// (unless this is a Compact Flash Card with a built-in ATA
// controller, which has exactly 1 device)
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE,
{ ui8: kASICData[asicIndex].channel_count }},
{ .ui8 = kASICData[asicIndex].channel_count }},
// of course we can DMA
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: true }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = true }},
// choose any name here
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE,
{ string: CONTROLLER_NAME }},
{ .string = CONTROLLER_NAME }},
// DMA properties
// data must be word-aligned;
// warning: some controllers are more picky!
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 1}},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = 1}},
// one S/G block must not cross 64K boundary
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { ui32: 0xffff }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { .ui32 = 0xffff }},
// max size of S/G block is 16 bits with zero being 64K
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { .ui32 = 0x10000 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE,
{ ui32: ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ .ui32 = ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
// private data to find controller
{ "silicon_image_3112/asic_index", B_UINT32_TYPE,
{ ui32: asicIndex }},
{ .ui32 = asicIndex }},
{ "silicon_image_3112/mmio_base", B_UINT32_TYPE,
{ ui32: mmioBase }},
{ .ui32 = mmioBase }},
{ "silicon_image_3112/int_num", B_UINT32_TYPE,
{ ui32: interruptNumber }},
{ .ui32 = interruptNumber }},
{ NULL }
};
@@ -373,13 +373,13 @@ controller_register_channels(void *cookie)
for (index = 0; index < kASICData[controller->asic_index].channel_count;
index++) {
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: DRIVER_PRETTY_NAME }},
// { PNP_DRIVER_CONNECTION, B_STRING_TYPE, { string: kControllerChannelData[channelIndex].name }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE, { string: ATA_FOR_CONTROLLER_MODULE_NAME }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = DRIVER_PRETTY_NAME }},
// { PNP_DRIVER_CONNECTION, B_STRING_TYPE, { .string = kControllerChannelData[channelIndex].name }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE, { .string = ATA_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify channel
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: true }},
{ "silicon_image_3112/chan_index", B_UINT32_TYPE, { ui32: index }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = true }},
{ "silicon_image_3112/chan_index", B_UINT32_TYPE, { .ui32 = index }},
{ NULL }
};
@@ -87,9 +87,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for i2c bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: I2C_FOR_CONTROLLER_MODULE_NAME }},
{ .string = I2C_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -163,7 +163,7 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "PCH I2C ACPI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "PCH I2C ACPI"}},
{}
};
@@ -48,8 +48,8 @@ pci_scan_bus(i2c_bus_cookie cookie)
device_node* deviceRoot = gDeviceManager->get_root_node();
uint32 addr = (pciInfo->device << 16) | pciInfo->function;
device_attr acpiAttrs[] = {
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "acpi" }},
{ ACPI_DEVICE_ADDR_ITEM, B_UINT32_TYPE, {ui32: addr}},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "acpi" }},
{ ACPI_DEVICE_ADDR_ITEM, B_UINT32_TYPE, {.ui32 = addr}},
{ NULL }
};
if (addr != 0 && gDeviceManager->find_child_node(deviceRoot, acpiAttrs,
@@ -89,9 +89,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for i2c bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: I2C_FOR_CONTROLLER_MODULE_NAME }},
{ .string = I2C_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -232,7 +232,7 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "PCH I2C PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "PCH I2C PCI"}},
{}
};
+11 -11
View File
@@ -781,24 +781,24 @@ register_child_devices(void* cookie)
sprintf(prettyName, "SDHC bus %" B_PRIu8, slot);
device_attr attrs[] = {
// properties of this controller for mmc bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: prettyName } },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = prettyName } },
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{string: MMC_BUS_MODULE_NAME} },
{ B_DEVICE_BUS, B_STRING_TYPE, {string: "mmc"} },
{.string = MMC_BUS_MODULE_NAME} },
{ B_DEVICE_BUS, B_STRING_TYPE, {.string = "mmc"} },
// DMA properties
// The high alignment is to force access only to complete sectors
// These constraints could be removed by using ADMA which allows
// use of the full 64bit address space and can do scatter-gather.
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 511 }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { ui32: (1 << 19) - 1 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { ui32: 1 }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: (1 << 10) - 1 }},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = 511 }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { .ui32 = (1 << 19) - 1 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE, { .ui32 = 1 }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { .ui32 = (1 << 10) - 1 }},
// private data to identify device
{ SLOT_NUMBER, B_UINT8_TYPE, { ui8: slot} },
{ BAR_INDEX, B_UINT8_TYPE, { ui8: bar} },
{ SLOT_NUMBER, B_UINT8_TYPE, { .ui8 = slot} },
{ BAR_INDEX, B_UINT8_TYPE, { .ui8 = bar} },
{ NULL }
};
device_node* node;
@@ -894,7 +894,7 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "SD Host Controller"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "SD Host Controller"}},
{}
};
+2 -2
View File
@@ -55,8 +55,8 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "CCP device"}},
{B_DEVICE_BUS, B_STRING_TYPE, {string: "CCP"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "CCP device"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "CCP"}},
{}
};
@@ -109,9 +109,9 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "CCP ACPI"}},
{B_DEVICE_BUS, B_STRING_TYPE, {string: "CCP"}},
{B_DEVICE_FIXED_CHILD, B_STRING_TYPE, {string: CCP_DEVICE_MODULE_NAME}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "CCP ACPI"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "CCP"}},
{B_DEVICE_FIXED_CHILD, B_STRING_TYPE, {.string = CCP_DEVICE_MODULE_NAME}},
{}
};
@@ -89,9 +89,9 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "CCP PCI"}},
{B_DEVICE_BUS, B_STRING_TYPE, {string: "CCP"}},
{B_DEVICE_FIXED_CHILD, B_STRING_TYPE, {string: CCP_DEVICE_MODULE_NAME}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "CCP PCI"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "CCP"}},
{B_DEVICE_FIXED_CHILD, B_STRING_TYPE, {.string = CCP_DEVICE_MODULE_NAME}},
{}
};
+14 -14
View File
@@ -174,17 +174,17 @@ register_sim(device_node *parent)
{
device_attr attrs[] = {
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: SCSI_FOR_SIM_MODULE_NAME }},
{ .string = SCSI_FOR_SIM_MODULE_NAME }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: AHCI_CONTROLLER_PRETTY_NAME }},
{ .string = AHCI_CONTROLLER_PRETTY_NAME }},
{ SCSI_DESCRIPTION_CONTROLLER_NAME, B_STRING_TYPE,
{ string: AHCI_DEVICE_MODULE_NAME }},
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { ui32: 255 }},
{ AHCI_ID_ITEM, B_UINT32_TYPE, { ui32: (uint32)id }},
{ .string = AHCI_DEVICE_MODULE_NAME }},
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { .ui32 = 255 }},
{ AHCI_ID_ITEM, B_UINT32_TYPE, { .ui32 = (uint32)id }},
// { PNP_MANAGER_ID_GENERATOR, B_STRING_TYPE,
// { string: AHCI_ID_GENERATOR }},
// { PNP_MANAGER_AUTO_ID, B_UINT32_TYPE, { ui32: id }},
// { .string = AHCI_ID_GENERATOR }},
// { PNP_MANAGER_AUTO_ID, B_UINT32_TYPE, { .ui32 = id }},
{ NULL }
};
@@ -265,20 +265,20 @@ ahci_register_device(device_node *parent)
{
device_attr attrs[] = {
{ SCSI_DEVICE_MAX_TARGET_COUNT, B_UINT32_TYPE,
{ ui32: 33 }},
{ .ui32 = 33 }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: AHCI_BRIDGE_PRETTY_NAME }},
{ .string = AHCI_BRIDGE_PRETTY_NAME }},
// DMA properties
// data must be word-aligned;
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: 1 }},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = 1 }},
// one S/G block must not cross 64K boundary
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { ui32: 0xffff }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { .ui32 = 0xffff }},
// max size of S/G block is 16 bits with zero being 64K
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: 0x10000 }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { .ui32 = 0x10000 }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE,
{ ui32: 32 /* whatever... */ }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ .ui32 = 32 /* whatever... */ }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
// TODO: We don't know at this point whether 64 bit addressing is
// supported. That's indicated by a capability flag. Play it safe
// for now.
@@ -212,16 +212,16 @@ virtio_scsi_register_device(device_node *parent)
device_attr attrs[] = {
{ SCSI_DEVICE_MAX_TARGET_COUNT, B_UINT32_TYPE,
{ ui32: max_targets }},
{ .ui32 = max_targets }},
{ SCSI_DEVICE_MAX_LUN_COUNT, B_UINT32_TYPE,
{ ui32: max_luns }},
{ .ui32 = max_luns }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: VIRTIO_SCSI_BRIDGE_PRETTY_NAME }},
{ .string = VIRTIO_SCSI_BRIDGE_PRETTY_NAME }},
// DMA properties
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { ui32: max_blocks }},
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE, { .ui32 = max_blocks }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE,
{ ui32: config.seg_max }},
{ .ui32 = config.seg_max }},
{ NULL }
};
@@ -251,13 +251,13 @@ virtio_scsi_register_child_devices(void *cookie)
device_attr attrs[] = {
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: SCSI_FOR_SIM_MODULE_NAME }},
{ .string = SCSI_FOR_SIM_MODULE_NAME }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: VIRTIO_SCSI_CONTROLLER_PRETTY_NAME }},
{ .string = VIRTIO_SCSI_CONTROLLER_PRETTY_NAME }},
{ SCSI_DESCRIPTION_CONTROLLER_NAME, B_STRING_TYPE,
{ string: VIRTIO_SCSI_DEVICE_MODULE_NAME }},
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { ui32: 255 }},
{ VIRTIO_SCSI_ID_ITEM, B_UINT32_TYPE, { ui32: (uint32)id }},
{ .string = VIRTIO_SCSI_DEVICE_MODULE_NAME }},
{ B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, { .ui32 = 255 }},
{ VIRTIO_SCSI_ID_ITEM, B_UINT32_TYPE, { .ui32 = (uint32)id }},
{ NULL }
};
+6 -6
View File
@@ -107,9 +107,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for the usb bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: USB_FOR_CONTROLLER_MODULE_NAME }},
{ .string = USB_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -165,7 +165,7 @@ register_device(device_node* parent)
{
CALLED();
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "EHCI PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "EHCI PCI"}},
{}
};
@@ -401,9 +401,9 @@ EHCI::EHCI(pci_info *info, pci_device_module_info* pci, pci_device* device, Stac
device_node *pciNode = NULL;
device_node* deviceRoot = gDeviceManager->get_root_node();
device_attr acpiAttrs[] = {
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "pci" }},
{ B_DEVICE_VENDOR_ID, B_UINT16_TYPE, {ui16: AMD_SBX00_VENDOR}},
{ B_DEVICE_ID, B_UINT16_TYPE, {ui16: AMD_SBX00_SMBUS_CONTROLLER}},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "pci" }},
{ B_DEVICE_VENDOR_ID, B_UINT16_TYPE, { .ui16 = AMD_SBX00_VENDOR }},
{ B_DEVICE_ID, B_UINT16_TYPE, { .ui16 = AMD_SBX00_SMBUS_CONTROLLER }},
{ NULL }
};
if (gDeviceManager->find_child_node(deviceRoot, acpiAttrs,
+3 -3
View File
@@ -109,9 +109,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for the usb bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: USB_FOR_CONTROLLER_MODULE_NAME }},
{ .string = USB_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -166,7 +166,7 @@ register_device(device_node* parent)
{
CALLED();
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "OHCI PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "OHCI PCI"}},
{}
};
+3 -3
View File
@@ -107,9 +107,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for the usb bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: USB_FOR_CONTROLLER_MODULE_NAME }},
{ .string = USB_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -164,7 +164,7 @@ register_device(device_node* parent)
{
CALLED();
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "UHCI PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "UHCI PCI"}},
{}
};
+3 -3
View File
@@ -113,9 +113,9 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for the usb bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: USB_FOR_CONTROLLER_MODULE_NAME }},
{ .string = USB_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ NULL }
@@ -170,7 +170,7 @@ register_device(device_node* parent)
{
CALLED();
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "XHCI PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "XHCI PCI"}},
{}
};
@@ -229,13 +229,12 @@ virtio_device_register_device(device_node* parent)
TRACE(" vendorId: 0x%08" B_PRIx32 "\n", mappedRegs->vendorId);
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Virtio MMIO"} },
{ B_DEVICE_BUS, B_STRING_TYPE, {string: "virtio"} },
{ "virtio/version", B_UINT32_TYPE, {ui32: mappedRegs->version} },
{ "virtio/device_id", B_UINT32_TYPE, {ui32: mappedRegs->deviceId} },
{ "virtio/type", B_UINT16_TYPE,
{ui16: (uint16)mappedRegs->deviceId} },
{ "virtio/vendor_id", B_UINT32_TYPE, {ui32: mappedRegs->vendorId} },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Virtio MMIO"} },
{ B_DEVICE_BUS, B_STRING_TYPE, {.string = "virtio"} },
{ "virtio/version", B_UINT32_TYPE, {.ui32 = mappedRegs->version} },
{ "virtio/device_id", B_UINT32_TYPE, {.ui32 = mappedRegs->deviceId} },
{ "virtio/type", B_UINT16_TYPE, {.ui16 = (uint16)mappedRegs->deviceId} },
{ "virtio/vendor_id", B_UINT32_TYPE, {.ui32 = mappedRegs->vendorId} },
{ NULL }
};
@@ -554,15 +554,15 @@ register_child_devices(void* cookie)
device_attr attrs[] = {
// properties of this controller for virtio bus manager
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: VIRTIO_FOR_CONTROLLER_MODULE_NAME }},
{ .string = VIRTIO_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify the device
{ VIRTIO_DEVICE_TYPE_ITEM, B_UINT16_TYPE,
{ ui16: pciSubDeviceId }},
{ .ui16 = pciSubDeviceId }},
{ VIRTIO_VRING_ALIGNMENT_ITEM, B_UINT16_TYPE,
{ ui16: VIRTIO_PCI_VRING_ALIGN }},
{ .ui16 = VIRTIO_PCI_VRING_ALIGN }},
{ NULL }
};
@@ -584,7 +584,7 @@ static status_t
register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Virtio PCI"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Virtio PCI"}},
{}
};
@@ -211,18 +211,18 @@ raw_device_added(device_node_handle node)
// ready to register
{
device_attr attrs[] = {
{ B_DRIVER_MODULE, B_STRING_TYPE, { string: SCSI_RAW_MODULE_NAME }},
{ B_DRIVER_MODULE, B_STRING_TYPE, { .string = SCSI_RAW_MODULE_NAME }},
// default connection is used by peripheral drivers, and as we don't
// want to kick them out, we use concurrent "raw" connection
// (btw: this shows nicely that something goes wrong: one device
// and two drivers means begging for trouble)
{ PNP_DRIVER_CONNECTION, B_STRING_TYPE, { string: "raw" }},
{ PNP_DRIVER_CONNECTION, B_STRING_TYPE, { .string = "raw" }},
// we want devfs on top of us (who wouldn't?)
{ B_DRIVER_FIXED_CHILD, B_STRING_TYPE, { string: PNP_DEVFS_MODULE_NAME }},
{ B_DRIVER_FIXED_CHILD, B_STRING_TYPE, { .string = PNP_DEVFS_MODULE_NAME }},
// tell which name we want to have in devfs
{ PNP_DEVFS_FILENAME, B_STRING_TYPE, { string: name }},
{ PNP_DEVFS_FILENAME, B_STRING_TYPE, { .string = name }},
{ NULL }
};
@@ -114,7 +114,7 @@ mmc_disk_register_device(device_node* node)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "SD Card" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "SD Card" }},
{ NULL }
};
@@ -1045,7 +1045,7 @@ nvme_disk_register_device(device_node* parent)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "NVMe Disk" } },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "NVMe Disk" } },
{ NULL }
};
@@ -1098,9 +1098,9 @@ cd_register_device(device_node* node)
// ready to register
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "SCSI CD-ROM Drive"}},
{"removable", B_UINT8_TYPE, {ui8: deviceInquiry->removable_medium}},
{B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, {ui32: maxBlocks}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "SCSI CD-ROM Drive"}},
{"removable", B_UINT8_TYPE, {.ui8 = deviceInquiry->removable_medium}},
{B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, {.ui32 = maxBlocks}},
{ NULL }
};
@@ -583,11 +583,11 @@ das_register_device(device_node *node)
// ready to register
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "SCSI Disk" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "SCSI Disk" }},
// tell block_io whether the device is removable
{"removable", B_UINT8_TYPE, {ui8: deviceInquiry->removable_medium}},
{"removable", B_UINT8_TYPE, {.ui8 = deviceInquiry->removable_medium}},
// impose own max block restriction
{B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, {ui32: maxBlocks}},
{B_DMA_MAX_TRANSFER_BLOCKS, B_UINT32_TYPE, {.ui32 = maxBlocks}},
{ NULL }
};
@@ -196,10 +196,10 @@ struct ControlDevice : Device {
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{string: "RAM Disk Raw Device"}},
{kDeviceSizeItem, B_UINT64_TYPE, {ui64: deviceSize}},
{kDeviceIDItem, B_UINT32_TYPE, {ui32: (uint32)id}},
{kFilePathItem, B_STRING_TYPE, {string: filePath}},
{.string = "RAM Disk Raw Device"}},
{kDeviceSizeItem, B_UINT64_TYPE, {.ui64 = deviceSize}},
{kDeviceIDItem, B_UINT32_TYPE, {.ui32 = (uint32)id}},
{kFilePathItem, B_STRING_TYPE, {.string = filePath}},
{NULL}
};
@@ -1140,7 +1140,7 @@ ram_disk_driver_register_device(device_node* parent)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{string: "RAM Disk Control Device"}},
{.string = "RAM Disk Control Device"}},
{NULL}
};
@@ -561,7 +561,7 @@ virtio_block_register_device(device_node *node)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Virtio Block"} },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Virtio Block"} },
{ NULL }
};
@@ -226,8 +226,8 @@ register_displays(const char *parentName, device_node *node)
if (i == pkgData->package.count) continue;
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: name }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { ui32: B_KEEP_DRIVER_LOADED }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = name }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, { .ui32 = B_KEEP_DRIVER_LOADED }},
{ NULL }
};
@@ -252,9 +252,9 @@ static status_t
displayadapter_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "Display Adapter" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "Display Adapter" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE, {
ui32: B_KEEP_DRIVER_LOADED | B_FIND_MULTIPLE_CHILDREN }},
.ui32 = B_KEEP_DRIVER_LOADED | B_FIND_MULTIPLE_CHILDREN }},
{ NULL }
};
@@ -328,8 +328,8 @@ i2c_hid_register_device(device_node *node)
uint32 descriptorAddress = object->integer.integer;
free(object);
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "I2C HID Device" }},
{ "descriptorAddress", B_UINT32_TYPE, { ui32: descriptorAddress }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "I2C HID Device" }},
{ "descriptorAddress", B_UINT32_TYPE, { .ui32 = descriptorAddress }},
{ NULL }
};
@@ -441,7 +441,7 @@ virtio_input_register_device(device_node *node)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "VirtIO input" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "VirtIO input" }},
{ NULL }
};
@@ -190,7 +190,7 @@ usb_ecm_register_device(device_node *node)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "USB ECM"} },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "USB ECM"} },
{ NULL }
};
@@ -896,7 +896,7 @@ virtio_net_register_device(device_node* node)
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Virtio Network"} },
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Virtio Network"} },
{ NULL }
};
@@ -162,7 +162,7 @@ static status_t
acpi_ac_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI AC" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI AC" }},
{ NULL }
};
@@ -523,7 +523,7 @@ static status_t
acpi_battery_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI Battery" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI Battery" }},
{ NULL }
};
@@ -288,7 +288,7 @@ static status_t
acpi_button_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI Button" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI Button" }},
{ NULL }
};
@@ -229,7 +229,7 @@ static status_t
acpi_lid_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI Lid" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI Lid" }},
{ NULL }
};
@@ -213,7 +213,7 @@ static status_t
acpi_thermal_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI Thermal" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI Thermal" }},
{ NULL }
};
@@ -221,7 +221,7 @@ static status_t
pch_thermal_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "PCH Thermal" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "PCH Thermal" }},
{ NULL }
};
@@ -533,7 +533,7 @@ static status_t
acpi_cpuidle_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI CPU IDLE" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI CPU IDLE" }},
{ NULL }
};
@@ -221,7 +221,7 @@ static status_t
acpi_als_register_device(device_node *node)
{
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "ACPI ALS" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "ACPI ALS" }},
{ NULL }
};
+5 -5
View File
@@ -108,15 +108,15 @@ WMIACPI::Scan()
_GuidToGuidString(guid, guidString);
device_attr attrs[] = {
// connection
{ WMI_GUID_STRING_ITEM, B_STRING_TYPE, { string: guidString }},
{ WMI_GUID_STRING_ITEM, B_STRING_TYPE, { .string = guidString }},
{ WMI_BUS_COOKIE, B_UINT32_TYPE, { ui32: index }},
{ WMI_BUS_COOKIE, B_UINT32_TYPE, { .ui32 = index }},
// description of peripheral drivers
{ B_DEVICE_BUS, B_STRING_TYPE, { string: "wmi" }},
{ B_DEVICE_BUS, B_STRING_TYPE, { .string = "wmi" }},
{ B_DEVICE_FLAGS, B_UINT32_TYPE,
{ ui32: B_FIND_MULTIPLE_CHILDREN }},
{ .ui32 = B_FIND_MULTIPLE_CHILDREN }},
{ NULL }
};
@@ -412,7 +412,7 @@ wmi_acpi_register_device(device_node *node)
{
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "WMI ACPI" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "WMI ACPI" }},
{ NULL }
};
+1 -1
View File
@@ -261,7 +261,7 @@ wmi_asus_register_device(device_node *node)
{
CALLED();
device_attr attrs[] = {
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { string: "WMI ASUS" }},
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE, { .string = "WMI ASUS" }},
{ NULL }
};
@@ -496,18 +496,18 @@ ata_adapter_publish_channel(device_node *controller_node,
device_attr attrs[] = {
// info about ourself and our consumer
{ B_DEVICE_PRETTY_NAME, B_STRING_TYPE,
{ string: prettyName }},
{ .string = prettyName }},
{ B_DEVICE_FIXED_CHILD, B_STRING_TYPE,
{ string: ATA_FOR_CONTROLLER_MODULE_NAME }},
{ .string = ATA_FOR_CONTROLLER_MODULE_NAME }},
// private data to identify channel
{ ATA_ADAPTER_COMMAND_BLOCK_BASE, B_UINT16_TYPE,
{ ui16: command_block_base }},
{ .ui16 = command_block_base }},
{ ATA_ADAPTER_CONTROL_BLOCK_BASE, B_UINT16_TYPE,
{ ui16: control_block_base }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: can_dma }},
{ ATA_ADAPTER_INTNUM, B_UINT8_TYPE, { ui8: intnum }},
{ ATA_ADAPTER_CHANNEL_INDEX, B_UINT8_TYPE, { ui8: channel_index }},
{ .ui16 = control_block_base }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = can_dma }},
{ ATA_ADAPTER_INTNUM, B_UINT8_TYPE, { .ui8 = intnum }},
{ ATA_ADAPTER_CHANNEL_INDEX, B_UINT8_TYPE, { .ui8 = channel_index }},
{ NULL }
};
@@ -714,28 +714,28 @@ ata_adapter_publish_controller(device_node *parent, uint16 bus_master_base,
// there are always max. 2 devices
// (unless this is a Compact Flash Card with a built-in IDE controller,
// which has exactly 1 device)
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { ui8: 2 }},
{ ATA_CONTROLLER_MAX_DEVICES_ITEM, B_UINT8_TYPE, { .ui8 = 2 }},
// of course we can DMA
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { ui8: can_dma }},
{ ATA_CONTROLLER_CAN_DMA_ITEM, B_UINT8_TYPE, { .ui8 = can_dma }},
// choose any name here
{ ATA_CONTROLLER_CONTROLLER_NAME_ITEM, B_STRING_TYPE,
{ string: controller_name }},
{ .string = controller_name }},
// DMA properties
// data must be word-aligned;
// warning: some controllers are more picky!
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { ui32: dma_alignment /*1*/}},
{ B_DMA_ALIGNMENT, B_UINT32_TYPE, { .ui32 = dma_alignment /*1*/}},
// one S/G block must not cross 64K boundary
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { ui32: dma_boundary/*0xffff*/ }},
{ B_DMA_BOUNDARY, B_UINT32_TYPE, { .ui32 = dma_boundary/*0xffff*/ }},
// max size of S/G block is 16 bits with zero being 64K
{ B_DMA_MAX_SEGMENT_BLOCKS, B_UINT32_TYPE,
{ ui32: max_sg_block_size/*0x10000*/ }},
{ .ui32 = max_sg_block_size/*0x10000*/ }},
{ B_DMA_MAX_SEGMENT_COUNT, B_UINT32_TYPE,
{ ui32: ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { ui64: 0x100000000LL }},
{ .ui32 = ATA_ADAPTER_MAX_SG_COUNT }},
{ B_DMA_HIGH_ADDRESS, B_UINT64_TYPE, { .ui64 = 0x100000000LL }},
// private data to find controller
{ ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { ui16: bus_master_base }},
{ ATA_ADAPTER_BUS_MASTER_BASE, B_UINT16_TYPE, { .ui16 = bus_master_base }},
{ NULL }
};
@@ -315,10 +315,10 @@ openpic_register_device(device_node *parent)
device_node *newNode;
device_attr attrs[] = {
// info about ourself
{ B_DEVICE_TYPE, B_UINT16_TYPE, { ui16: PCI_base_peripheral }},
{ B_DEVICE_SUB_TYPE, B_UINT16_TYPE, { ui16: PCI_pic }},
{ B_DEVICE_TYPE, B_UINT16_TYPE, { .ui16 = PCI_base_peripheral }},
{ B_DEVICE_SUB_TYPE, B_UINT16_TYPE, { .ui16 = PCI_pic }},
// TODO How do we identify ourselves as OpenPIC?
{ B_DEVICE_INTERFACE, B_UINT16_TYPE, { ui16: PCI_pic_8259 }},
{ B_DEVICE_INTERFACE, B_UINT16_TYPE, { .ui16 = PCI_pic_8259 }},
{}
};
io_resource resources[] = {
@@ -2381,10 +2381,10 @@ static void
init_node_tree(void)
{
device_attr attrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Devices Root"}},
{B_DEVICE_BUS, B_STRING_TYPE, {string: "root"}},
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Devices Root"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "root"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE,
{ui32: B_FIND_MULTIPLE_CHILDREN | B_KEEP_DRIVER_LOADED }},
{.ui32 = B_FIND_MULTIPLE_CHILDREN | B_KEEP_DRIVER_LOADED }},
{NULL}
};
@@ -2395,9 +2395,9 @@ init_node_tree(void)
}
device_attr genericAttrs[] = {
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {string: "Generic"}},
{B_DEVICE_BUS, B_STRING_TYPE, {string: "generic"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {ui32: B_FIND_MULTIPLE_CHILDREN
{B_DEVICE_PRETTY_NAME, B_STRING_TYPE, {.string = "Generic"}},
{B_DEVICE_BUS, B_STRING_TYPE, {.string = "generic"}},
{B_DEVICE_FLAGS, B_UINT32_TYPE, {.ui32 = B_FIND_MULTIPLE_CHILDREN
| B_KEEP_DRIVER_LOADED | B_FIND_CHILD_ON_DEMAND}},
{NULL}
};