body class="full" --LXRsubmi "is.args;priif LXRsubmi "is.args;save ass=sass=sass/spa12"assspa1 class="lxr_search">ass=
ass=sass=sass=sSearchass=sass/spa12"s=s< assinput typ/ophidden" nam/opajax_lookup" idopajax_lookup" .12as=s< " sdiv idopfile_contents"2
< <1s/a>sspa1 class="comment">/*s/spa12"< <2s/a>sspa1 class="comment"> * Broadcom specific AMBAs/spa12"< <3s/a>sspa1 class="comment"> * Bus scannings/spa12"< <4s/a>sspa1 class="comment"> *s/spa12"< <5s/a>sspa1 class="comment"> * Licensed under the GNU/GPL. See COPYING for details.s/spa12"< <6s/a>sspa1 class="comment"> */s/spa12"< <7s/a>a< <8s/a>#include "scan.hs/a>"a< <9s/a>#include "bcma_private.hs/a>"a< di"va>a< 11s/a>#include <linux/bcma/bcma.hs/a>>a< 12s/a>#include <linux/bcma/bcma_regs.hs/a>>a< 13s/a>#include <linux/pci.hs/a>>a< 14s/a>#include <linux/io.hs/a>>a< 15s/a>#include <linux/dma-mapping.hs/a>>a< 16s/a>#include <linux/slab.hs/a>>a< 17s/a>a< 18s/a>structbcma_device_id_nam/s/a> {a< 19s/a>        sa href="+code=u16" class="sref">u16s/a> sa href="+code=id" class="sref">ids/a>;a< 20s/a>        const char *sa href="+code=nam/" class="sref">nam/s/a>;a< 21s/a>};a< 22s/a>a< 23s/a>static const structbcma_device_id_nam/s/a> sa href="+code=bcma_arm_device_nam/s" class="sref">bcma_arm_device_nam/ss/a>[] = {a< 24s/a>        { sa href="+code=BCMA_CORE_4706_MAC_GBIT_COMMON" class="sref">BCMA_CORE_4706_MAC_GBIT_COMMONs/a>, sspa1 class="string">"BCM4706 GBit MAC Common"< 25s/a>        { sa href="+code=BCMA_CORE_ARM_1176" class="sref">BCMA_CORE_ARM_1176s/a>, sspa1 class="string">"ARM 1176"< 26s/a>        { sa href="+code=BCMA_CORE_ARM_7TDMI" class="sref">BCMA_CORE_ARM_7TDMIs/a>, sspa1 class="string">"ARM 7TDMI"< 27s/a>        { sa href="+code=BCMA_CORE_ARM_CM3" class="sref">BCMA_CORE_ARM_CM3s/a>, sspa1 class="string">"ARM CM3"< 28s/a>};a< 29s/a>a< 30s/a>static const structbcma_device_id_nam/s/a> sa href="+code=bcma_bcm_device_nam/s" class="sref">bcma_bcm_device_nam/ss/a>[] = {a< 31s/a>        { sa href="+code=BCMA_CORE_OOB_ROUTER" class="sref">BCMA_CORE_OOB_ROUTERs/a>, sspa1 class="string">"OOB Router"< 32s/a>        { sa href="+code=BCMA_CORE_4706_CHIPCOMMON" class="sref">BCMA_CORE_4706_CHIPCOMMONs/a>, sspa1 class="string">"BCM4706 ChipCommon"< 33s/a>        { sa href="+code=BCMA_CORE_4706_SOC_RAM" class="sref">BCMA_CORE_4706_SOC_RAMs/a>, sspa1 class="string">"BCM4706 SOC RAM"< 34s/a>        { sa href="+code=BCMA_CORE_4706_MAC_GBIT" class="sref">BCMA_CORE_4706_MAC_GBITs/a>, sspa1 class="string">"BCM4706 GBit MAC"< 35s/a>        { sa href="+code=BCMA_CORE_AMEMC" class="sref">BCMA_CORE_AMEMCs/a>, sspa1 class="string">"AMEMC (DDR)"< 36s/a>        { sa href="+code=BCMA_CORE_ALTA" class="sref">BCMA_CORE_ALTAs/a>, sspa1 class="string">"ALTA (I2S)"< 37s/a>        { sa href="+code=BCMA_CORE_INVALID" class="sref">BCMA_CORE_INVALIDs/a>, sspa1 class="string">"Invalid"< 38s/a>        { sa href="+code=BCMA_CORE_CHIPCOMMON" class="sref">BCMA_CORE_CHIPCOMMONs/a>, sspa1 class="string">"ChipCommon"< 39s/a>        { sa href="+code=BCMA_CORE_ILINE20" class="sref">BCMA_CORE_ILINE20s/a>, sspa1 class="string">"ILine 20"< 40s/a>        { sa href="+code=BCMA_CORE_SRAM" class="sref">BCMA_CORE_SRAMs/a>, sspa1 class="string">"SRAM"< 41s/a>        { sa href="+code=BCMA_CORE_SDRAM" class="sref">BCMA_CORE_SDRAMs/a>, sspa1 class="string">"SDRAM"< 42s/a>        { sa href="+code=BCMA_CORE_PCI" class="sref">BCMA_CORE_PCIs/a>, sspa1 class="string">"PCI"< 43s/a>        { sa href="+code=BCMA_CORE_ETHERNET" class="sref">BCMA_CORE_ETHERNETs/a>, sspa1 class="string">"Fast Ethernet"< 44s/a>        { sa href="+code=BCMA_CORE_V90" class="sref">BCMA_CORE_V90s/a>, sspa1 class="string">"V90"< 45s/a>        { sa href="+code=BCMA_CORE_USB11_HOSTDEV" class="sref">BCMA_CORE_USB11_HOSTDEVs/a>, sspa1 class="string">"USB 1.1 Hostdev"< 46s/a>        { sa href="+code=BCMA_CORE_ADSL" class="sref">BCMA_CORE_ADSLs/a>, sspa1 class="string">"ADSL"< 47s/a>        { sa href="+code=BCMA_CORE_ILINE100" class="sref">BCMA_CORE_ILINE100s/a>, sspa1 class="string">"ILine 100"< 48s/a>        { sa href="+code=BCMA_CORE_IPSEC" class="sref">BCMA_CORE_IPSECs/a>, sspa1 class="string">"IPSEC"< 49s/a>        { sa href="+code=BCMA_CORE_UTOPIA" class="sref">BCMA_CORE_UTOPIAs/a>, sspa1 class="string">"UTOPIA"< 50s/a>        { sa href="+code=BCMA_CORE_PCMCIA" class="sref">BCMA_CORE_PCMCIAs/a>, sspa1 class="string">"PCMCIA"< 51s/a>        { sa href="+code=BCMA_CORE_INTERNAL_MEM" class="sref">BCMA_CORE_INTERNAL_MEMs/a>, sspa1 class="string">"Internal Memory"< 52s/a>        { sa href="+code=BCMA_CORE_MEMC_SDRAM" class="sref">BCMA_CORE_MEMC_SDRAMs/a>, sspa1 class="string">"MEMC SDRAM"< 53s/a>        { sa href="+code=BCMA_CORE_OFDM" class="sref">BCMA_CORE_OFDMs/a>, sspa1 class="string">"OFDM"< 54s/a>        { sa href="+code=BCMA_CORE_EXTIF" class="sref">BCMA_CORE_EXTIFs/a>, sspa1 class="string">"EXTIF"< 55s/a>        { sa href="+code=BCMA_CORE_80211" class="sref">BCMA_CORE_80211s/a>, sspa1 class="string">"IEEE 802.11"< 56s/a>        { sa href="+code=BCMA_CORE_PHY_A" class="sref">BCMA_CORE_PHY_As/a>, sspa1 class="string">"PHY A"< 57s/a>        { sa href="+code=BCMA_CORE_PHY_B" class="sref">BCMA_CORE_PHY_Bs/a>, sspa1 class="string">"PHY B"< 58s/a>        { sa href="+code=BCMA_CORE_PHY_G" class="sref">BCMA_CORE_PHY_Gs/a>, sspa1 class="string">"PHY G"< 59s/a>        { sa href="+code=BCMA_CORE_USB11_HOST" class="sref">BCMA_CORE_USB11_HOSTs/a>, sspa1 class="string">"USB 1.1 Host"< 60s/a>        { sa href="+code=BCMA_CORE_USB11_DEV" class="sref">BCMA_CORE_USB11_DEVs/a>, sspa1 class="string">"USB 1.1 Device"< 61s/a>        { sa href="+code=BCMA_CORE_USB20_HOST" class="sref">BCMA_CORE_USB20_HOSTs/a>, sspa1 class="string">"USB 2.0 Host"< 62s/a>        { sa href="+code=BCMA_CORE_USB20_DEV" class="sref">BCMA_CORE_USB20_DEVs/a>, sspa1 class="string">"USB 2.0 Device"< 63s/a>        { sa href="+code=BCMA_CORE_SDIO_HOST" class="sref">BCMA_CORE_SDIO_HOSTs/a>, sspa1 class="string">"SDIO Host"< 64s/a>        { sa href="+code=BCMA_CORE_ROBOSWITCH" class="sref">BCMA_CORE_ROBOSWITCHs/a>, sspa1 class="string">"Roboswitch"< 65s/a>        { sa href="+code=BCMA_CORE_PARA_ATA" class="sref">BCMA_CORE_PARA_ATAs/a>, sspa1 class="string">"PATA"< 66s/a>        { sa href="+code=BCMA_CORE_SATA_XORDMA" class="sref">BCMA_CORE_SATA_XORDMAs/a>, sspa1 class="string">"SATA XOR-DMA"< 67s/a>        { sa href="+code=BCMA_CORE_ETHERNET_GBIT" class="sref">BCMA_CORE_ETHERNET_GBITs/a>, sspa1 class="string">"GBit Ethernet"< 68s/a>        { sa href="+code=BCMA_CORE_PCIE" class="sref">BCMA_CORE_PCIEs/a>, sspa1 class="string">"PCIe"< 69s/a>        { sa href="+code=BCMA_CORE_PHY_N" class="sref">BCMA_CORE_PHY_Ns/a>, sspa1 class="string">"PHY N"< 70s/a>        { sa href="+code=BCMA_CORE_SRAM_CTL" class="sref">BCMA_CORE_SRAM_CTLs/a>, sspa1 class="string">"SRAM Controller"< 71s/a>        { sa href="+code=BCMA_CORE_MINI_MACPHY" class="sref">BCMA_CORE_MINI_MACPHYs/a>, sspa1 class="string">"Mini MACPHY"< 72s/a>        { sa href="+code=BCMA_CORE_PHY_LP" class="sref">BCMA_CORE_PHY_LPs/a>, sspa1 class="string">"PHY LP"< 73s/a>        { sa href="+code=BCMA_CORE_PMU" class="sref">BCMA_CORE_PMUs/a>, sspa1 class="string">"PMU"< 74s/a>        { sa href="+code=BCMA_CORE_PHY_SSN" class="sref">BCMA_CORE_PHY_SSNs/a>, sspa1 class="string">"PHY SSN"< 75s/a>        { sa href="+code=BCMA_CORE_SDIO_DEV" class="sref">BCMA_CORE_SDIO_DEVs/a>, sspa1 class="string">"SDIO Device"< 76s/a>        { sa href="+code=BCMA_CORE_PHY_HT" class="sref">BCMA_CORE_PHY_HTs/a>, sspa1 class="string">"PHY HT"< 77s/a>        { sa href="+code=BCMA_CORE_MAC_GBIT" class="sref">BCMA_CORE_MAC_GBITs/a>, sspa1 class="string">"GBit MAC"< 78s/a>        { sa href="+code=BCMA_CORE_DDR12_MEM_CTL" class="sref">BCMA_CORE_DDR12_MEM_CTLs/a>, sspa1 class="string">"DDR1/DDR2 Memory Controller"< 79s/a>        { sa href="+code=BCMA_CORE_PCIE_RC" class="sref">BCMA_CORE_PCIE_RCs/a>, sspa1 class="string">"PCIe Root Complex"< 80s/a>        { sa href="+code=BCMA_CORE_OCP_OCP_BRIDGE" class="sref">BCMA_CORE_OCP_OCP_BRIDGEs/a>, sspa1 class="string">"OCP to OCP Bridge"< 81s/a>        { sa href="+code=BCMA_CORE_SHARED_COMMON" class="sref">BCMA_CORE_SHARED_COMMONs/a>, sspa1 class="string">"Common Shared"< 82s/a>        { sa href="+code=BCMA_CORE_OCP_AHB_BRIDGE" class="sref">BCMA_CORE_OCP_AHB_BRIDGEs/a>, sspa1 class="string">"OCP to AHB Bridge"< 83s/a>        { sa href="+code=BCMA_CORE_SPI_HOST" class="sref">BCMA_CORE_SPI_HOSTs/a>, sspa1 class="string">"SPI Host"< 84s/a>        { sa href="+code=BCMA_CORE_I2S" class="sref">BCMA_CORE_I2Ss/a>, sspa1 class="string">"I2S"< 85s/a>        { sa href="+code=BCMA_CORE_SDR_DDR1_MEM_CTL" class="sref">BCMA_CORE_SDR_DDR1_MEM_CTLs/a>, sspa1 class="string">"SDR/DDR1 Memory Controller"< 86s/a>        { sa href="+code=BCMA_CORE_SHIM" class="sref">BCMA_CORE_SHIMs/a>, sspa1 class="string">"SHIM"< 87s/a>        { sa href="+code=BCMA_CORE_DEFAULT" class="sref">BCMA_CORE_DEFAULTs/a>, sspa1 class="string">"Default"< 88s/a>};a< 89s/a>a< 90s/a>static const structbcma_device_id_nam/s/a> sa href="+code=bcma_mips_device_nam/s" class="sref">bcma_mips_device_nam/ss/a>[] = {a< 91s/a>        { sa href="+code=BCMA_CORE_MIPS" class="sref">BCMA_CORE_MIPSs/a>, sspa1 class="string">"MIPS"< 92s/a>        { sa href="+code=BCMA_CORE_MIPS_3302" class="sref">BCMA_CORE_MIPS_3302s/a>, sspa1 class="string">"MIPS 3302"< 93s/a>        { sa href="+code=BCMA_CORE_MIPS_74K" class="sref">BCMA_CORE_MIPS_74Ks/a>, sspa1 class="string">"MIPS 74K"< 94s/a>};a< 95s/a>a< 96s/a>static const char *sa href="+code=bcma_device_nam/" class="sref">bcma_device_nam/s/a>(const structbcma_device_ids/a> *sa href="+code=id" class="sref">ids/a>)a< 97s/a>{a< 98s/a>        const structbcma_device_id_nam/s/a> *sa href="+code=nam/s" class="sref">nam/ss/a>;a< 99s/a>        intsiz/s/a>, sa href="+code=i" class="sref">is/a>;a<100s/a>a<101s/a>        sspa1 class="comment">/* search manufacturer specific nam/s */s/spa12"<102s/a>        switch (sa href="+code=id" class="sref">ids/a>->sa href="+code=manuf" class="sref">manufs/a>) {a<103s/a>        case sa href="+code=BCMA_MANUF_ARM" class="sref">BCMA_MANUF_ARMs/a>:a<104s/a>                sa href="+code=nam/s" class="sref">nam/ss/a> = sa href="+code=bcma_arm_device_nam/s" class="sref">bcma_arm_device_nam/ss/a>;a<105s/a>                sa href="+code=siz/" class="sref">siz/s/a> = sa href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZEs/a>(sa href="+code=bcma_arm_device_nam/s" class="sref">bcma_arm_device_nam/ss/a>);a<106s/a>                break;a<107s/a>        case sa href="+code=BCMA_MANUF_BCM" class="sref">BCMA_MANUF_BCMs/a>:a<108s/a>                sa href="+code=nam/s" class="sref">nam/ss/a> = sa href="+code=bcma_bcm_device_nam/s" class="sref">bcma_bcm_device_nam/ss/a>;a<109s/a>                sa href="+code=siz/" class="sref">siz/s/a> = sa href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZEs/a>(sa href="+code=bcma_bcm_device_nam/s" class="sref">bcma_bcm_device_nam/ss/a>);a<110s/a>                break;a<111s/a>        case sa href="+code=BCMA_MANUF_MIPS" class="sref">BCMA_MANUF_MIPSs/a>:a<112s/a>                sa href="+code=nam/s" class="sref">nam/ss/a> = sa href="+code=bcma_mips_device_nam/s" class="sref">bcma_mips_device_nam/ss/a>;a<113s/a>                sa href="+code=siz/" class="sref">siz/s/a> = sa href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZEs/a>(sa href="+code=bcma_mips_device_nam/s" class="sref">bcma_mips_device_nam/ss/a>);a<114s/a>                break;a<115s/a>        default:a<116s/a>                return sspa1 class="string">"UNKNOWN"<117s/a>        }a<118s/a>a<119s/a>        for (sa href="+code=i" class="sref">is/a> = 0; sa href="+code=i" class="sref">is/a> < sa href="+code=siz/" class="sref">siz/s/a>; sa href="+code=i" class="sref">is/a>++) {a<120s/a>                if (sa href="+code=nam/s" class="sref">nam/ss/a>[sa href="+code=i" class="sref">is/a>].sa href="+code=id" class="sref">ids/a> == sa href="+code=id" class="sref">ids/a>->sa href="+code=id" class="sref">ids/a>)a<121s/a>                        return sa href="+code=nam/s" class="sref">nam/ss/a>[sa href="+code=i" class="sref">is/a>].sa href="+code=nam/" class="sref">nam/s/a>;a<122s/a>        }a<123s/a>a<124s/a>        return sspa1 class="string">"UNKNOWN"<125s/a>}a<126s/a>a<127s/a>static sa href="+code=u32" class="sref">u32s/a> sa href="+code=bcma_scan_read32" class="sref">bcma_scan_read32s/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u8" class="sref">u8s/a> sa href="+code=current_coreidx" class="sref">current_coreidxs/a>,a<128s/a>                       sa href="+code=u16" class="sref">u16s/a> sa href="+code=offset" class="sref">offsets/a>)a<129s/a>{a<130s/a>        return sa href="+code=readl" class="sref">readls/a>(sa href="+code=bus" class="sref">buss/a>->sa href="+code=mmio" class="sref">mmios/a> + sa href="+code=offset" class="sref">offsets/a>);a<131s/a>}a<132s/a>a<133s/a>static void sa href="+code=bcma_scan_switch_core" class="sref">bcma_scan_switch_cores/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> sa href="+code=addr" class="sref">addrs/a>)a<134s/a>{a<135s/a>        if (sa href="+code=bus" class="sref">buss/a>->sa href="+code=hosttyp/" class="sref">hosttyp/s/a> == sa href="+code=BCMA_HOSTTYPE_PCI" class="sref">BCMA_HOSTTYPE_PCIs/a>)a<136s/a>                sa href="+code=pci_write_config_dword" class="sref">pci_write_config_dwords/a>(sa href="+code=bus" class="sref">buss/a>->sa href="+code=host_pci" class="sref">host_pcis/a>, sa href="+code=BCMA_PCI_BAR0_WIN" class="sref">BCMA_PCI_BAR0_WINs/a>,a<137s/a>                                       sa href="+code=addr" class="sref">addrs/a>);a<138s/a>}a<139s/a>a<140s/a>static sa href="+code=u32" class="sref">u32s/a> sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<141s/a>{a<142s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=readl" class="sref">readls/a>(*sa href="+code=eromptr" class="sref">eromptrs/a>);a<143s/a>        (*sa href="+code=eromptr" class="sref">eromptrs/a>)++;a<144s/a>        return sa href="+code=ent" class="sref">ents/a>;a<145s/a>}a<146s/a>a<147s/a>static void sa href="+code=bcma_erom_push_ent" class="sref">bcma_erom_push_ents/a>(sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<148s/a>{a<149s/a>        (*sa href="+code=eromptr" class="sref">eromptrs/a>)--;a<150s/a>}a<151s/a>a<152s/a>static sa href="+code=s32" class="sref">s32s/a> sa href="+code=bcma_erom_get_ci" class="sref">bcma_erom_get_cis/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<153s/a>{a<154s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<155s/a>        if (!(sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>))a<156s/a>                return -sa href="+code=ENOENT" class="sref">ENOENTs/a>;a<157s/a>        if ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_TAG" class="sref">SCAN_ER_TAGs/a>) != sa href="+code=SCAN_ER_TAG_CI" class="sref">SCAN_ER_TAG_CIs/a>)a<158s/a>                return -sa href="+code=ENOENT" class="sref">ENOENTs/a>;a<159s/a>        return sa href="+code=ent" class="sref">ents/a>;a<160s/a>}a<161s/a>a<162s/a>static sa href="+code=bool" class="sref">bools/a> sa href="+code=bcma_erom_is_end" class="sref">bcma_erom_is_ends/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<163s/a>{a<164s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<165s/a>        sa href="+code=bcma_erom_push_ent" class="sref">bcma_erom_push_ents/a>(sa href="+code=eromptr" class="sref">eromptrs/a>);a<166s/a>        return (sa href="+code=ent" class="sref">ents/a> == (sa href="+code=SCAN_ER_TAG_END" class="sref">SCAN_ER_TAG_ENDs/a> | sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>));a<167s/a>}a<168s/a>a<169s/a>static sa href="+code=bool" class="sref">bools/a> sa href="+code=bcma_erom_is_bridge" class="sref">bcma_erom_is_bridges/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<170s/a>{a<171s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<172s/a>        sa href="+code=bcma_erom_push_ent" class="sref">bcma_erom_push_ents/a>(sa href="+code=eromptr" class="sref">eromptrs/a>);a<173s/a>        return (((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>)) &&a<174s/a>                ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_TAGX" class="sref">SCAN_ER_TAGXs/a>) == sa href="+code=SCAN_ER_TAG_ADDR" class="sref">SCAN_ER_TAG_ADDRs/a>) &&a<175s/a>                ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_TYPE" class="sref">SCAN_ADDR_TYPEs/a>) == sa href="+code=SCAN_ADDR_TYPE_BRIDGE" class="sref">SCAN_ADDR_TYPE_BRIDGEs/a>));a<176s/a>}a<177s/a>a<178s/a>static void sa href="+code=bcma_erom_skip_component" class="sref">bcma_erom_skip_components/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<179s/a>{a<180s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a>;a<181s/a>        while (1) {a<182s/a>                sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<183s/a>                if ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>) &&a<184s/a>                    ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_TAG" class="sref">SCAN_ER_TAGs/a>) == sa href="+code=SCAN_ER_TAG_CI" class="sref">SCAN_ER_TAG_CIs/a>))a<185s/a>                        break;a<186s/a>                if (sa href="+code=ent" class="sref">ents/a> == (sa href="+code=SCAN_ER_TAG_END" class="sref">SCAN_ER_TAG_ENDs/a> | sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>))a<187s/a>                        break;a<188s/a>        }a<189s/a>        sa href="+code=bcma_erom_push_ent" class="sref">bcma_erom_push_ents/a>(sa href="+code=eromptr" class="sref">eromptrs/a>);a<190s/a>}a<191s/a>a<192s/a>static sa href="+code=s32" class="sref">s32s/a> sa href="+code=bcma_erom_get_mst_port" class="sref">bcma_erom_get_mst_ports/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>)a<193s/a>{a<194s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<195s/a>        if (!(sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>))a<196s/a>                return -sa href="+code=ENOENT" class="sref">ENOENTs/a>;a<197s/a>        if ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_TAG" class="sref">SCAN_ER_TAGs/a>) != sa href="+code=SCAN_ER_TAG_MP" class="sref">SCAN_ER_TAG_MPs/a>)a<198s/a>                return -sa href="+code=ENOENT" class="sref">ENOENTs/a>;a<199s/a>        return sa href="+code=ent" class="sref">ents/a>;a<200s/a>}a<201s/a>a<202s/a>static sa href="+code=s32" class="sref">s32s/a> sa href="+code=bcma_erom_get_addr_desc" class="sref">bcma_erom_get_addr_descs/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u32" class="sref">u32s/a> **sa href="+code=eromptr" class="sref">eromptrs/a>,a<203s/a>                                  sa href="+code=u32" class="sref">u32s/a> sa href="+code=typ/" class="sref">typ/s/a>, sa href="+code=u8" class="sref">u8s/a> sa href="+code=port" class="sref">ports/a>)a<204s/a>{a<205s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=addrl" class="sref">addrls/a>, sa href="+code=addrh" class="sref">addrhs/a>, sa href="+code=siz/l" class="sref">siz/ls/a>, sa href="+code=siz/h" class="sref">siz/hs/a> = 0;a<206s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=siz/" class="sref">siz/s/a>;a<207s/a>a<208s/a>        sa href="+code=u32" class="sref">u32s/a> sa href="+code=ent" class="sref">ents/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<209s/a>        if ((!(sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_VALID" class="sref">SCAN_ER_VALIDs/a>)) ||a<210s/a>            ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ER_TAGX" class="sref">SCAN_ER_TAGXs/a>) != sa href="+code=SCAN_ER_TAG_ADDR" class="sref">SCAN_ER_TAG_ADDRs/a>) ||a<211s/a>            ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_TYPE" class="sref">SCAN_ADDR_TYPEs/a>) != sa href="+code=typ/" class="sref">typ/s/a>) ||a<212s/a>            (((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_PORT" class="sref">SCAN_ADDR_PORTs/a>) >> sa href="+code=SCAN_ADDR_PORT_SHIFT" class="sref">SCAN_ADDR_PORT_SHIFTs/a>) != sa href="+code=port" class="sref">ports/a>)) {a<213s/a>                sa href="+code=bcma_erom_push_ent" class="sref">bcma_erom_push_ents/a>(sa href="+code=eromptr" class="sref">eromptrs/a>);a<214s/a>                return -sa href="+code=EINVAL" class="sref">EINVALs/a>;a<215s/a>        }a<216s/a>a<217s/a>        sa href="+code=addrl" class="sref">addrls/a> = sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_ADDR" class="sref">SCAN_ADDR_ADDRs/a>;a<218s/a>        if (sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_AG32" class="sref">SCAN_ADDR_AG32s/a>)a<219s/a>                sa href="+code=addrh" class="sref">addrhs/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<220s/a>        elsea<221s/a>                sa href="+code=addrh" class="sref">addrhs/a> = 0;a<222s/a>a<223s/a>        if ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_SZ" class="sref">SCAN_ADDR_SZs/a>) == sa href="+code=SCAN_ADDR_SZ_SZD" class="sref">SCAN_ADDR_SZ_SZDs/a>) {a<224s/a>                sa href="+code=siz/" class="sref">siz/s/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<225s/a>                sa href="+code=siz/l" class="sref">siz/ls/a> = sa href="+code=siz/" class="sref">siz/s/a> & sa href="+code=SCAN_SIZE_SZ" class="sref">SCAN_SIZE_SZs/a>;a<226s/a>                if (sa href="+code=siz/" class="sref">siz/s/a> & sa href="+code=SCAN_SIZE_SG32" class="sref">SCAN_SIZE_SG32s/a>)a<227s/a>                        sa href="+code=siz/h" class="sref">siz/hs/a> = sa href="+code=bcma_erom_get_ent" class="sref">bcma_erom_get_ents/a>(sa href="+code=bus" class="sref">buss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<228s/a>        } elsea<229s/a>                sa href="+code=siz/l" class="sref">siz/ls/a> = sa href="+code=SCAN_ADDR_SZ_BASE" class="sref">SCAN_ADDR_SZ_BASEs/a> <<a<230s/a>                                ((sa href="+code=ent" class="sref">ents/a> & sa href="+code=SCAN_ADDR_SZ" class="sref">SCAN_ADDR_SZs/a>) >> sa href="+code=SCAN_ADDR_SZ_SHIFT" class="sref">SCAN_ADDR_SZ_SHIFTs/a>);a<231s/a>a<232s/a>        return sa href="+code=addrl" class="sref">addrls/a>;a<233s/a>}a<234s/a>a<235s/a>static structbcma_device.c#L23eHTin ">bcma_scan_switch_cores/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3bcma/scan.c#L235" idopL235" class="line" nam/opL136"><136s/a>     2     2    sa href="+code=pciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" class="sref">u16s/a> sa href="+code=offset" class="sret<137s/a>     2     23ivers/bcma/scan.c#L98" idopL98" class2s="line" 2am/opL138"><138s/a>}abcma_device.c#L23eHTin ">bcma_scan_switch_cores/a>>bcma_scan_switch_c href="+/bcma/scan.c#L233" idopL233" class="line" nam/opL139"><139s/a>a<140s/a>stati2 sa h24ef="+code=u32" class="sref">list_for_eac"+codrya_scan_switch_clist_for_eac"+codrye=bus" class="sref">>bcma_scan_switch_c href="+,ode=SC" class="sref">buss/a>, sa href="+code=ue=host_pci" class="s hress/a>, sa href=" hresde=eromptr" class="srlista_scan_switch_clistrivers/bcma/scan.c#L224" idopL224" class="line" 2am/opL141"><141s/a>{abcma_scan_switch_c href="+e=host_pci" class="s hre_tid<142s/a>     2  sa 24   sa href="+code=enthref="+code=addrl" class="sref>bcma_scan_switch_c href="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL143"><143s/a>     2  (*s2 href="+code=e/bcma/scan.c#L234" idopL234" class="line" 2am/opL144"><144s/a>     2  ret2rn sa href="+code=ent" class="sref">NULNVALs/a>;a<145s/a>}a<146s/a>a<147s/a>stati2 void2sa href="+codode=bcma_device" class="sref">bcma_device.c#L23eHTin ">bcma_scan_switch_cores/a>(structbcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3i" class="sref">u16s/a> sa href="+code=offset" class="sreef="dra_scan_switch_c hrerivers/bcma/scan.c#L121" idopL121" cla2s="line" 2am/opL148"><148s/a>{a<149s/a>     2  (*s2 href="+code=eode=bcma_device" class="sref">bcma_device.c#L23eHTin ">bcma_scan_switch_cores/a>>bcma_scan_switch_c href="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL150"><150s/a>}a<151s/a>alist_for_eac"+codry_re147"ma_device.c#L23elist_for_eac"+codry_re147"me=bus" class="sref">>bcma_scan_switch_c href="+,ode=SC" class="sref">buss/a>, sa href="+code=ue=host_pci" class="s hress/a>, sa href=" hresde=eromptr" class="srlista_scan_switch_clistrivers/bcma/scan.c#L224" idopL224" class="line" 2am/opL152"><152s/a>stati2 sa h25   sa href="+code=ent=siz/" class="sref">bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+code=id" class="sref">ief="dra_scan_switch_c hrerivers/bcma/scan.c#L121" idopL121" cla2s="line" 2am/opL153"><153s/a>{a<154s/a>     2  sa 2ref="+code=u32/bcma/scan.c#L146" idopL146" cla2s="line" 2am/opL155"><155s/a>     2  if 2!(sa href="+coode=ent" class="sref">NULNVALs/a>;a<156s/a>     2     25ivers/bcma/scan.c#L177" idopL177" cla2s="line" 2am/opL157"><157s/a>     2  if 25vers/bcma/scan.c#L208" idopL208" class="line" 2am/opL158"><158s/a>     2     25a href="+cod=siz/" class="sref"HTin f="+next">bcma_scan_switch_cores/f="+next">bcmf="+code=bcma_bus" class="sref">bcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3i" class="sref">u32s/a> sa href="+code=ent" class="sref">__iomems/a> sa href="+__iomemde=busomptr" class="sref">eromptrs/a>,a<159s/a>     2  ret25   sa href="+code=sizzzzzzzzzzzzzzzode=bcma_device_id" class="sref">bcma_device_ids/a> *sa href="+code=id" class="sref">imatcz/hs/a> = sa hrematczde=u3i=siz/" class="sref" hre_nums/a> sa href="+ hre_numvers/bcma/scan.c#L203" idopL203" class="line" 2am/opL160"><160s/a>}abcma_device.c#L23eHTin ">bcma_scan_switch_cores/a>>bcma_scan_switch_c href="+/bcma/scan.c#L121" idopL121" cla2s="line" 2am/opL161"><161s/a>a<162s/a>stati2 sa h26ef="+code=bcma_erom_push_ents32s/a> sa href="+code=bcma_erom_get_addrtmps/a> sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL163"><163s/a>{a sa href="+code=port" class="sref"/a>].sa href="+code=n3i" class="sref">ja>].sa href="+cjf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL164"><164s/a>     2  sa 2ref="+code=u32" class="sref">s32s/a> sa href="+code=bcma_erom_get_addrciaa_scan_switch_c iade=n3i" class="sref">ciba_scan_switch_c ibf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL165"><165s/a>     2  sa 2ref="+code=bcma_erom_push_ent8s/a> sa href="+code=port" class="sref">porss/a>, sa href=">porse=po[2]3i" class="sref">wrapp33"s/a>, sa href="wrapp33"e=po[2]/bcma/scan.c#L233" idopL233" class="line" 2am/opL166"><166s/a>     2  ret26vers/bcma/scan.c#L147" idopL147" cla2s="line" 2am/opL167"><167s/a>}a/* search manufacturef=" CIf="drivers/bcma/scan.c#L102" idopL102" cla2s="line" 2am/opL168"><168s/a>aciaa_scan_switch_c iade=nbcma_erom_get_ent" class="sref">cma_erom_get_cis/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<169s/a>stati2 sa h26!(sa href="+code=" class="sref">ciaa_scan_switch_c iade=nbe=siz0rs/bcma/scan.c#L224" idopL224" class="line" 2am/opL170"><170s/a>{abcma_erom_push_ents/a>(sa href="+code=eromptr" class="sref">eromptrs/a>);a<171s/a>     2  sa 27   sa href="+code=add=siz/" class="sref"s/a>(sa hrf">bcma_erom_is_ends/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<172s/a>     2  sa 27   sa href="+code=enthref="+code=addNVAL" class="srefSPICAN_ADDR_TYPEs/a>fSPICAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL173"><173s/a>     2  ret27                     code=EINVAL" class="sref"LSEQN_ADDR_TYPEs/a>f"LSEQf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL174"><174s/a>     2     27ef="+code=u32/bcma/scan.c#L146" idopL146" cla2s="line" 2am/opL175"><175s/a>     2     27ef="+code=bcma_erom_push_entciba_scan_switch_c ibf="+bcma_erom_get_ent" class="sref">cma_erom_get_cis/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<176s/a>}aciba_scan_switch_c ibf="+be=siz0rbcma/scan.c#L228" idopL228" class="line" 2am/opL177"><177s/a>af"LSEQf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL178"><178s/a>stati2 void27vers/bcma/scan.c#L169" idopL169" cla2s="line" 2am/opL179"><179s/a>{a/* search manufactureparse CIf="drivers/bcma/scan.c#L102" idopL102" cla2s="line" 2am/opL180"><180s/a>     2  sa 2ref="+code=u32" class="sref">>bcma_scan_switch_c href="+e=host_pci" class="sds/a>)ai>)aciaa_scan_switch_c iade=nbee=SCAN_ADDR_SZ" class="srCIA_CLASMA_MANUF_MIPSs/as="srCIA_CLASMrivers+code=SCAN_ADDR_SZ_SHIFT" claCIA_CLASMf">SCAN_ADDR_SZ_SHIFTs/a>)CIA_CLASMf">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL181"><181s/a>     2  whi28ef="+code=u32" class="sref">>bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+code=im=" class="sref">ciaa_scan_switch_c iade=nbee=SCAN_ADDR_SZ" class="srCIA_CAN_ER_VALIDs/a>)) ||aCIA_CArivers+code=SCAN_ADDR_SZ_SHIFT" claCIA_IDf">SCAN_ADDR_SZ_SHIFTs/a>)CIA_IDf">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL182"><182s/a>     2     28ef="+code=bcma_erom_push_ent>bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aimanuf/hs/a> = sa hremanufcode=im=" class="sref">ciaa_scan_switch_c iade=nbee=SCAN_ADDR_SZ" class="srCIA_ hrefN_ADDR_SZ_SHIFTs/a>)CIA_ hrefrivers+code=SCAN_ADDR_SZ_SHIFT" claCIA_ href=">SCAN_ADDR_SZ_SHIFTs/a>)CIA_ href=">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL183"><183s/a>     2     283f="+code=bcma_erom_push_ent>porss/a>, sa href=">porse=po[0]=im=" class="sref">ciba_scan_switch_c ibf="+bee=SCAN_ADDR_SZ" class="srCIB_NCAN_ER_TAG_MPs/a>)aSCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL184"><184s/a>     2     28ef="+code=u32" class="sref">>porss/a>, sa href=">porse=po[1]=im=" class="sref">ciba_scan_switch_c ibf="+bee=SCAN_ADDR_SZ" class="srCIB_NSAN_ER_TAG_MPs/a>)aSCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL185"><185s/a>     2     28ef="+code=bcma_erom_push_entwrapp33"s/a>, sa href="wrapp33"e=po[0]=im=" class="sref">ciba_scan_switch_c ibf="+bee=SCAN_ADDR_SZ" class="srCIB_NCWN_ADDR_SZ_SHIFTs/a>)CIB_NCWrivers+code=SCAN_ADDR_SZ_SHIFT" claCIB_NCW=">SCAN_ADDR_SZ_SHIFTs/a>)CIB_NCW=">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL186"><186s/a>     2     28ef="+code=u32" class="sref">wrapp33"s/a>, sa href="wrapp33"e=po[1]=im=" class="sref">ciba_scan_switch_c ibf="+bee=SCAN_ADDR_SZ" class="srCIB_NSWN_ADDR_SZ_SHIFTs/a>)CIB_NSWrivers+code=SCAN_ADDR_SZ_SHIFT" claCIB_NSW=">SCAN_ADDR_SZ_SHIFTs/a>)CIB_NSW=">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL187"><187s/a>     2     28ef="+code=addrl" class="sref>bcma_scan_switch_c href="+e=host_pci" class="sds/a>)airev/a>)aciba_scan_switch_c ibf="+bee=SCAN_ADDR_SZ" class="srCIB_REVN_ADDR_SZ_SHIFTs/a>)CIB_REVrivers+code=SCAN_ADDR_SZ_SHIFT" claCIB_REV=">SCAN_ADDR_SZ_SHIFTs/a>)CIB_REV=">SCAf="+/bcma/scan.c#L233" idopL233" class="line" 2am/opL188"><188s/a>     2  }a<28vers/bcma/scan.c#L169" idopL169" cla2s="line" 2am/opL189"><189s/a>     2  sa 28!(sa href="+code=ez/" class="sref">bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aimanuf/hs/a> = sa hremanufcode=iCMA_HOSTTYPE_PCI" clas href=ARM/hs/a> = sa hre clas href=ARMrivers+"drivers/bcma/scan.c#L184" idopL184" cla2s="line" 2am/opL190"><190s/a>}abcma_scan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+code=id"0xFFFvers/bcma/scan.c#L210" idopL210" class="line" 2am/opL191"><191s/a>a>porss/a>, sa href=">porse=po[1]=id"0ers/bcma/scan.c#L213" idopL213" class="line" 2am/opL192"><192s/a>stati2 sa h29   sa href="+code=ent" class="sref">a>(structbcma_erom_skip_components/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<193s/a>{a<194s/a>     2  sa 29ef="+code=u32/bcma/scan.c#L146" idopL146" cla2s="line" 2am/opL195"><195s/a>     2  if 2!(sa hbcma/scan.c#L146" idopL146" cla2s="line" 2am/opL196"><196s/a>     2     2    return -sart">/* search manufacturecheckcodect<197s/a>     2  if 2(sa href="+code=ena_erom_push_entwrapp33"s/a>, sa href="wrapp33"e=po[0]=ffset" class="srewrapp33"s/a>, sa href="wrapp33"e=po[1]=i=z0rs/bcma/scan.c#L224" idopL224" class="line" 2am/opL198"><198s/a>     2     2    return -sa href="+rt">/* search manufactureSome specific  hres don't need wrapp33"="drivers/bcma/scan.c#L102" idopL102" cla2s="line" 2am/opL199"><199s/a>     2  ret29   sa href="+code=sizructbcma_scan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+coders/bcma/scan.c#L224" idopL224" cla3s="line" 3am/opL200"><200s/a>}a,aCORE_4706s hC_GBITsCOMMOM    :bcma/scan.c#L224" idopL224" cla3s1"line" 3am/opL191"><191s/a>a/* search manufactureNot used yet:(caseM/a>,aCORE_OOB_ROUTER:="drivers/bcma/scan.c#L102" idopL102" cla3s="line" 3am/opL202"><202s/a>stati3 sa h30   sa href="+code=enthref="+civers/bcma/scan.c#L188" idopL188" cla3s="line" 3am/opL203"><203s/a>     3     3                      default:bcma/scan.c#L224" idopL224" cla3s4"line" 3am/opL194"><194s/a>     3ref="30       ((sa href="+code=e=addr class="sref">a>(structbcma_erom_skip_components/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<205s/a>     3  sa 3ref="+code=u322222222222222222code=EINVAL" class="srefNXION_ADDR_TYPEs/a>fNXIOf="+/bcma/scan.c#L233" idopL233" cla3s="line" 3am/opL206"><206s/a>     3  sa 30   sa href="+code=pci/bcma/scan.c#L146" idopL146" cla3s="line" 3am/opL207"><207s/a>a<208s/a>     3  sa 30vers/bcma/scan.c#L169" idopL169" cla3s="line" 3am/opL209"><209s/a>     3  if 3(!(sa href="+code=/" class="sref"s/a>(sa hrf">f">bcma_erom_is_bridges/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<210s/a>     3     3((sa href="+code=e=addr class="sref">a>(structbcma_erom_skip_components/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<211s/a>     3     3((sa href="+code=e2222code=EINVAL" class="srefNXION_ADDR_TYPEs/a>fNXIOf="+/bcma/scan.c#L233" idopL233" cla3s="line" 3am/opL212"><212s/a>     3     3(((sa href="+c/bcma/scan.c#L146" idopL146" cla3s="line" 3am/opL213"><213s/a>     3     3    sabcma/scan.c#L146" idopL146" cla3s4"line" 3am/opL214"><214s/a>     3     3    return -saode=/" class="sref"s/a>(ctbuss/a>, sa href="+code=eromptr" class="sr hre_nums/a> sa href="+ hre_numverss/s/bcma/scan.c#L224" idopL224" cla3s="line" 3am/opL215"><215s/a>     3  }a<31ef="+code=u3222222222r class="sref">a>(structbcma_erom_skip_components/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<216s/a>aDEVN_ADDR_SZ_SHIFTf">DEVf="+/bcma/scan.c#L233" idopL233" cla3s="line" 3am/opL217"><217s/a>     3  sa 317f="+code=u32/bcma/scan.c#L146" idopL146" cla3s="line" 3am/opL218"><218s/a>     3  if 31vers/bcma/scan.c#L169" idopL169" cla3s="line" 3am/opL219"><219s/a>     3     31!(sa href="+code=/" class="sref"matcz/hs/a> = sa hrematczde=us+"drivers/ent" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="smanuf/hs/a> = sa hremanufcode=port" class="sref"/a>,aANY_ hrefN_ADDR_SZ_SHIFT/a>,aANY_ hrefde=us+"drivers/bcma/scan.c#L169" idopL169" cla3s="line" 3am/opL220"><220s/a>     3  els32(sa href="+code=e=a" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="smanuf/hs/a> = sa hremanufcode=port" class="sref">bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aimanuf/hs/a> = sa hremanufcodeers/bcma/scan.c#L210" idopL210" cla3s="line" 3am/opL221"><221s/a>     3     3    sa href="+code=t" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="sds/a> == sa href="+code=port" class="sref"/a>,aANY_CAN_ER_VALIDs/a>)/a>,aANY_CAde=us+"drivers/e" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="sds/a> == sa href="+code=port" class="sref">bcma_scan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+coderss/bcma/scan.c#L210" idopL210" cla3s="line" 3am/opL222"><222s/a>amatcz/hs/a> = sa hrematczde=ue=host_pci" class="srev/a>)a,aANY_REVN_ADDR_SZ_SHIFT/a>,aANY_REVde=us+"drivers/e" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="srev/a>)abcma_scan_switch_c href="+e=host_pci" class="sds/a>)airev/a>)a<223s/a>     3  if 32                  t" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="ss/a> a_scan_switch_c can_code=port" class="sref"/a>,aANY_CLASMA_MANUF_MIPSs/a/a>,aANY_CLASMde=us+"drivers/e" class="sref">matcz/hs/a> = sa hrematczde=ue=host_pci" class="ss/a> a_scan_switch_c can_code=port" class="sref">bcma_scan_switch_c href="+e=host_pci" class="sds/a>)ai>)a<224s/a>     3     3    sa href="+codes/s/bcma/scan.c#L224" idopL224" cla3s="line" 3am/opL225"><225s/a>     3     3    sa href="+code=siz/l" class="srefa>(structbcma_erom_skip_components/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<226s/a>     3     3    if (sa href="+codecode=ENOENT" class="sref">DEVN_ADDR_SZ_SHIFTf">DEVf="+/bcma/scan.c#L233" idopL233" cla3s="line" 3am/opL227"><227s/a>     3     327f="+code=u32/bcma/scan.c#L146" idopL146" cla3s="line" 3am/opL228"><228s/a>     3  } e32vers/bcma/scan.c#L169" idopL169" cla3s="line" 3am/opL229"><229s/a>     3     329f="+code=addrt">/* search manufacturef=" vers/eparse master >pors="drivers/bcma/scan.c#L102" idopL102" cla3s="line" 3am/opL230"><230s/a>     3     3              for t" class="sref">/a>].sa href="+code=nvers/rt" class="sref"/a>].sa href="+code=nbe=siz" class="sref">>porss/a>, sa href=">porse=po[0]/rt" class="sref"/a>].sa href="+code=n++/s/bcma/scan.c#L224" idopL224" cla3s="line" 3am/opL231"><231s/a>a)abcma_erom_get_mst_ports/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<232s/a>     3  ret33   sa href="+code=ent=siz/" class="sref"t)a<233s/a>}af"LSEQf="+/bcma/scan.c#L233" idopL233" claode=/" class="sr1334"><234s/a>a<235s/a>static struc3<136s/a>     2     23   sa33rn -sart">/* search manufacturecheckcoFirst Slave Address Descriptlasshould be"driv 0:bcma/scan.c#L102" idopL102" cla3s="line" 3am/opL237"><137s/a>     2     23ivers3bcma/ssearch manufacturechec         * thr >pin NVgiors="earce clasthr +e=hosma/scan.c#L102" idopL102" cla3s="line" 3am/opL238"><138s/a>}a<139s/a>abccma_erom_get_addr_descs/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);aero));a<140s/a>stati2 sa h23ef="+3ode=u32" classclass="sref"t<141s/a>{a<142s/a>     2  sa 23   sa3href="+code=enthref="+push_ent" class sa href="+tmpf="+/bcma/sclass="srefa>(structbccma_erom_get_addr_descs/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<143s/a>     2  (*s23href=34 2ref="25                                          lass="sref">ero));a<144s/a>     2  ret23n sa 34((sa href="+code=e=adclass="sref"t<145s/a>}a<146s/a>a<147s/a>stati2 void23a hre34    sa href="+code=siz/h" class="sref">siz/ha>(stinfoget_addr_descs/a>(stinfoe=bcm="sref">buss/a>, sa href="+code=eromptr" clearch manufastring">"B"+c"  found\n"bcma/scscan.c#L228" idopL228" cla3s="line" 3am/opL248"><148s/a>{a/* 2code=EINVAL" class="srefNXION_ADDR_TYPEs/a>fNXIOf="+/bcma/scan.c#L233" idopL233" cla3s="line" 2am/opL349"><149s/a>     2  (*s23href=34ref="+code=sizruct<150s/a>}a<151s/a>alist_focan_switch_c href="+e=host_pci" class="sds/a>)aref=switch_c href="ref=ma/sclass="srefa>(stru sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="lin3" 2am/opL352"><152s/a>stati2 sa h23   sa35ma/scan.c#L223" idopL223" class="lin3" 2am/opL353"><153s/a>{a<154s/a>     2  sa 23ef="+3ode=u32/bcma/sclass="sref">/a>].sa href="+code=nvers/rt" class="sref"/a>].sa href="+code=nbe=siz" class="sref">>porss/a>, sa href=">porse=po[0]/rt" 1lass="sref"/a>].sa href="+code=n++/s/bcma/scan.c#L224" idopL224" cla3s="line" 2am/opL355"><155s/a>     2  if 23(sa h35de=u32222222222222222class="sref">/a>].sa href="+cjf="+/bcma/s" clasass="sref"/a>].sa href="+cjf="+/bcma/sma/scan.c#L224" idopL224" cla3s="line" 2am/opL356"><156s/a>     2     23ivers35ref="+code=pciiiiiiiiiiiiiiiipush_ent" class sa href="+tmpf="+/bcma/sclass="srefa>(structbccma_erom_get_addr_descs/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<157s/a>     2  if 23vers/35    sa href="+code=siz/h" claiiiiiiiipush_ent" class));a].sa href="+code=n++/s/bcscan.c#L228" idopL228" cla3s="line" 2am/opL358"><158s/a>     2     23a hre35rn -sa href="+rt">/* 2code=EIclass="sref"t<159s/a>     2  ret23   sa3href="+code=sizzzzzzzzzzzzzzzode=bcm  search manufacturef=" verno mall=e147ies2clasdriv _i_rs/bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL360"><160s/a>}a<161s/a>a<162s/a>stati2 sa h23ef="+36ref="+code=enthref="+civers/bbbbbbbbbcma/scan.c#L188" idopL188" cla3s="line" 2am/opL363"><163s/a>{a<164s/a>     2  sa 23ef="+36((sa href="+code=e=addr classssssssssclass="sref"tmatcz/h href="+cjf="+/bcma/s" =/scan.c#L228" idopL228" cla3s="line" 2am/opL365"><165s/a>     2  sa 23ef="+36de=u322222222222222222code=EIIIIIIIIIIIIIIIII="sref">list_focan_switch_c href="+e=host_pci" class="sds/a>)aref=1switch_c href="ref=1ma/sclass="srefa>(stru sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="lin3" 2am/opL366"><166s/a>     2  ret23vers/36ref="+code=pciiiiiiiiiiiiiiiican.c#L146" idopL146" cla2s="lin3" 2am/opL367"><167s/a>}a<168s/a>a<169s/a>stati2 sa h23!(sa 36ma/scan.c#L140" idopL140" cla2s="lin3" 2am/opL370"><170s/a>{apors=""="drivers/bcma/scan.c#L102" idopL102" cla2s="lin3" 2am/opL371"><171s/a>     2  sa 23   sa3href="+code=adclass="sref">/a>].sa href="+code=nvers/rt" class="sref"/a>].sa href="+code=nbe=siz" class="sref">>porss/"s/a>, sa href="wrapp33"e=po[0]=ffset"ass="sref"/a>].sa href="+code=n++/s/bcma/scan.c#L224" idopL224" cla3s="line" 2am/opL372"><172s/a>     2  sa 23   sa3href="+code=enthref="+class="sref">/a>].sa href="+cjf="+/bcma/s" clasass="sref"/a>].sa href="+cjf="+/bcma/sma/scan.c#L224" idopL224" cla3s="line" 2am/opL373"><173s/a>     2  ret23     3               code=EIIIIIIIII="sref">list_fo sa href="+tmpf="+/bcma/sclass="srefa>(structbccma_erom_get_addr_descs/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<174s/a>     2     23ef="+37((sa href="+code=e=addr classsssssssspush_ent" class));a].sa href="+code=n++/s/bcscan.c#L228" idopL228" cla3s="line" 2am/opL375"><175s/a>     2     23ef="+37de=u322222222222222222code=EIclass="sref"t<176s/a>}a<177s/a>apors=""="driv %d "bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL378"><178s/a>stati2 void23vers/37ef="dsearch manufacturechec                                 * "has %d descriptlas\n", i, j);rs/bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL379"><179s/a>{a<180s/a>     2  sa 23ef="+38            ((sa href="+codeocma/scscan.c#L224" idopL224" class="lin3" 2am/opL381"><181s/a>     2  whi23ef="+38ref="+code=add=siz/"                 class="sref"tmatcz/h href="+cjf="+/bcma/s" =/scan.c#L228" idopL228" cla3s="line" 2am/opL382"><182s/a>     2     23ef="+38ref="+code=enthref="+civers/bbbbbbbbbbbbbbbbb="sref">list_focan_switch_c href="+e=host_pci" class="sds/a>)a"="da href="wrapp33"e=pma/sclass="srefa>(stru sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="lin3" 2am/opL383"><183s/a>     2     233f="+38 2ref="25                    can.c#L233" idopL233" class="lin3" 2am/opL384"><184s/a>     2     23ef="+38((sa href="+code=e=adcan.c#L233" idopL233" class="lin3" 2am/opL385"><185s/a>     2     23ef="+3ode=bcma_erom_can.c#L233" idopL233" class="lin3" 2am/opL386"><186s/a>     2     23ef="+38ma/scan.c#L147" idopL147" cla2s="lin3" 2am/opL387"><187s/a>     2     23ef="+38de=addrt">/* search manufacturef=" CIf="drarse master slave "="drivers/bcma/scan.c#L102" idopL102" cla2s="lin3" 2am/opL388"><188s/a>     2  }a<23vers/38de=u32" classclass="sref">/a>].sa href="+code=nvers/rt" class="sref"/a>].sa href="+code=nbe=siz" class="sref">>porss/"s/a>, sa href="wrapp33"e=po[0]=ffse1lass="sref"/a>].sa href="+code=n++/s/bcma/scan.c#L224" idopL224" cla3s="line" 2am/opL389"><189s/a>     2  sa 23!(sa 38ref="+code=sizzzzzzzzs="sref"/a>].saa href="+code=port" class="sref">porss/hackhref="+code=porhacks/rt" cs="sref">>porss/a>, sa href=">porse=po[1]=id"0ers/bc1) ?cle: 1can.c#L233" idopL233" class="lin3" 2am/opL390"><190s/a>}a/a>].sa href="+cjf="+/bcma/s" clasass="sref"/a>].sa href="+cjf="+/bcma/sma/scan.c#L224" idopL224" cla3s="line" 2am/opL391"><191s/a>a].sa sa href="+tmpf="+/bcma/sclass="srefa>(structbccma_erom_get_addr_descs/a>(structbuss/a>, sa href="+code=eromptr" class="sref">eromptrs/a>);a<192s/a>stati2 sa h23   sa3href="+code=ent" classclase=sizzzzzzzzs="sref"/a>].sa));a].sa href="+code=n++/s/bc class="srewrapp33hackhref="+code=porhacks/rtscan.c#L228" idopL228" cla3s="line" 2am/opL393"><193s/a>{a<194s/a>     2  sa 23ef="+39((sa href="+code=e=addr classsssssssspearch manufacturef=" verno mall=e147ies2clasdriv _i_rs/bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL395"><195s/a>     2  if 23(sa h39de=u322222222222222222code=EIIIIIIIIIsearch manufacturef=" verI="+cbug("iver: >pors=""="driv %d "bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL396"><196s/a>     2     23   re3urn -ssearch manufacturechec                                 * has %d descriptlas\n", i, j);rs/bcma/scan.c#L102" idopL102" cla3s="line" 2am/opL397"><197s/a>     2  if 23sa hr39    sa href="+code=EIiiiiiiiiiiiiiiiicma/scan.c#L188" idopL188" cla3s="line" 2am/opL398"><198s/a>     2     23   re3urn -sa href="+rt">/*         cma/scscan.c#L224" idopL224" class="lin3" 2am/opL399"><199s/a>     2  ret23   sa3href="+code=sizruct, sa href="wrapp33"e=po[0]=ffset"   clers/e" class!s="sref"/a>].sa href="+code=nbe=siz" cs/e" class!s="sref"/a>].sa href="+cjf="+/bcma/scan.c#L228" idopL228" cla3s="lin4" 3am/opL400"><200s/a>}alist_focan_switch_c href="+e=host_pci" class="sds/a>)a"="da href="wrapp33"e=pma/sclass="srefa>(stru sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="lin4" 3am/opL491"><191s/a>a/*         can.c#L233" idopL233" class="lin4"23am/opL492"><192s/a>stati2 sa h24   sa4href="+code=enthref="+can.c#L233" idopL233" class="lin4"33am/opL493"><193s/a>{a<194s/a>     2  sa 24     40rn -saode=/" class="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/hosttyp_switch_c href="hosttyp_ma/s" =/class="s hress/Y_CLAHOSTf="drSOCswitch_c href="Y_CLAHOSTf="drSOCma/scscan.c#L224" idopL224" class="lin4" 3am/opL405"><205s/a>     3  sa 34ef="+4ode=u32222222222222222="sref">list_focan_switch_c href="+e=host_pci" class="sds/a>)aio_ref=switch_c href="io_ref=ma/sclass="srefa>(struie=hmap_nocach_switch_c href="ie=hmap_nocach_e=bcm="sref">buss/a>can_switch_c href="+e=host_pci" class="sds/a>)aref=switch_c href="ref=ma/s cs="sref"/a>].saRE_OOB_ROUSIZ_TYPEs/a>fSPICAfRE_OOB_ROUSIZ_s/rtscan.c#L228" idopL228" cla3s="lin4" 3am/opL406"><206s/a>     3  sa 34   sa4href="+code=pci/bcma/sclas!s="sref"/a>].sacan_switch_c href="+e=host_pci" class="sds/a>)aio_ref=switch_c href="io_ref=ma/scan.c#L228" idopL228" cla3s="lin4"73am/opL407"><197s/a>     2  if 247f="+40    sa href="+code=EIiiiiiiiiOENT" class="sref">DEVN_ADME = sa hre clas h_ADME ma/scan.c#L233" idopL233" class="lin4"83am/opL408"><198s/a>     2     24vers/40rn -sa href="+rt">/* s="sref"/a>].sacan_switch_c href="+e=host_pci" class="sds/a>)aio_"="da href="wrapp33io_"="dma/sclass="srefa>(struie=hmap_nocach_switch_c href="ie=hmap_nocach_e=bcm="sref">buss/a>can_switch_c href="+e=host_pci" class="sds/a>)a"="da href="wrapp33"e=pma/s cs="sref"/a>].saRE_OOB_ROUSIZ_TYPEs/a>fSPICAfRE_OOB_ROUSIZ_s/rtscan.c#L228" idopL228" cla3s="lin4"93am/opL409"><199s/a>     2  ret24!(sa 40ref="+code=sizruct].sacan_switch_c href="+e=host_pci" class="sds/a>)aio_"="da href="wrapp33io_"="dma/scscan.c#L224" idopL224" class="lin4" 3am/opL410"><210s/a>     3     34(sa h4ef="+code=e=addr class+rt">/* s="sref"/a>].saiounm"da href="wrapp33iounm"de=bcm="sref">buss/a>can_switch_c href="+e=host_pci" class="sds/a>)aio_ref=switch_c href="io_ref=ma/sccan.c#L228" idopL228" cla3s="lin4" 3am/opL411"><211s/a>     3     34(sa h4ef="+code=e2222code=EIiiiiiiiiOENT" class="sref">DEVN_ADME = sa hre clas h_ADME ma/scan.c#L233" idopL233" class="lin4" 3am/opL412"><212s/a>     3     34((sa 41ref="+code=enthref="+can.c#L233" idopL233" class="lin4" 3am/opL413"><213s/a>     3     34   sa41             can.c#L233" idopL233" class="lin4" 3am/opL414"><214s/a>     3     34   re4urn -saode=/" OENT" c0can.c#L233" idopL233" class="lin4" 3am/opL415"><215s/a>     3  }a<34ef="+4ode=u3can.c#L233" idopL233" class="lin4" 3am/opL416"><216s/a>a<217s/a>     3  sa 347f="+4ode=u3voidass="sref">siz/ha>(stinituss/a> *sa href="+code=binituss/e=bcma_bus" class="sref">bcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3i" clacan.c#L228" idopL228" cla3s="lin4" 3am/opL418"><218s/a>     3  if 34vers/41cma/scan.c#L149" idopL149" cla2s="lin4" 3am/opL419"><219s/a>     3     34!(sa 41de=bcma_erom_push_ent" class sa href="+code=bcma_erom_get_addrtmps/a> sa href="+tmpf="+/bcma/scan.c#L233" idopL233" class="lin4" 3am/opL420"><220s/a>     3  els34(sa h4ef="+code=e=a"a_bus" class="sref">bcma_buchipinfoget_addr_descs/a>(stchipinfo class="sref">buss/a>chipinfoget_addr_descs/chipinfo clas= cs/e"ss="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/chipinfoget_addr_descs/chipinfo claccan.c#L228" idopL228" cla3s="lin4" 3am/opL421"><221s/a>     3     34   sa4href="an.c#L228" idopL228" cla3s="lin4" 3am/opL422"><222s/a>a(ct< sa href="+code=ue=host_pci" class="s hress/initudon_switch_c href="initudon_ clacan.c#L228" idopL228" cla3s="lin4" 3am/opL423"><223s/a>     3  if 34     4            t" clas/" OENT" can.c#L228" idopL228" cla3s="lin4" 3am/opL424"><224s/a>     3     34   sa4href="an.c#L228" idopL228" cla3s="lin4" 3am/opL425"><225s/a>     3     34   sa4href="+code=siclass="s hress/INIT_LIST_HEAALIDs/a>)/a>,aANINIT_LIST_HEAAe=bcmcs/e"s="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/cnswitch_c href="+e=hs claccan.c#L228" idopL228" cla3s="lin4" 3am/opL426"><226s/a>     3     34   if42de=u32" class="sref">wrapp33< sa href="+code=ue=host_pci" class="s hress/nr_cnswitch_c href="nr_cnma/s" claan.c#L228" idopL228" cla3s="lin4" 3am/opL427"><227s/a>     3     347f="+42ma/scan.c#L208" idopL208" class="lin4" 3am/opL428"><228s/a>     3  } e34vers/42de=u32" class="sref">ciaa_sca>(stass=_z/" clscan_switch_cores/f="+nexass=_z/" clscan_e=bcm="sref">buss/a>, sa href="+code=eromptr" class="sref">eroY_CLAS hreBAS_TYPEs/a>fSPICAfRE_OOS hreBAS_ claccan.c#L228" idopL228" cla3s="lin4" 3am/opL429"><229s/a>     3     349f="+42ma/scan.c#L140" idopL140" cla2s="lin4" 3am/opL430"><230s/a>     3     34     4       for t" s="sref"/a>].sa sa href="+tmpf="+/bcma/sclass="srefa>(structbuss/a>, sa href="+code=eromptr" c0 cs="sref"/a>].saRE_OOBC_VALIDs/a>)/a>,aANY_CAdBC_VA claccan.c#L228" idopL228" cla3s="lin4" 3am/opL431"><231s/a>alist_fochipinfoget_addr_descs/chipinfo clapci" class="sds/a> == sa href="+code=port" c cs="sref">>porss/ sa href="+tmpf="+/bcma/scbclass="sref">matcz/hY_CAdBC_VA_VALIDs/a>)/a>,aANY_CAdBC_VArs+code=SCAN_ADDR_SZ_SHIFT" claCIY_CAdBC_VArs+_ADDR_SZ_SHIFTs/a>)CIY_CAdBC_VArs+_ADDR_ma/scan.c#L233" idopL233" class="lin4" 3am/opL432"><232s/a>     3  ret34   sa4href="+code=en="sref">list_fochipinfoget_addr_descs/chipinfo clapci" class="sds/a> =aciba_sc sa href="+tmpf="+/bcma/scbclass="sref">matcz/hY_CAdBC_VA_DR_SZ_SHIFT/a>,aANY_REVBC_VA_DR_code=SCAN_ADDR_SZ_SHIFT" claCIY_CAdBC_VArCAN_ADDR_SZ_SHIFTs/a>)CIY_CAdBC_VArCAN_ADDR_ma/scan.c#L233" idopL233" class="lin4" 3am/opL433"><233s/a>}alist_fochipinfoget_addr_descs/chipinfo clapci" class="sds/a> =pkga href=">porse=pkg=" class="sref">ciba_sc sa href="+tmpf="+/bcma/scbclass="sref">matcz/hY_CAdBC_VA_PKGSZ_SHIFTs/a>)CIY_CAdBC_VArPKGcode=SCAN_ADDR_SZ_SHIFT" claCIY_CAdBC_VArPKG_ADDR_SZ_SHIFTs/a>)CIY_CAdBC_VArPKG_ADDR_ma/scan.c#L233" idopL233" class="lin4" 3am/opL434"><234s/a>asiz/ha>(stinfoget_addr_descs/a>(stinfoe=bcm="sref">buss/a>, sa href="+code=eromptr" clearch manufastring">"Found chip /" ham/ 0x%04X, OEv 0x%02X and package 0x%02X\n"bcma/sc an.c#L102" idopL102" cla3s="lin4" nam/opL435"><235s/a>static struc4list_fochipinfoget_addr_descs/chipinfo clapci" class="sds/a> == sa href="+code=port"  class="sr hre_numhipinfoget_addr_descs/chipinfo clapci" class="sds/a> =aporse=pkg=" cccan.c#L228" idopL228" cla3s="lin4" 3am/opL436"><136s/a>     2     24   sa43ma/scan.c#L147" idopL147" cla2s="lin4" 3am/opL437"><137s/a>     2     24ivers43de=addrl" class="sref>bcma_s< sa href="+code=ue=host_pci" class="s hress/initudon_switch_c href="initudon_ claclass="srefa>(stru ru_switch_c href=" ru_ma/scan.c#L233" idopL233" class="lin4" 3am/opL438"><138s/a>}a<139s/a>a<140s/a>stati2 sa h24ef="+4ode=u3in" class="sref">bcma_buss/=ass=a> *sa href="+code=bus"=ass=e=bcma_bus" class="sref">bcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3i" clacan.c#L228" idopL228" cla3s="lin4" 2am/opL441"><141s/a>{a<142s/a>     2  sa 24   sa44ref="+code=en="sref">list_fousa href="+code=bcua_erom_get_addrtmps/a>iverbas_switch_c href="iverbas_ma/scan.c#L233" idopL233" class="lin4" 3am/opL443"><143s/a>     2  (*s24href=44 2ref="25    ="sref">list_fousa href="+code=bcua_erom_get_addrtmps/a>__iomea href="+ hre_nu__iomea class="sref">buss/a>mptrs/a>);abuss/a>mptren sa href="+code=mptren ma/scan.c#L233" idopL233" class="lin4" 3am/opL444"><144s/a>     2  ret24n sa 44ref="an.c#L228" idopL228" cla3s="lin4" nam/opL445"><145s/a>}abcera>);a].sams/a> sa href="+ hre_numverss/s/bcm" claan.c#L228" idopL228" cla3s="lin4" 2am/opL446"><146s/a>a<147s/a>stati2 void24a hre44de=addrl" class="sref>bcma_s<>(stinituss/a> *sa href="+code=binituss/e=bcm="sref">buss/a>, sa href="+code=u3i" clacaan.c#L228" idopL228" cla3s="lin4" 3am/opL448"><148s/a>{a<149s/a>     2  (*s24href=44de=bcma_erom_push_ent" classiverbas_switch_c href="iverbas_ma/sclass="srefa>(structbuss/a>, sa href="+code=eromptr" c0 cs="sref"/a>].saRE_OOBC_ERO = sa hre clas href=ABC_ERO  clacaan.c#L228" idopL228" cla3s="lin4" 2am/opL450"><150s/a>}a(ct< sa href="+code=ue=host_pci" class="s hress/hosttyp_switch_c href="hosttyp_ma/s" =/class="s hress/Y_CLAHOSTf="drSOCswitch_c href="Y_CLAHOSTf="drSOCma/scscan.c#L224" idopL224" class="lin4" 2am/opL451"><151s/a>abuss/a>iverbas_switch_c href="iverbas_ma/s cs="sref"/a>].saRE_OOB_ROUSIZ_TYPEs/a>fSPICAfRE_OOB_ROUSIZ_s/rtscan.c#L228" idopL228" cla3s="lin4" 2am/opL452"><152s/a>stati2 sa h24   sa45ref="+code=ent=siz/" clas!s="sref"/a>].samptrs/a>);a<153s/a>{aDEVN_ADME = sa hre clas h_ADME ma/scan.c#L233" idopL233" class="lin4" 2am/opL454"><154s/a>     2  sa 24ef="+4ode=u32/bcma/scma/scscan.c#L224" idopL224" class="lin4" 2am/opL455"><155s/a>     2  if 24(sa h45de=u32222222222222222ss="srefs32s/a>mptrs/a>);a(stru< sa href="+code=ue=host_pci" class="s hress/mmioget_addr_descs/mmioma/scan.c#L233" idopL233" class="lin4" 2am/opL456"><156s/a>     2     24ivers45ref="+code=pccan.c#L233" idopL233" class="lin4" 2am/opL457"><157s/a>     2  if 24vers/45ma/scan.c#L208" idopL208" class="lin4" 2am/opL458"><158s/a>     2     24a hre45de=u32" class="sref">ciaa_scmptren sa href="+code=mptren ma/sclass="srefa>(strumptrs/a>);afSPICAfRE_OOB_ROUSIZ_s/rt / sizeofm="sref">buss/a>usa href="+code=bcua_eromscan.c#L228" idopL228" cla3s="lin4" 2am/opL459"><159s/a>     2  ret24   sa45ma/scan.c#L140" idopL140" cla2s="lin4" 2am/opL460"><160s/a>}a].saa>(stass=_z/" clscan_switch_cores/f="+nexass=_z/" clscan_e=bcm="sref">buss/a>, sa href="+code=eromptr" class="sref">eroiverbas_switch_c href="iverbas_ma/sscan.c#L228" idopL228" cla3s="lin4" 2am/opL461"><161s/a>a<162s/a>stati2 sa h24ef="+46ref="+code=enwhileass="sref"s/a>(ctmptrs/a>);a>porss/mptren sa href="+code=mptren ma/scscan.c#L224" idopL224" class="lin4" 2am/opL463"><163s/a>{abcma_budevic_switch_cores/f="+nexdevic_ class="sref">buss/a>otherscan_switch_cores/f=otherscan_ma/scan.c#L233" idopL233" class="lin4" 2am/opL464"><164s/a>     2  sa 24ef="+46((sa href="+code=e=ada_bus" class="sref">bcma_budevic_switch_cores/f="+nexdevic_ class="sref">buss/a>can_switch_c href="+e=host_class="srefa>(strukzallo_get_addr_descs/kzallo_e=bcmaizeofms="sref">buss/a>can_switch_c href="+e=host_) class="sref">eroGFP_KERNELswitch_c href="GFP_KERNELma/sscan.c#L228" idopL228" cla3s="lin4" 2am/opL465"><165s/a>     2  sa 24ef="+46de=u32222222222222222clas!s="sref"/a>].sacan_switch_c href="+e=host_cscan.c#L224" idopL224" class="lin4" 2am/opL466"><166s/a>     2  ret24vers/46ref="+code=pciiiiiiiiiiiiiiiiclass="sref">bcera>);aDEVN_ADME = sa hre clas h_ADME ma/scan.c#L233" idopL233" class="lin4" 2am/opL467"><167s/a>}abcou_get_mst_ports/aou_ma/scan.c#L233" idopL233" class="lin4" 2am/opL468"><168s/a>a/* can.c#L233" idopL233" class="lin4" 2am/opL469"><169s/a>stati2 sa h24!(sa 46ref="+code=sizzzzzzzzs="sref"/a>].saINIT_LIST_HEAALIDs/a>)/a>,aANINIT_LIST_HEAAe=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)alis_get_mst_ports/alis_ma/sscan.c#L228" idopL228" cla3s="lin4" 2am/opL470"><170s/a>{a(ctcan_switch_c href="+e=host_pci" class="sds/a>)a, sa href="+code=eromptr"class="srefa>(stru< sa href="+code=ue=host_can.c#L228" idopL228" cla3s="lin4" 2am/opL471"><171s/a>     2  sa 24   sa47ref="an.c#L228" idopL228" cla3s="lin4" 2am/opL472"><172s/a>     2  sa 24   sa4href="+code=enthref="+class="sref">bcera>);abcma_busa hnextscan_switch_cores/f="+nexsa hnextscan_e=bcm="sref">buss/a>, sa href="+code=eromptr" ccs/e"s="sref"s/a>(ctmptrs/a>);aeroNULLswitch_c href="NULLma/s cs="sref"/a>].sams/a> sa href="+ hre_numverss/s/bcm cs="sref"/a>].sams/aswitch_c href="+e=host_ccan.c#L228" idopL228" cla3s="lin4" 2am/opL473"><173s/a>     2  ret24     4               code=EIclass="sref"s/a>(ctera>);a<174s/a>     2     24ef="+47((sa href="+code=e=addr classss="srefa>(strukfreaswitch_c href="kfreae=bcm="sref">buss/a>ms/aswitch_c href="+e=host_ccan.c#L228" idopL228" cla3s="lin4" 2am/opL475"><175s/a>     2     24ef="+47de=u322222222222222222code=EIclass="sref"t);aDEVN_ADDR_SZ_SHIFTf">DEVf="+/bcma/s/scan.c#L224" idopL224" class="lin4" 2am/opL476"><176s/a>}a].sams/a> sa href="+ hre_numverss/s/bcm++can.c#L228" idopL228" cla3s="lin4" 2am/opL477"><177s/a>a<178s/a>stati2 void24vers/47rn -sa href="+rt">/*         cma/scsclass="sref"t);aDEVN_ADR_TYPEs/a>fNXIOf="+/bcma/s/scan.c#L224" idopL224" class="lin4" 2am/opL479"><179s/a>{a<180s/a>     2  sa 24ef="+48            ((sa href="+codeocma/scsclass="sref"t);aDEVN_SPIP_TYPEs/a>fSPICAf_SPIP_ma/s/scan.c#L224" idopL224" class="lin4" 2am/opL481"><181s/a>     2  whi24ef="+48ref="+code=add=siz/"                 cma/scan.c#L188" idopL188" cla3s="lin4" 2am/opL482"><182s/a>     2     24ef="+48ref="+code=enthref="+civers/bcan.c#L233" idopL233" class="lin4" 2am/opL483"><183s/a>     2     243f="+48 2ref="25                    gotoiclass="sref">bcou_get_mst_ports/aou_ma/scan.c#L233" idopL233" class="lin4" 2am/opL484"><184s/a>     2     24ef="+48((sa href="+code=e=adcan.c#L233" idopL233" class="lin4" 2am/opL485"><185s/a>     2     24ef="+48ma/scan.c#L146" idopL146" cla2s="lin4" 2am/opL486"><186s/a>     2     24ef="+48ref="+code=pciiiiiiiis="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)amversnt_coreidxs/a(structmversnt_coma/sclaclass="sref">bcms/a> sa href="+ hre_numverss/s/bcm++can.c#L228" idopL228" cla3s="lin4" 2am/opL487"><187s/a>     2     24ef="+48    sa href="+code=EIss="srefa>(stru< sa href="+code=ue=host_pci" class="s hress/nr_cnswitch_c href="nr_cnma/s++can.c#L228" idopL228" cla3s="lin4" 2am/opL488"><188s/a>     2  }a<24vers/48rn -sa href="+rt">/* s="sref"/a>].saotherscan_switch_cores/f=otherscan_ma/sclaclass="sref">bcma_bufnt_scan__reopL2_switch_cores/f="+nexfnt_scan__reopL2_e=bcm="sref">buss/a>, sa href="+code=eromptr" class="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+coderss/bcmacan.c#L228" idopL228" cla3s="lin4" 2am/opL489"><189s/a>     2  sa 24!(sa 48ref="+code=sizzzzzzzzs="sref"/a>].sacan_switch_c href="+e=host_pci" class="sds/a>)amversuni_get_mst_ports/amversuni_ma/sclam="sref">buss/a>otherscan_switch_cores/f=otherscan_ma/scllaclass="sref">bcNULLswitch_c href="NULLma/s) ?cle: ="sref">buss/a>otherscan_switch_cores/f=otherscan_ma/spci" class="sds/a>)amversuni_get_mst_ports/amversuni_ma/sc+ 1can.c#L233" idopL233" class="lin4" 2am/opL490"><190s/a>}a<191s/a>abcma_s<>(stinfoget_addr_descs/a>(stinfoe=bcm="sref">buss/a>, sa href="+code=eromptr" clearch manufastring">"Call=%d found:=%s (deers 0x%03X,am/ 0x%03X, OEv 0x%02X,h manu 0x%X)\n"bcma/sc an.c#L102" idopL102" cla3s="lin4" 2am/opL492"><192s/a>stati2 sa h24   sa4href="+code=ent" classclase=sizzs="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)amversnt_coreidxs/a(structmversnt_coma/s class="sref">ero"+nexdevic__2 saswitch_cores/f="+nexdevic__2 sae=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)a= sa href="+coderss/bcma an.c#L102" idopL102" cla3s="lin4" 2am/opL493"><193s/a>{a].sacan_switch_c href="+e=host_pci" class="sds/a>)aia href="drivers" class="sref">ids/a> =deersget_addr_descs/meersptr" class="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+coderss/bcm class="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> =a<194s/a>     2  sa 24ef="+49((sa href="+code=e=addr classsslass="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> =ref="switch_c href="+tch_/bcmacan.c#L228" idopL228" cla3s="lin4" 2am/opL495"><195s/a>     2  if 24(sa h49ma/scan.c#L146" idopL146" cla2s="lin4" 2am/opL496"><196s/a>     2     24   re49ref="+code=pciiiiiiiis="sref"s/a>(ctlis__ref_tailget_mst_ports/alis__ref_taile=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)alis_get_mst_ports/alis_ma/s ccs/e"s="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/cnswitch_c href="+e=hs claccan.c#L228" idopL228" cla3s="lin4" 2am/opL497"><197s/a>     2  if 24sa hr49de=u32/bcma/scan.c#L146" idopL146" cla3s="lin4" 2am/opL498"><198s/a>     2     24   re49ma/scan.c#L169" idopL169" cla3s="lin4" 2am/opL499"><199s/a>     2  ret24   sa49de=bcma_erom_push_ent" classiva>);a<200s/a>}abcou_get_mst_ports/aou_ma/s:an.c#L228" idopL228" cla3s="lin5"13am/opL501"><191s/a>a(ct< sa href="+code=ue=host_pci" class="s hress/hosttyp_switch_c href="hosttyp_ma/s" =/class="s hress/Y_CLAHOSTf="drSOCswitch_c href="Y_CLAHOSTf="drSOCma/scan.c#L228" idopL228" cla3s="lin5"23am/opL502"><192s/a>stati2 sa h25   sa5href="+code=enthref="+class="sds/a>)abuss/a>mptrs/a>);a<193s/a>{a<194s/a>     2  sa 25     50rn -saode=/" OENT" cpush_ent" classiva>);a<195s/a>     2  if 25ef="+50de=u3can.c#L233" idopL233" class="lin5" 3am/opL506"><206s/a>     3  sa 35   sa50ma/scan.c#L147" idopL147" cla2s="lin5"73am/opL507"><197s/a>     2  if 257f="+50    sin" class="sref">bc_binit>);aero"+nexus"=ass=_earlyswitch_cores/f="+nexus"=ass=_earlye=bcma_bus" class="sref">bcma_buss/a> *sa href="+code=bus" class="sref">buss/a>, sa href="+code=u3i" cla an.c#L102" idopL102" cla3s="lin5"83am/opL508"><198s/a>     2     25vers/50rn -sa href="+rt">/*                a_bus" class="sref">bcma_budevic__buss/a>matchget_addr_descs/metch cla an.c#L102" idopL102" cla3s="lin5"93am/opL509"><199s/a>     2  ret25!(sa 50ref="+code=sizructbcma_budevic_ href="drivers"ma_budevic_ class="sref">buss/a>ms/aswitch_c href="+e=host_can.c#L102" idopL102" cla3s="lin5" 3am/opL510"><210s/a>     3     35(sa h5ef="+ccan.c#L224" idopL224" class="lin5" 3am/opL511"><211s/a>     3     35(sa h51de=u32" class="sref">list_fousa href="+code=bcua_erom_get_addrtmps/a>iverbas_switch_c href="iverbas_ma/scan.c#L233" idopL233" class="lin5" 3am/opL512"><212s/a>     3     35((sa 51ref="+code=en="sref">list_fousa href="+code=bcua_erom_get_addrtmps/a>__iomea href="+ hre_nu__iomea class="sref">buss/a>mptrs/a>);abuss/a>mptren sa href="+code=mptren ma/scan.c#L233" idopL233" class="lin5" 3am/opL513"><213s/a>     3     35   sa51     an.c#L228" idopL228" cla3s="lin5" 3am/opL514"><214s/a>     3     35   re5urn -saode=/" in" class="sref">bcera>);aDEVN_ADDR_SZ_SHIFTf">DEVf="+/bcma/scan.c#L233" idopL233" class="lin5"53am/opL515"><215s/a>     3  }a<35ef="+51de=u322222222in" class="sref">bcms/a> sa href="+ hre_numverss/s/bcm" claan.c#L228" idopL228" cla3s="lin5" 3am/opL516"><216s/a>a<217s/a>     3  sa 357f="+51de=addrl" class="sref>bcma_siverbas_switch_c href="iverbas_ma/sclass="srefa>(structbuss/a>, sa href="+code=eromptr" c0 cs="sref"/a>].saRE_OOBC_ERO = sa hre clas href=ABC_ERO  clacaan.c#L228" idopL228" cla3s="lin5" 3am/opL518"><218s/a>     3  if 35vers/51rn -sa href="class="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/hosttyp_switch_c href="hosttyp_ma/s" =/class="s hress/Y_CLAHOSTf="drSOCswitch_c href="Y_CLAHOSTf="drSOCma/scscan.c#L224" idopL224" class="lin5" 3am/opL519"><219s/a>     3     35!(sa 51ref="+code=sizzzzzzzzs="sref"/a>].samptrs/a>);a(struie=hmap_nocach_switch_c href="ie=hmap_nocach_e=bcm="sref">buss/a>iverbas_switch_c href="iverbas_ma/s cs="sref"/a>].saRE_OOB_ROUSIZ_TYPEs/a>fSPICAfRE_OOB_ROUSIZ_s/rtscan.c#L228" idopL228" cla3s="lin5" 3am/opL520"><220s/a>     3  els35(sa h52            ((sa hrefclas!s="sref"/a>].samptrs/a>);a<221s/a>     3     35   sa52f="+code=e2222code=EIiiiiiiiiOENT" class="sref">DEVN_ADME = sa hre clas h_ADME ma/scan.c#L233" idopL233" class="lin5" 3am/opL522"><222s/a>a<223s/a>     3  if 35     5            t" clas/" s="sref"/a>].samptrs/a>);a(stru< sa href="+code=ue=host_pci" class="s hress/mmioget_addr_descs/mmioma/scan.c#L233" idopL233" class="lin5" 3am/opL524"><224s/a>     3     35   sa52de=u32/bcma/scan.c#L233" idopL233" class="lin5"53am/opL525"><225s/a>     3     35   sa52ma/scan.c#L146" idopL146" cla2s="lin5" 3am/opL526"><226s/a>     3     35   if52de=u32" class="sref">wrapp33mptren sa href="+code=mptren ma/sclass="srefa>(strumptrs/a>);afSPICAfRE_OOB_ROUSIZ_s/rt / sizeofm="sref">buss/a>usa href="+code=bcua_eromscan.c#L228" idopL228" cla3s="lin5" 3am/opL527"><227s/a>     3     357f="+52ma/scan.c#L208" idopL208" class="lin5" 3am/opL528"><228s/a>     3  } e35vers/52de=u32" class="sref">ciaa_sca>(stass=_z/" clscan_switch_cores/f="+nexass=_z/" clscan_e=bcm="sref">buss/a>, sa href="+code=eromptr" class="sref">eroiverbas_switch_c href="iverbas_ma/sscan.c#L228" idopL228" cla3s="lin5" 3am/opL529"><229s/a>     3     359f="+52ma/scan.c#L140" idopL140" cla2s="lin5" 3am/opL530"><230s/a>     3     35     5       for t" whileass="sref"s/a>(ctmptrs/a>);a>porss/mptren sa href="+code=mptren ma/scscan.c#L224" idopL224" class="lin5" 3am/opL531"><231s/a>abcma_smeaset>);abuss/a>ms/aswitch_c href="+e=host_ c0 caizeofms="sref">buss/a>can_switch_c href="+e=host_)scan.c#L228" idopL228" cla3s="lin5" 3am/opL532"><232s/a>     3  ret35   sa53ref="+code=enthref="+class="sds/a>)aINIT_LIST_HEAALIDs/a>)/a>,aANINIT_LIST_HEAAe=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)alis_get_mst_ports/alis_ma/sscan.c#L228" idopL228" cla3s="lin5" 3am/opL533"><233s/a>}a].sacan_switch_c href="+e=host_pci" class="sds/a>)a, sa href="+code=eromptr"class="srefa>(stru< sa href="+code=ue=host_can.c#L228" idopL228" cla3s="lin5" 3am/opL534"><234s/a>a<235s/a>static struc5bcera>);aciaa_sca>(stsa hnextscan_switch_cores/f="+nexsa hnextscan_e=bcm="sref">buss/a>, sa href="+code=eromptr" ccs/e"s="sref"s/a>(ctmptrs/a>);aeromatchget_addr_descs/metch cla cs="sref"/a>].sams/a> sa href="+ hre_numverss/s/bcm cs="sref"/a>].sams/aswitch_c href="+e=host_ccan.c#L228" idopL228" cla3s="lin5" 3am/opL536"><136s/a>     2     25   sa53ref="+code=pci/bcma/sclasclass="sref">bcera>);aDEVN_ADDR_SZ_SHIFTf">DEVf="+/bcma/s/scan.c#L224" idopL224" class="lin5" 3am/opL537"><137s/a>     2     25ivers53    sa href="+code=EIiiiiiiiis="sref"/a>].sams/a> sa href="+ hre_numverss/s/bcm++can.c#L228" idopL228" cla3s="lin5" 3am/opL538"><138s/a>}a/*         continuecan.c#L228" idopL228" cla3s="lin5" 3am/opL539"><139s/a>a);aDEVN_ADR_TYPEs/a>fNXIOf="+/bcma/s/an.c#L228" idopL228" cla3s="lin5" 2am/opL540"><140s/a>stati2 sa h25ef="+54            ((sa href="+codeocontinuecan.c#L228" idopL228" cla3s="lin5" 2am/opL541"><141s/a>{a);aDEVN_SPIP_TYPEs/a>fSPICAf_SPIP_ma/s/an.c#L228" idopL228" cla3s="lin5" 3am/opL542"><142s/a>     2  sa 25   sa54ref="+code=ent" classclase=sicma/scan.c#L188" idopL188" cla3s="lin5" 3am/opL543"><143s/a>     2  (*s25href=54           t" clas/" a/scsclass="sref"t);a<144s/a>     2  ret25n sa 54((sa href="+code=e=addr classgotoiclass="sref">bcou_get_mst_ports/aou_ma/scan.c#L233" idopL233" class="lin5" nam/opL545"><145s/a>}a<146s/a>a(ctcan_switch_c href="+e=host_pci" class="sds/a>)amversnt_coreidxs/a(structmversnt_coma/sclaclass="sref">bcms/a> sa href="+ hre_numverss/s/bcm++can.c#L228" idopL228" cla3s="lin5" 3am/opL547"><147s/a>stati2 void25a hre54    sa href="+code=EIss="srefa>(stru< sa href="+code=ue=host_pci" class="s hress/nr_cnswitch_c href="nr_cnma/s++can.c#L228" idopL228" cla3s="lin5" 3am/opL548"><148s/a>{a/* s="sref"/a>].sa<>(stinfoget_addr_descs/a>(stinfoe=bcm="sref">buss/a>, sa href="+code=eromptr" clearch manufastring">"Call=%d found:=%s (deers 0x%03X,am/ 0x%03X, OEv 0x%02X,h manu 0x%X)\n"bcma/sc an.c#L102" idopL102" cla3s="lin5" 2am/opL549"><149s/a>     2  (*s25href=54ref="+code=sizruct(ctcan_switch_c href="+e=host_pci" class="sds/a>)amversnt_coreidxs/a(structmversnt_coma/s class="sref">ero"+nexdevic__2 saswitch_cores/f="+nexdevic__2 sae=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)a= sa href="+coderss/bcma an.c#L102" idopL102" cla3s="lin5" 2am/opL550"><150s/a>}a(ctcan_switch_c href="+e=host_pci" class="sds/a>)a= sa href="+coderss/bcm="sref">ids/a> =deersget_addr_descs/meersptr" class="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> == sa href="+coderss/bcm class="sref">erocan_switch_c href="+e=host_pci" class="sds/a>)aids/a> =a<151s/a>a(ctcan_switch_c href="+e=host_pci" class="sds/a>)a= sa href="+coderss/bcm="sref">ids/a> = hrefswitch_c href="+tch_ost_ccan.c#L228" idopL228" cla3s="lin5" 2am/opL552"><152s/a>stati2 sa h25   sa55ref="an.c#L228" idopL228" cla3s="lin5" 3am/opL553"><153s/a>{a)alis__ref_tailget_mst_ports/alis__ref_taile=bcmcs/e"s="sref"s/a>(ctcan_switch_c href="+e=host_pci" class="sds/a>)alis_get_mst_ports/alis_ma/s ccs/e"s="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/cnswitch_c href="+e=hs claccan.c#L228" idopL228" cla3s="lin5" 3am/opL554"><154s/a>     2  sa 25ef="+55((sa href="+code=e=adclass="sref">bcera>);a<155s/a>     2  if 25(sa h55de=u32222222222222222cma/scan.c#L188" idopL188" cla3s="lin5" 2am/opL556"><156s/a>     2     25ivers55ref="+code=pccan.c#L233" idopL233" class="lin5" 2am/opL557"><157s/a>     2  if 25vers/55ma/scan.c#L208" idopL208" class="lin5" 2am/opL558"><158s/a>     2     25a hre55de=u3class="sref">bcou_get_mst_ports/aou_ma/s:an.c#L228" idopL228" cla3s="lin5" 2am/opL559"><159s/a>     2  ret25   sa55ref="+code=siclass="sref"s/a>(ct< sa href="+code=ue=host_pci" class="s hress/hosttyp_switch_c href="hosttyp_ma/s" =/class="s hress/Y_CLAHOSTf="drSOCswitch_c href="Y_CLAHOSTf="drSOCma/scan.c#L228" idopL228" cla3s="lin5" 2am/opL560"><160s/a>}a(ctbuss/a>mptrs/a>);a<161s/a>a<162s/a>stati2 sa h25ef="+56ref="+code=enOENT" cpush_ent" classiva>);a<163s/a>{a<164s/a>     2  sa 25ef="+56((sa 
<164s/afooter"> The original LXR softwall=by the n.c#L233"http://sourceforge.net/projects/lxr">LXR cturuni_yma/s cthis experirechal opL2ion=by n.c#L233"mailto:lxr@> ux.no/alxr@> ux.no/bcm=
<164s/asubfooter"> lxr.> ux.no knt_ly hosted=by n.c#L233"http://www.redpill-> pro.no/aRedpill L pro ASma/s cprovider of L uxoconsulting and operations servic_s since 1995.