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