On Mon, Nov 17, 2008 at 10:10 PM, Elia Yehuda z4ziggy@gmail.com wrote:
On Tue, Nov 18, 2008 at 3:44 AM, Joseph Smith joe@settoplinux.org wrote:
On Tue, 18 Nov 2008 00:59:07 +0200, "Elia Yehuda" z4ziggy@gmail.com wrote:
just noticed ive put it in cpu_bus_ops... have a laugh...
No worries, this is how we learn :-)
but i dont have "static struct device_operations mc_ops" - where should
i
add the .ops_pci ?
Little confused about what your trying to do here. This doesn't work??
static const struct pci_driver northbridge_driver __pci_driver = { .ops = &northbridge_operations, .vendor = PCI_VENDOR_ID_INTEL, .device = 0x7120, };
this works just fine. i simply don't know where to add ".ops_pci" since i dont have "static struct device_operations mc_ops" in northbridge.c
You should be able to add it to pci_domain_ops, but be sure to check that it actually runs. Otherwise, you'll need to create that mc_ops driver with just the .ops_pci and everything else set to NULL, and use this:
static void enable_dev(struct device *dev) { struct device_path path; //unused?
/* Set the operations if it is a special bus type */ if (dev->path.type == DEVICE_PATH_PCI_DOMAIN) { dev->ops = &pci_domain_ops; pci_set_method(dev); } else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) { dev->ops = &cpu_bus_ops; } else if (dev->path.type == DEVICE_PATH_PCI) { dev->ops = &mc_ops; } }
I hope you can understand what I'm trying to say, I'm a bit tired right now.
-Corey