1 --- a/drivers/ssb/driver_chipcommon_pmu.c
2 +++ b/drivers/ssb/driver_chipcommon_pmu.c
3 @@ -417,9 +417,9 @@ static void ssb_pmu_resources_init(struc
4 u32 min_msk = 0, max_msk = 0;
6 const struct pmu_res_updown_tab_entry *updown_tab = NULL;
7 - unsigned int updown_tab_size;
8 + unsigned int updown_tab_size = 0;
9 const struct pmu_res_depend_tab_entry *depend_tab = NULL;
10 - unsigned int depend_tab_size;
11 + unsigned int depend_tab_size = 0;
13 switch (bus->chip_id) {
15 --- a/drivers/ssb/driver_gige.c
16 +++ b/drivers/ssb/driver_gige.c
17 @@ -106,8 +106,9 @@ void gige_pcicfg_write32(struct ssb_gige
18 gige_write32(dev, SSB_GIGE_PCICFG + offset, value);
21 -static int ssb_gige_pci_read_config(struct pci_bus *bus, unsigned int devfn,
22 - int reg, int size, u32 *val)
23 +static int __devinit ssb_gige_pci_read_config(struct pci_bus *bus,
24 + unsigned int devfn, int reg,
27 struct ssb_gige *dev = container_of(bus->ops, struct ssb_gige, pci_ops);
29 @@ -136,8 +137,9 @@ static int ssb_gige_pci_read_config(stru
30 return PCIBIOS_SUCCESSFUL;
33 -static int ssb_gige_pci_write_config(struct pci_bus *bus, unsigned int devfn,
34 - int reg, int size, u32 val)
35 +static int __devinit ssb_gige_pci_write_config(struct pci_bus *bus,
36 + unsigned int devfn, int reg,
39 struct ssb_gige *dev = container_of(bus->ops, struct ssb_gige, pci_ops);
41 @@ -166,7 +168,8 @@ static int ssb_gige_pci_write_config(str
42 return PCIBIOS_SUCCESSFUL;
45 -static int ssb_gige_probe(struct ssb_device *sdev, const struct ssb_device_id *id)
46 +static int __devinit ssb_gige_probe(struct ssb_device *sdev,
47 + const struct ssb_device_id *id)
50 u32 base, tmslow, tmshigh;
51 --- a/drivers/ssb/driver_pcicore.c
52 +++ b/drivers/ssb/driver_pcicore.c
53 @@ -314,7 +314,7 @@ int ssb_pcicore_pcibios_map_irq(const st
54 return ssb_mips_irq(extpci_core->dev) + 2;
57 -static void ssb_pcicore_init_hostmode(struct ssb_pcicore *pc)
58 +static void __devinit ssb_pcicore_init_hostmode(struct ssb_pcicore *pc)
62 @@ -379,7 +379,7 @@ static void ssb_pcicore_init_hostmode(st
63 register_pci_controller(&ssb_pcicore_controller);
66 -static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
67 +static int __devinit pcicore_is_in_hostmode(struct ssb_pcicore *pc)
69 struct ssb_bus *bus = pc->dev->bus;
71 @@ -412,7 +412,7 @@ static int pcicore_is_in_hostmode(struct
73 **************************************************/
75 -static void ssb_pcicore_fix_sprom_core_index(struct ssb_pcicore *pc)
76 +static void __devinit ssb_pcicore_fix_sprom_core_index(struct ssb_pcicore *pc)
78 u16 tmp = pcicore_read16(pc, SSB_PCICORE_SPROM(0));
79 if (((tmp & 0xF000) >> 12) != pc->dev->core_index) {
80 @@ -514,13 +514,13 @@ static void ssb_pcicore_pcie_setup_worka
81 * Generic and Clientmode operation code.
82 **************************************************/
84 -static void ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
85 +static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
87 /* Disable PCI interrupts. */
88 ssb_write32(pc->dev, SSB_INTVEC, 0);
91 -void ssb_pcicore_init(struct ssb_pcicore *pc)
92 +void __devinit ssb_pcicore_init(struct ssb_pcicore *pc)
94 struct ssb_device *dev = pc->dev;
96 --- a/drivers/ssb/main.c
97 +++ b/drivers/ssb/main.c
98 @@ -557,7 +557,7 @@ error:
101 /* Needs ssb_buses_lock() */
102 -static int ssb_attach_queued_buses(void)
103 +static int __devinit ssb_attach_queued_buses(void)
105 struct ssb_bus *bus, *n;
107 @@ -768,9 +768,9 @@ out:
111 -static int ssb_bus_register(struct ssb_bus *bus,
112 - ssb_invariants_func_t get_invariants,
113 - unsigned long baseaddr)
114 +static int __devinit ssb_bus_register(struct ssb_bus *bus,
115 + ssb_invariants_func_t get_invariants,
116 + unsigned long baseaddr)
120 @@ -851,8 +851,8 @@ err_disable_xtal:
123 #ifdef CONFIG_SSB_PCIHOST
124 -int ssb_bus_pcibus_register(struct ssb_bus *bus,
125 - struct pci_dev *host_pci)
126 +int __devinit ssb_bus_pcibus_register(struct ssb_bus *bus,
127 + struct pci_dev *host_pci)
131 @@ -875,9 +875,9 @@ EXPORT_SYMBOL(ssb_bus_pcibus_register);
132 #endif /* CONFIG_SSB_PCIHOST */
134 #ifdef CONFIG_SSB_PCMCIAHOST
135 -int ssb_bus_pcmciabus_register(struct ssb_bus *bus,
136 - struct pcmcia_device *pcmcia_dev,
137 - unsigned long baseaddr)
138 +int __devinit ssb_bus_pcmciabus_register(struct ssb_bus *bus,
139 + struct pcmcia_device *pcmcia_dev,
140 + unsigned long baseaddr)
144 @@ -897,8 +897,9 @@ EXPORT_SYMBOL(ssb_bus_pcmciabus_register
145 #endif /* CONFIG_SSB_PCMCIAHOST */
147 #ifdef CONFIG_SSB_SDIOHOST
148 -int ssb_bus_sdiobus_register(struct ssb_bus *bus, struct sdio_func *func,
149 - unsigned int quirks)
150 +int __devinit ssb_bus_sdiobus_register(struct ssb_bus *bus,
151 + struct sdio_func *func,
152 + unsigned int quirks)
156 @@ -918,9 +919,9 @@ int ssb_bus_sdiobus_register(struct ssb_
157 EXPORT_SYMBOL(ssb_bus_sdiobus_register);
158 #endif /* CONFIG_SSB_PCMCIAHOST */
160 -int ssb_bus_ssbbus_register(struct ssb_bus *bus,
161 - unsigned long baseaddr,
162 - ssb_invariants_func_t get_invariants)
163 +int __devinit ssb_bus_ssbbus_register(struct ssb_bus *bus,
164 + unsigned long baseaddr,
165 + ssb_invariants_func_t get_invariants)
169 @@ -1001,8 +1002,8 @@ u32 ssb_calc_clock_rate(u32 plltype, u32
171 case SSB_PLLTYPE_6: /* 100/200 or 120/240 only */
172 if (m & SSB_CHIPCO_CLK_T6_MMASK)
173 - return SSB_CHIPCO_CLK_T6_M0;
174 - return SSB_CHIPCO_CLK_T6_M1;
175 + return SSB_CHIPCO_CLK_T6_M1;
176 + return SSB_CHIPCO_CLK_T6_M0;
177 case SSB_PLLTYPE_1: /* 48Mhz base, 3 dividers */
178 case SSB_PLLTYPE_3: /* 25Mhz, 2 dividers */
179 case SSB_PLLTYPE_4: /* 48Mhz, 4 dividers */
180 --- a/drivers/ssb/pcihost_wrapper.c
181 +++ b/drivers/ssb/pcihost_wrapper.c
182 @@ -53,8 +53,8 @@ static int ssb_pcihost_resume(struct pci
183 # define ssb_pcihost_resume NULL
184 #endif /* CONFIG_PM */
186 -static int ssb_pcihost_probe(struct pci_dev *dev,
187 - const struct pci_device_id *id)
188 +static int __devinit ssb_pcihost_probe(struct pci_dev *dev,
189 + const struct pci_device_id *id)
193 @@ -110,7 +110,7 @@ static void ssb_pcihost_remove(struct pc
194 pci_set_drvdata(dev, NULL);
197 -int ssb_pcihost_register(struct pci_driver *driver)
198 +int __devinit ssb_pcihost_register(struct pci_driver *driver)
200 driver->probe = ssb_pcihost_probe;
201 driver->remove = ssb_pcihost_remove;
202 --- a/drivers/ssb/scan.c
203 +++ b/drivers/ssb/scan.c
204 @@ -310,8 +310,7 @@ int ssb_bus_scan(struct ssb_bus *bus,
206 if (bus->bustype == SSB_BUSTYPE_PCI) {
207 bus->chip_id = pcidev_to_chipid(bus->host_pci);
208 - pci_read_config_byte(bus->host_pci, PCI_REVISION_ID,
210 + bus->chip_rev = bus->host_pci->revision;
211 bus->chip_package = 0;
213 bus->chip_id = 0x4710;