/****************************************************************************** * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved. * * Based on the r8180 driver, which is: * Copyright 2004-2005 Andrea Merello , et al. * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * The full GNU General Public License is included in this distribution in the * file called LICENSE. * * Contact Information: * wlanfae ******************************************************************************/ #ifndef _RTL_PCI_H #define _RTL_PCI_H #include #include static inline void NdisRawWritePortUlong(u32 port, u32 val) { outl(val, port); } static inline void NdisRawWritePortUchar(u32 port, u8 val) { outb(val, port); } static inline void NdisRawReadPortUchar(u32 port, u8 *pval) { *pval = inb(port); } static inline void NdisRawReadPortUshort(u32 port, u16 *pval) { *pval = inw(port); } static inline void NdisRawReadPortUlong(u32 port, u32 *pval) { *pval = inl(port); } struct mp_adapter { u8 LinkCtrlReg; u8 BusNumber; u8 DevNumber; u8 FuncNumber; u8 PciBridgeBusNum; u8 PciBridgeDevNum; u8 PciBridgeFuncNum; u8 PciBridgeVendor; u16 PciBridgeVendorId; u16 PciBridgeDeviceId; u8 PciBridgePCIeHdrOffset; u8 PciBridgeLinkCtrlReg; }; struct rt_pci_capab_header { unsigned char CapabilityID; unsigned char Next; }; #define PCI_MAX_BRIDGE_NUMBER 255 #define PCI_MAX_DEVICES 32 #define PCI_MAX_FUNCTION 8 #define PCI_CONF_ADDRESS 0x0CF8 #define PCI_CONF_DATA 0x0CFC #define PCI_CLASS_BRIDGE_DEV 0x06 #define PCI_SUBCLASS_BR_PCI_TO_PCI 0x04 #define U1DONTCARE 0xFF #define U2DONTCARE 0xFFFF #define U4DONTCARE 0xFFFFFFFF #define INTEL_VENDOR_ID 0x8086 #define SIS_VENDOR_ID 0x1039 #define ATI_VENDOR_ID 0x1002 #define ATI_DEVICE_ID 0x7914 #define AMD_VENDOR_ID 0x1022 #define PCI_CAPABILITY_ID_PCI_EXPRESS 0x10 struct net_device; bool rtl8192_pci_findadapter(struct pci_dev *pdev, struct net_device *dev); #endif