1 This patch ports ssb to the 2.6.23 kernel.
3 --- a/drivers/ssb/driver_mipscore.c
4 +++ b/drivers/ssb/driver_mipscore.c
6 ssb_mips_serial_init(mcore);
7 ssb_mips_flash_detect(mcore);
10 +EXPORT_SYMBOL(ssb_mips_irq);
11 --- a/include/linux/mod_devicetable.h
12 +++ b/include/linux/mod_devicetable.h
14 #define PA_HVERSION_ANY_ID 0xffff
15 #define PA_SVERSION_ANY_ID 0xffffffff
17 +/* SSB core, see drivers/ssb/ */
18 +struct ssb_device_id {
23 +#define SSB_DEVICE(_vendor, _coreid, _revision) \
24 + { .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
25 +#define SSB_DEVTABLE_END \
28 +#define SSB_ANY_VENDOR 0xFFFF
29 +#define SSB_ANY_ID 0xFFFF
30 +#define SSB_ANY_REV 0xFF
32 #endif /* LINUX_MOD_DEVICETABLE_H */
33 --- a/drivers/ssb/main.c
34 +++ b/drivers/ssb/main.c
39 -static int ssb_device_uevent(struct device *dev, struct kobj_uevent_env *env)
40 +static int ssb_device_uevent(struct device *dev, char **envp,
41 + int num_envp, char *buffer, int buffer_size)
43 struct ssb_device *ssb_dev = dev_to_ssb_dev(dev);
49 - return add_uevent_var(env,
50 + return add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &len,
51 "MODALIAS=ssb:v%04Xid%04Xrev%02X",
52 ssb_dev->id.vendor, ssb_dev->id.coreid,
53 ssb_dev->id.revision);
54 --- a/drivers/ssb/scan.c
55 +++ b/drivers/ssb/scan.c
57 if (bus->bustype == SSB_BUSTYPE_PCI) {
58 /* Ignore PCI cores on PCI-E cards.
59 * Ignore PCI-E cores on PCI cards. */
60 + //FIXME kernel 2.6.23 doesn't have is_pcie. Add this check back when updating to 2.6.24 or later.
61 if (dev->id.coreid == SSB_DEV_PCI) {
62 - if (bus->host_pci->is_pcie)
64 +//FIXME if (bus->host_pci->is_pcie)
67 - if (!bus->host_pci->is_pcie)
70 +//FIXME if (!bus->host_pci->is_pcie)
74 if (bus->pcicore.dev) {
75 --- a/drivers/ssb/driver_pcicore.c
76 +++ b/drivers/ssb/driver_pcicore.c
81 - if (bus->sprom.r1.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
82 + if (bus->sprom.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
85 /* The 200-pin BCM4712 package does not bond out PCI. Even when