pnp_enable_resource not being called

Greg Watson gwatson at lanl.gov
Wed Nov 24 15:01:01 CET 2004


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




More information about the coreboot mailing list