pnp_enable_resource not being called

YhLu YhLu at tyan.com
Wed Nov 24 16:12:01 CET 2004


In the AMD8111_lpc.c

static void amd8111_lpc_enable_resources(device_t dev)
{
        pci_dev_enable_resources(dev);

        enable_childrens_resources(dev);
}

static struct device_operations lpc_ops  = {
        .read_resources   = amd8111_lpc_read_resources,
        .set_resources    = pci_dev_set_resources,
        .enable_resources = amd8111_lpc_enable_resources,
        .init             = lpc_init,
        .scan_bus         = scan_static_bus,
//      .enable           = amd8111_enable,
        .ops_pci          = &lops_pci,
};

So I guess you need to add the device driver for the lpc in SB.

Then the scan_static_bus and enable_childrens_resources(dev) will be called.

Regards

YH

-----Original Message-----
From: Greg Watson [mailto:gwatson at lanl.gov] 
Sent: Wednesday, November 24, 2004 1:29 PM
To: 'LinuxBIOS'
Subject: pnp_enable_resource not being called

The sandpoint has the following structure:

Northbridge MPC107 --> Southbridge W83C553 --> Superio PC97307

The config file looks like:

chip northbridge/motorola/mpc107
         device pci_domain 0 on
                 device pci 0.0 on end
                 device pci b.0 on
                         chip southbridge/winbond/w83c553
                                 chip superio/NSC/pc97307
                                         device pnp 15c.0 on end # 
Kyeboard
                                         device pnp 15c.1 on end # Mouse
                                         device pnp 15c.2 on end # 
Real-time Cloc
k
                                         device pnp 15c.3 on end # Floppy
                                         device pnp 15c.4 on end # 
Parallel port
                                         device pnp 15c.5 on end # com2
                                         device pnp 15c.6 on end # com1
                                         device pnp 15c.7 on end # gpio
                                         device pnp 15c.8 on end # Power 
manageme
nt
                                 end
                         end
                 end # pci to isa bridge
                 device pci b.1 on end # pci ide controller
         end
         device cpu_bus 0 on
                 chip cpu/ppc/mpc74xx
                         device cpu 0 on end
                 end
         end
end

The dev_enumerate() code is calling the PNP enable routines and the 
dev_initialize() code is calling the PNP init routine. However the 
dev_enable() code never calls the PNP enable_resource routine, which 
means the the PNP devices are never actually enabled.

The enable_dev routine for the superio device calls:

         pnp_enable_devices(dev, &ops,
                 sizeof(pnp_dev_info)/sizeof(pnp_dev_info[0]), 
pnp_dev_info);

where ops is defined as:

static struct device_operations ops = {
         .read_resources   = pnp_read_resources,
         .set_resources    = pnp_set_resources,
         .enable_resources = pnp_enable_resources,
         .enable           = pnp_enable,
         .init             = init,
};

Any ideas why this is not working? Is there something else that needs 
to happen?

Greg

_______________________________________________
Linuxbios mailing list
Linuxbios at clustermatic.org
http://www.clustermatic.org/mailman/listinfo/linuxbios



More information about the coreboot mailing list