Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

b43: bus: add helpers for getting/setting wldev from/in bus core

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Rafał Miłecki and committed by
John W. Linville
74abacb6 42c9a458

+35 -3
+29
drivers/net/wireless/b43/bus.c
··· 225 225 return dev; 226 226 } 227 227 #endif /* CONFIG_B43_SSB */ 228 + 229 + void *b43_bus_get_wldev(struct b43_bus_dev *dev) 230 + { 231 + switch (dev->bus_type) { 232 + #ifdef CONFIG_B43_BCMA 233 + case B43_BUS_BCMA: 234 + return bcma_get_drvdata(dev->bdev); 235 + #endif 236 + #ifdef CONFIG_B43_SSB 237 + case B43_BUS_SSB: 238 + return ssb_get_drvdata(dev->sdev); 239 + #endif 240 + } 241 + return NULL; 242 + } 243 + 244 + void b43_bus_set_wldev(struct b43_bus_dev *dev, void *wldev) 245 + { 246 + switch (dev->bus_type) { 247 + #ifdef CONFIG_B43_BCMA 248 + case B43_BUS_BCMA: 249 + bcma_set_drvdata(dev->bdev, wldev); 250 + #endif 251 + #ifdef CONFIG_B43_SSB 252 + case B43_BUS_SSB: 253 + ssb_set_drvdata(dev->sdev, wldev); 254 + #endif 255 + } 256 + }
+3
drivers/net/wireless/b43/bus.h
··· 64 64 struct b43_bus_dev *b43_bus_dev_bcma_init(struct bcma_device *core); 65 65 struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev); 66 66 67 + void *b43_bus_get_wldev(struct b43_bus_dev *dev); 68 + void b43_bus_set_wldev(struct b43_bus_dev *dev, void *data); 69 + 67 70 #endif /* B43_BUS_H_ */
+3 -3
drivers/net/wireless/b43/main.c
··· 5000 5000 /* Do not cancel ieee80211-workqueue based work here. 5001 5001 * See comment in b43_remove(). */ 5002 5002 5003 - wldev = ssb_get_drvdata(dev->sdev); 5003 + wldev = b43_bus_get_wldev(dev); 5004 5004 wl = wldev->wl; 5005 5005 b43_debugfs_remove_device(wldev); 5006 5006 b43_wireless_core_detach(wldev); 5007 5007 list_del(&wldev->list); 5008 5008 wl->nr_devs--; 5009 - ssb_set_drvdata(dev->sdev, NULL); 5009 + b43_bus_set_wldev(dev, NULL); 5010 5010 kfree(wldev); 5011 5011 } 5012 5012 ··· 5032 5032 5033 5033 list_add(&wldev->list, &wl->devlist); 5034 5034 wl->nr_devs++; 5035 - ssb_set_drvdata(dev->sdev, wldev); 5035 + b43_bus_set_wldev(dev, wldev); 5036 5036 b43_debugfs_add_device(wldev); 5037 5037 5038 5038 out: