Now that all PCI devices have been converted to new-device...finish-device we can set both the active package and current instance to the root device node before probe, giving all child devices a correct active package and instance chain during creation.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk --- arch/sparc64/openbios.c | 6 ++++++ drivers/ide.c | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/sparc64/openbios.c b/arch/sparc64/openbios.c index e2f7e59..e9f4726 100644 --- a/arch/sparc64/openbios.c +++ b/arch/sparc64/openbios.c @@ -821,11 +821,17 @@ arch_init( void ) feval("['] sparc64-dma-sync to (dma-sync)");
#ifdef CONFIG_DRIVER_PCI + push_str("/"); + fword("find-device"); + feval("" /" open-dev to my-self"); + ob_pci_init();
/* Set TAS register to match the virtual-dma properties set during sabre configure */ sparc64_set_tas_register(PBM_PCI_TARGET_AS_CD_ENABLE); + + feval("0 to my-self"); #endif nvconf_init(); device_end(); diff --git a/drivers/ide.c b/drivers/ide.c index 8020d94..e588f38 100644 --- a/drivers/ide.c +++ b/drivers/ide.c @@ -1392,9 +1392,6 @@ int ob_ide_init(const char *path, uint32_t io_port0, uint32_t ctl_port0, io_ports[1] = io_port1; ctl_ports[1] = ctl_port1;
- push_str(path); - fword("find-device"); - for (i = 0; i < IDE_NUM_CHANNELS; i++, current_channel++) {
chan = malloc(sizeof(struct ide_channel));