printk_spew(" parent: (%p) %s\n",
dev->bus->dev, dev_path(dev->bus->dev));
dev->chip = chip;
- dev->enable = chip->path[i].enable;
+ dev->enabled = chip->path[i].enable;
dev->links = link + 1;
for (child = chip->children; child; child = child->next) {
if (!child->bus && child->link == i) {
* A static device chain is a linked list of static device structures which are
* on the same branch of the static device tree. This function does not only
* enumerate the devices on a single chain, as its name suggest, it also walks
- * into the subordinary chains. It calls the device specific
+ * into the subordinary chains by recursion. It calls the device specific
* chip_control::enumerate() of the device if one exists or calls the generic
* chip_enumerate().
*
/**
* @brief Enumerate static devices in the system.
*
- * \note The definition of 'enumerate' is not clear in this context. Does it mean
- * probe ?
+ * Static device is . Static devices are actually enumerated or "listed" in
+ * the Config.lb config file and the corresponding data structures are
+ * generated by config tool in the static.c.
+ *
+ * \note The definition of 'enumerate' is not clear in this context. Does it
+ * mean probe ?
*
* \note How do we determine the existence of the static devices ? Static
* devices are listed in the config file and generated at compile time by config
*/
void enumerate_static_devices(void)
{
+ printk_info("Enumerating static devices...\n");
enumerate_static_device_chain(&static_root);
}
}
/* If we don't have any other information about a device enable it */
- dev->enable = 1;
+ dev->enabled = 1;
return dev;
}
dev_path(curdev));
continue;
}
- if (!curdev->enable) {
+ if (!curdev->enabled) {
continue;
}
for (curdev = bus->children; curdev; curdev = curdev->sibling) {
if (!curdev->ops || !curdev->ops->set_resources) {
printk_err("%s missing set_resources\n",
- dev_path(curdev));
+ dev_path(curdev));
continue;
}
- if (!curdev->enable) {
+ if (!curdev->enabled) {
continue;
}
curdev->ops->set_resources(curdev);
printk_err("%s missing enable_resources\n", dev_path(dev));
return;
}
- if (!dev->enable) {
+ if (!dev->enabled) {
return;
}
dev->ops->enable_resources(dev);
* @brief Determine the existence of dynamic devices and construct dynamic
* device tree.
*
- * Start for the root device 'dev_root', scan the buses in the system
+ * Start form the root device 'dev_root', scan the buses in the system
* recursively, build the dynamic device tree according to the result
* of the probe.
*
printk_info("Initializing devices...\n");
for (dev = all_devices; dev; dev = dev->next) {
- if (dev->enable && dev->ops && dev->ops->init) {
+ if (dev->enabled && dev->ops && dev->ops->init) {
printk_debug("%s init\n", dev_path(dev));
dev->ops->init(dev);
}
*chain_last = dev;
/* Run the magice enable sequence for the device */
if (dev->chip && dev->chip->control && dev->chip->control->enable_dev) {
- int enable = dev->enable;
- dev->enable = 1;
+ int enable = dev->enabled;
+ dev->enabled = 1;
dev->chip->control->enable_dev(dev);
- dev->enable = enable;
+ dev->enabled = enable;
}
/* Now read the vendor and device id */
id = pci_read_config32(dev, PCI_VENDOR_ID);
printk_debug("%s [%04x/%04x] %s next_unitid: %04x\n",
dev_path(dev),
dev->vendor, dev->device,
- (dev->enable? "enabled": "disabled"), next_unitid);
+ (dev->enabled? "enabled": "disabled"), next_unitid);
} while((last_unitid != next_unitid) && (next_unitid <= 0x1f));
#if HAVE_HARD_RESET == 1
break;
default:
bad:
- if (dev->enable) {
+ if (dev->enabled) {
printk_err("%s [%04x/%04x/%06x] has unknown header "
"type %02x, ignoring.\n",
dev_path(dev),
* some arbitray code without any justification */
if (dev->chip && dev->chip->control &&
dev->chip->control->enable_dev) {
- int enable = dev->enable;
- dev->enable = 1;
+ int enable = dev->enabled;
+ dev->enabled = 1;
dev->chip->control->enable_dev(dev);
- dev->enable = enable;
+ dev->enabled = enable;
}
/* Now read the vendor and device id */
id = pci_read_config32(dev, PCI_VENDOR_ID);
printk_debug("%s [%04x/%04x] %s\n",
dev_path(dev),
dev->vendor, dev->device,
- dev->enable?"enabled": "disabled");
+ dev->enabled?"enabled": "disabled");
if (PCI_FUNC(devfn) == 0x00 && (hdr_type & 0x80) != 0x80) {
/* if this is not a multi function device, don't
void pnp_enable(device_t dev)
{
- if (!dev->enable) {
+ if (!dev->enabled) {
pnp_set_logical_device(dev);
pnp_set_enable(dev, 0);
}
child->ops->enable(child);
}
printk_debug("%s %s\n", dev_path(child),
- child->enable?"enabled": "disabled");
+ child->enabled?"enabled": "disabled");
}
}
for (link = 0; link < bus->links; link++) {
.ops = &default_dev_ops_root,
.bus = &dev_root.link[0],
.path = { .type = DEVICE_PATH_ROOT },
- .enable = 1,
- .links = 1,
- .link = {
- [0] = {
- .dev = &dev_root,
- .link = 0,
- },
- },
+ .enabled = 1,
+ .links = 1,
+ .link = {
+ [0] = {
+ .dev = &dev_root,
+ .link = 0,
+ },
+ },
};
unsigned short device;
unsigned int class; /* 3 bytes: (base,sub,prog-if) */
unsigned int hdr_type; /* PCI header type */
- /* @todo rename this to 'enabled' */
- unsigned int enable : 1; /* set if we should enable the device */
+ unsigned int enabled : 1; /* set if we should enable the device */
uint8_t command;
i, mem[i].basek, i, mem[i].sizek);
}
#endif
- while(idx < sizeof(mem)/sizeof(mem[0])) {
+ while (idx < sizeof(mem)/sizeof(mem[0])) {
mem[idx].basek = 0;
mem[idx].sizek = 0;
idx++;
/* See if there is an available configuration space mapping register
* in function 1. */
free_reg = 0;
- for(config_reg = 0xe0; config_reg <= 0xec; config_reg += 4) {
+ for (config_reg = 0xe0; config_reg <= 0xec; config_reg += 4) {
uint32_t config;
config = f1_read_config32(config_reg);
if (!free_reg && ((config & 3) == 0)) {
continue;
}
if (((config & 3) == 3) &&
- (((config >> 4) & 7) == nodeid) &&
- (((config >> 8) & 3) == link)) {
+ (((config >> 4) & 7) == nodeid) &&
+ (((config >> 8) & 3) == link)) {
break;
}
}
printk_debug("amdk8_scan_root_bus\n");
/* Unmap all of the HT chains */
+ printk_debug("amdk8_scan_root_bus: clearing HT registers\n");
for (reg = 0xe0; reg <= 0xec; reg += 4) {
- printk_debug("amdk8_scan_root: clearing register %x\n", reg);
f1_write_config32(reg, 0);
}
- printk_debug("amdk8_scan_root_bus: start scan pci bus\n");
+ printk_debug("amdk8_scan_root_bus: start scaning pci bus\n");
max = pci_scan_bus(&root->link[0], PCI_DEVFN(0x18, 0), 0xff, max);
printk_debug("amdk8_scan_root_bus: done\n");
.enable = 0,
};
-
static struct pci_driver mcf0_driver __pci_driver = {
.ops = &northbridge_operations,
.vendor = PCI_VENDOR_ID_AMD,
.device = 0x1100,
};
-
static void enumerate(struct chip *chip)
{
chip_enumerate(chip);
}
reg = reg_old = pci_read_config16(lpc_dev, 0x48);
reg &= ~(1 << index);
- if (dev->enable) {
+ if (dev->enabled) {
reg |= (1 << index);
}
if (reg != reg_old) {
static void ioapic_enable(device_t dev)
{
uint32_t value;
+
value = pci_read_config32(dev, 0x44);
- if (dev->enable) {
+ if (dev->enabled) {
value |= ((1 << 1) | (1 << 0));
} else {
value &= ~((1 << 1) | (1 << 0));
}
pci_write_config32(dev, 0x44, value);
-//BY LYH
+ /* We have to enable MEM and Bus Master for IOAPIC */
value = pci_read_config32(dev, 0x4);
value |= 6;
pci_write_config32(dev, 0x4, value);
-//BY LYH END
}
static struct device_operations ioapic_ops = {
/* Wishlist handle well known programming interfaces more
* generically.
*/
- if (!dev->enable) {
+ if (!dev->enabled) {
return;
}
conf = dev->chip->chip_info;
/* Wishlist handle well known programming interfaces more
* generically.
*/
- if (!dev->enable) {
+ if (!dev->enabled) {
return;
}
conf = dev->chip->chip_info;
{
struct superio_winbond_w83627hf_config *conf;
struct resource *res0, *res1;
- if (!dev->enable) {
+ if (!dev->enabled) {
return;
}
conf = dev->chip->chip_info;
void w83627hf_pnp_enable(device_t dev)
{
- if (!dev->enable) {
+ if (!dev->enabled) {
pnp_enter_ext_func_mode(dev); // BY LYH
pnp_set_logical_device(dev);