b43_pci_bridge.c 1.79 KB
Newer Older
1 2 3
/*
 * Broadcom 43xx PCI-SSB bridge module
 *
4
 * This technically is a separate PCI driver module, but
5 6 7
 * because of its small size we include it in the SSB core
 * instead of creating a standalone module.
 *
8
 * Copyright 2007  Michael Buesch <m@bues.ch>
9 10 11 12 13
 *
 * Licensed under the GNU/GPL. See COPYING for details.
 */

#include <linux/pci.h>
14
#include <linux/module.h>
15 16
#include <linux/ssb/ssb.h>

Michael Buesch's avatar
Michael Buesch committed
17 18
#include "ssb_private.h"

19 20 21

static const struct pci_device_id b43_pci_bridge_tbl[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4301) },
Michael Buesch's avatar
Michael Buesch committed
22
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4306) },
23 24 25
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4307) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4311) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4312) },
26
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4315) },
27
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4318) },
28
	{ PCI_DEVICE(PCI_VENDOR_ID_BCM_GVC,  0x4318) },
29 30 31
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4319) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4320) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
32 33
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4322) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 43222) },
34 35
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4325) },
36
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4328) },
37
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4329) },
38
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432b) },
39
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432c) },
Hauke Mehrtens's avatar
Hauke Mehrtens committed
40
	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4350) },
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
	{ 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);
}