2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								/*
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 * Broadcom 43xx PCI-SSB bridge module
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 *
							 | 
						
					
						
							
								
									
										
										
										
											2008-02-03 17:30:25 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								 * This technically is a separate PCI driver module, but
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 * because of its small size we include it in the SSB core
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 * instead of creating a standalone module.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 *
							 | 
						
					
						
							
								
									
										
										
										
											2011-07-04 20:50:05 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								 * Copyright 2007  Michael Buesch <m@bues.ch>
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 *
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 * Licensed under the GNU/GPL. See COPYING for details.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 */
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#include <linux/pci.h>
							 | 
						
					
						
							
								
									
										
										
										
											2011-07-17 16:03:40 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#include <linux/module.h>
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#include <linux/ssb/ssb.h>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-19 18:55:12 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#include "ssb_private.h"
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								static const struct pci_device_id b43_pci_bridge_tbl[] = {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4301) },
							 | 
						
					
						
							
								
									
										
										
										
											2009-03-24 10:36:48 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4306) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4307) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4311) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4312) },
							 | 
						
					
						
							
								
									
										
										
										
											2008-12-25 00:39:28 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4315) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4318) },
							 | 
						
					
						
							
								
									
										
										
										
											2010-11-19 21:25:21 -06:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BCM_GVC,  0x4318) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4319) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4320) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
							 | 
						
					
						
							
								
									
										
										
										
											2012-05-10 00:22:46 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4322) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 43222) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4325) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-11-09 16:56:25 -06:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4328) },
							 | 
						
					
						
							
								
									
										
										
										
											2008-01-03 19:03:09 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4329) },
							 | 
						
					
						
							
								
									
										
										
										
											2008-12-24 12:44:09 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432b) },
							 | 
						
					
						
							
								
									
										
										
										
											2012-06-10 22:11:56 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432c) },
							 | 
						
					
						
							
								
									
										
										
										
											2012-10-25 18:39:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4350) },
							 | 
						
					
						
							
								
									
										
										
										
											2007-09-18 15:12:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{ 0, },
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								};
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								static struct pci_driver b43_pci_bridge_driver = {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									.name = "b43-pci-bridge",
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									.id_table = b43_pci_bridge_tbl,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								};
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								int __init b43_pci_ssb_bridge_init(void)
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									return ssb_pcihost_register(&b43_pci_bridge_driver);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								void __exit b43_pci_ssb_bridge_exit(void)
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									ssb_pcihost_unregister(&b43_pci_bridge_driver);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 |