linux/drivers/bcma/main.c
<<
>>
Prefs
   1/*
   2 * Broadcom specific AMBA
   3 * Bus subsystem
   4 *
   5 * Licensed under the GNU/GPL. See COPYING for details.
   6 */
   7
   8#include "bcma_private.h"
   9#include <linux/module.h>
  10#include <linux/platform_device.h>
  11#include <linux/bcma/bcma.h>
  12#include <linux/slab.h>
  13
  14MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
  15MODULE_LICENSE("GPL");
  16
  17/* contains the number the next bus should get. */
  18static unsigned int bcma_bus_next_num = 0;
  19
  20/* bcma_buses_mutex locks the bcma_bus_next_num */
  21static DEFINE_MUTEX(bcma_buses_mutex);
  22
  23static int bcma_bus_match(struct device *dev, struct device_driver *drv);
  24static int bcma_device_probe(struct device *dev);
  25static int bcma_device_remove(struct device *dev);
  26static int bcma_device_uevent(struct device *dev, struct kobj_uevent_env *env);
  27
  28static ssize_t manuf_show(struct device *dev, struct device_attribute *attr, char *buf)
  29{
  30        struct bcma_device *core = container_of(dev, struct bcma_device, dev);
  31        return sprintf(buf, "0x%03X\n", core->id.manuf);
  32}
  33static ssize_t id_show(struct device *dev, struct device_attribute *attr, char *buf)
  34{
  35        struct bcma_device *core = container_of(dev, struct bcma_device, dev);
  36        return sprintf(buf, "0x%03X\n", core->id.id);
  37}
  38static ssize_t rev_show(struct device *dev, struct device_attribute *attr, char *buf)
  39{
  40        struct bcma_device *core = container_of(dev, struct bcma_device, dev);
  41        return sprintf(buf, "0x%02X\n", core->id.rev);
  42}
  43static ssize_t class_show(struct device *dev, struct device_attribute *attr, char *buf)
  44{
  45        struct bcma_device *core = container_of(dev, struct bcma_device, dev);
  46        return sprintf(buf, "0x%X\n", core->id.class);
  47}
  48static struct device_attribute bcma_device_attrs[] = {
  49        __ATTR_RO(manuf),
  50        __ATTR_RO(id),
  51        __ATTR_RO(rev),
  52        __ATTR_RO(class),
  53        __ATTR_NULL,
  54};
  55
  56static struct bus_type bcma_bus_type = {
  57        .name           = "bcma",
  58        .match          = bcma_bus_match,
  59        .probe          = bcma_device_probe,
  60        .remove         = bcma_device_remove,
  61        .uevent         = bcma_device_uevent,
  62        .dev_attrs      = bcma_device_attrs,
  63};
  64
  65static u16 bcma_cc_core_id(struct bcma_bus *bus)
  66{
  67        if (bus->chipinfo.id == BCMA_CHIP_ID_BCM4706)
  68                return    4 *dev, struct name           = dev_attrs      = dev_attrent"> *dev, struct name  
	  >
  v2.6.208trs" ca_d7vice_remove" class="sre7">bcm70ute" class="sref">device_attributebcm71 b72 container_of(d hreffind_ef="drivers/bcma/ma hreffind_ef="bcma/main.c#L66" id="L66" class="line" name="L66">  66{
);
bcma_bus *bus->u74a href="+code=container_of" class="sref">container_of(dev, struct name  
	  >
  v2.6.208t class="7ref">bcma_cc_core_idbus_type &quo class="sref">dlist_for_each_s="rya>, struct , struct );
, struct            = id == ivers/bcma/main.c#L37" id="L37" class="line" name="L37">  37}
   4 *deev, struct name  
	  >
  v2.6.208t = dev_7ttrent"> *device_attributebcm80trent"> *dedrivers/bcma/main.cd="L55" sref">name  
	  >
  v2.6.2088e=bcma_d8vice_uevent" class="sre8">bcm81ute" class="sref">device_attributeb8>   3deEXPORT_SYMBOL_GPvers/bcma/main.cEXPORT_SYMBOL_GPvss="sref">core-&ghreffind_ef="drivers/bcma/ma hreffind_ef="bcmaclass="line" name="L48">  48s8MODULE_DESCRIPTION(u8ref">devicedevice_attribute *attr, chE_4706code="+code=BCMA_COOE_47068 class="8ref">bcma_cc_core_idbus->container_of(dev, struct bcma_device, dev);
  46        return sprintf(id == ivers/bcma/main.c#L37" id="L37" class="line" namo_add"line" name="L44mo_add", chE_4706code="+code=BCMA_COOE_47068/a>";
, struct sprintf(dev_89ode=id" class="sref">id == ivers/bcma/main.c#L37" id="L37" class="line" namo_wrapline" name="L44mo_wrap, chE_4706code="+code=BCMA_COOE_47069rs" ca_d9vice_remove" class="sre9">bcm90 *, struct linux/module.h>
e=bcma_d9vice_uevent" class="sre9">bcm9rs/bcma/main.c#L52" id="L52"kfre/a>, struct         linux/module.h>
code=bcm9_device_attrs" class="s9ef">b9f">ssize_t MODULE_DESCRIPTION(u9ref">device *  66{
  67 9 class="9ref">bcma_cc_core_idbus->container_of(dev, struct linux/module.h>
 "<9a href="drivers/bcma/bc9ref="9code=id" classa> *        return bus)
  20"9;
MODULE_DESCRIPTION(dev_9rivers/bcma/main.c#L50" id="list_for_each_s="rya>, struct , struct );
, struct            fref">linux/platfoorm_devicee.h>
bciv" * We support that cef=d ourselfma_bus_next_num" class="sref">bcma_bus_nex0>
0id == ivers/bcma/main.c#L37" id="L37" class="line" name="L37">  37}
           fref">linux/platfoa href="d0rivers/bcma/main.c#L13" 02>bciv2 *name           :           fref">linux/platfohref="+co0de=MODULE_DESCRIPTION" c03>bciv3 *linux/platfoass="stri0ng">"Broadcom's04>bciv4 *linux/platfo5ss="stri0ref">bcma_cc_core_idlinux/platfoan class=0(linux/platfo
name           fref">linux/platfot_num0 = 0;
 *linux/platfoan class=0"comment">/* bcma_buses_09>
>
<id == ivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=e,
linux/bcma/bcma.hid == ivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=e,
h" class="fref">linux/bcma/bcma.h &CM4706" class="sivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=ss="sref">id.class);
bus)
  17"Broadcom'ss spe116 &quoot;GPL");
id ==            fref">linux/platfpan class=="comment">/* contains thhe nu116 *           fref">linux/platf>
id == ivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=e,
  17> = 0;
 *id == ivers/bcma/main.c#L37" id="L37" class="line" naeref="+"+code=sprintf" ref="+HIP_de=&CM4706" class="s  17/* bcma_buses__mute119 * *id == ivers/bcma/main.c#L37" id="L37" class="line" nairqmain.c#L38" id="rq"+code=bcma_device" cl"a href="+code=BCMA_CHIP_ID_BCM4706" class="shost_pci href="+code=nahost_pciid="L37" class="line" nairqmain.c#L38" id="rq"+coass="fref">linux/slab.h>
linux/slab.h>
>
uses_mutex" class="sref"1>bcma121 *           fref">linux/platf2a href="drrivers/bcma/main.c#L13" iid="122 *id == ivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=e,
,
linux/slab.h>
 *id == ivers/bcma/main.c#L37" id="L37" class="line" naeref="+"+code=sprintf" ref="+HIP_de=&CM4706" class="sivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=ass="fref">linux/slab.h>
linux/slab.h>
"            fref">linux/platf2an class=t linux/slab.h>
manuf_show(1struc128ref">MODULE_DESCRIPTION(   de=bcma_device" clt" class=gistf="+code=sprintf" clclass=gistf= &CM4706" class="sivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=lass="line" name="L17">  17core1 13" *id == er"line" name="L44er">   Eme           fref">linux/platf=buf" cla1ss="sref">buf,                    fref">linux/platf=a href="dhref="+code=ssize_t" cla1ss="s132 *id.
id           fref">linux/platf=href="+codde=MODULE_DESCRIPTION" clref"133 * *  37}
  38s1       st1ruct linux/platfef="+code1=core" class="sref">core1 135 *buf, bus)
   de=bcma_device" cltrurs/bcma/main.c#Ltrurass=ass="fref">linux/slab.h>
bus)
linux/slab.h>
rev_show(stru1ct  * core1 14cma/maifdefs   return bus)
buf, &quos="sref">id == bus)
buhass=e,
   Eme           fref">linux/platftatic id == er"line" name="L44er">   de=bcma_device" clinclude/linux/bss=gistf="+code=sprintf"include/linux/bss=gistf= &CM4706" class="sme" csf>buhref="+code=sprintf""srefsf>buhref=38" class="line" name="L38">  38s1how" clas1s="sref">class_show(1struc143 *id == er"line" name="L44er">   Eass="line" name="L38">  38s1hass="strinng">"Broadcom's devi144 *        id.id  38s1hf="+code1=core" class="sref">core1 1 buf, ssize_t bus)
manuf),
id == bus)
buhass=e,
   Eme           fref">linux/platf" class="1sref">id),
   de=bcma_device" clinclude/linux/bss=gistf="+code=sprintf"include/linux/bss=gistf= &CM4706" class="sme" cnf>buhref="+code=sprintf""srefnf>buhref=38" class="line" name="L38">  38s1v" class=1"sref">rev),
id == er"line" name="L44er">   Eass="line" name="L38">  38s1ass" clas1s="sref">class),
id == me" cer"line" name="L44me" cer"        id.id  38s1vers/bcma1/main.c#L54" id="L54" cl1ass="1ine" name="L54ize_t  bus_type bcm1a_bus15"string">"0xlass="line" name="L20">  20&q1uot;bcma",
<1a hre15bute" class="sref">device_attributebc1ma_bu158ref">MODULE_DESCRIPTION(bcma1devicedevice  66{
  67 1de=bcma_d1evice_remove" class="sre1f">bc1a_devie           fref">linux/platfde=bcma_d1evice_uevent" class="sre1f">bc1a_device_uevene=container_of" class="sref">container_of(dev, struct dtmpline" name="L44tmpass=ass="fref">linux/slab.h>
<+code=bcm1a_device_attrs" class="s1ref">16class="sref">bcma_bus_match(stru1
  54};
, struct dtmpline" name="L44tmpass=, &CM4706" class="s);
, struct            fref">linux/platfatic 164 *  54};
, struct  &CM4706" class="sivers/bcma/main.c#L37" id="L37" class="line" nalista>, struct linux/slab.h>
<+tic stru1sref">bcma_cc_core_id(str165 *id == ivers/bcma/main.c#L37" id="L37" class="line" naef=ss=gistf=eref">bus)
   lass="line" name="L67">  67 1dan class=""comment">/* contains the_bus166 * &CM4706" class="sivers/bcma/main.c#L37" id="L37" class="line" naef="+code=sprintf" class=lass="line" name="L17">  17chipinfo.device_attribute   4 *device_attributedev16locks the bcma_bus_next_num */bc170ute"sa> *, struct  main.c#L66" id="L66" class="line" name="L66">  66{
  67 17e=bcma_d17vice_uevent" class="sre17">bc171e           fref">linux/platf7code=bcm17_device_attrs" class="s17ef">172 * *   ass="line" name="L17">  17container_of(dev, struct linux/module.h>17tic 176 bcma_cc_core_iddd="L2_hrefa>, struct 
  23st17      if17(&quo class="sref">d  59        a>
linux/slab.h>
<7 "<1aa href="drivers/bcma/bc1mref=177 *dd="L2_unhrefa>, struct 
  23st178ame="L417>   4MODULE_DESCRIPTION(dev17ttrent"> * Scss=>
bcma_bus_nextrs" ca_d18vice_remove" class="sre18">bc18/bcma/main.c#L51" id="L51" cer"line" name="L44er">   de=bcma_device" cla/main.c#scssef="drivers/bcma/main.c#scss          23st18e=bcma_d18vice_uevent" class="sre18">bc18"string">&quos="sref">id == er"line" name="L44er">   Eme           fref">linux/platf8code=bcm18_device_attrs" class="s18ef">182 *id == me" cer"line" name="L44me" cer"        id.class);
   Eass="line" name="L23">  23st18  23st18tic 184 *device_attributebcma_cc_core_idbus_type  Init CCa37"  a_bus_next_num" class="sref">bcma_bus_next "<18a href="drivers/bcma/bc18ref=187 *dev, struct bus)
  23st18t_num  = 0;
id == ivers/bcma/main.c#L37" id="Eme           fref">linux/platf8 = dev189 *bus)
, struct linux/module.h>19rs" ca_d19vice_remove" class="sre19">bc190 *, struct  &CM4706" class="sma href="+code=BCMA_CHIP_ID_BCM4706" class="sdrv_ccef">bus)
  23st1
e=bcma_d19vice_uevent" class="sre19">bc19rs/bcma/main. class="sref">device_attribute19class="sref">bcma_bus_match(stru19 Init MIPSa37"  a_bus_next_num" class="sref">bcma_bus_nex9tic 194 *dev, struct   23st1
 class="19ref">bcma_cc_core_idid == ivers/bcma/main.c#L37" id="Eme           fref">linux/platf9      if19(, struct linux/module.h>19 "<19a href="drivers/bcma/bc19ref=197 *  23st1
t_num9;
 dev19locks the bcma_bus_next_num */>
bc2v" * Init PCIEa37"  a_bus_next_num" class="sref">bcma_bus_ne20>20, struct   23st2oa href="20rivers/bcma/main.c#L13"202>bc2v2 *id == ivers/bcma/main.c#L37" id="Eme           fref">linux/plat2ohref="+c20de=MODULE_DESCRIPTION" 203>bc2v3 *, struct linux/module.h>2oass="str20ng">"Broadcom'204>bc2v4 *  23st2o5ss="str20ref">bcma_cc_core_id  Init GBIT MAC devicea37"  a_bus_next_num" class="sref">bcma_bus_ne208n class20;
, struct name  23st2o9n class20="drivers/bcma/main.c#L209id == ivers/bcma/main.c#L37" id="Eme           fref">linux/plat2form_devi2ce.h>
, struct linux/module.h>2f>2<id ==  href=ivergmac_cms_cnita>, struct  &CM4706" class="sma href="+code=BCMA_CHIP_ID_BCM4706" class="sdrv_gmac_cmsef="drivers/bcmdrv_gmac_cms  23st2 MODULE_DESCRIPTION("Broadcom'2s spe214 * Try to get SPROM a_bus_next_num" class="sref">bcma_bus_ne2ring">&qu2ot;GPL");
der"line" name="L44er">   de=bcma_device" cla/maisprom_geta>, struct           23st2pan class2="comment">/* contains t2he nu216 *id == er"line" name="L44er">   clas-ref">id == ENOENTline" name="L44ENOENTid="Eme           fref">linux/plat2f7n class2="drivers/bcma/main.c#L128" id217 *id == me" cer"line" name="L44me" cer"        id.id  38s2lt_num = 0;
id == er"line" name="L44er">   Eass="line" name="L38">  38s2lan class2="comment">/* bcma_buses2_mute219 *id == me" cer"line" name="L44me" cer"        id.class);
   Eass="line" name="L23">  23st2aorm_devi2="drivers/bcma/main.c#L221" id22cma/mze_t bcma221 * R=gistf= found cef=d a_bus_next_num" class="sref">bcma_bus_ne22a href="2rrivers/bcma/main.c#L13"2iid="222 *id == me" cregistf="ref=de=__ATTR_NULL" =dev"registf="ref=dbcma/         23st2ahref="+c2f="+code=device" class="2sref"22sref">MODULE_DESCRIPTION(d=dev">BCMA_CHIP_ID_BCM47=dev">BCM        id.id  38s2aing">&qu2t bus_type "0xlass="line" name="L20">  20device_attributemanuf_show(2struc228ref">MODULE_DESCRIPTION( main.c#L66" id="L66" class="line" name="L66">  66{
  67 2ef="+code2=core" class="sref">core2 23_devie           fref">linux/plat2=buf" cla2ss="sref">buf, container_of(dev  20bcma_bus_match(stru2=href="+c2dde=MODULE_DESCRIPTION" 2lref"233 *dev  23st2       st2ruct dev  23st2ef="+code2=core" class="sref">core2 235 *devname  23st2=buf" cla2ss="sref">buf,  d hrefunregistf="ref=de=__ATTR_NULL" =dev"unregistf="ref=d          23st2tow" clas2"sref">rev_show(stru2ct MODULE_DESCRIPTION(  23st2ef="+code2=core" class="sref">core2 24/bcma/main.c#L51" id="L51" ckfre/a>, struct           23st2ebuf" cla2ss="sref">buf, , struct           23st2ea href="2href="+code=ssize_t" cla2ss="s24f">ssize_t class_show(2struc24sref">MODULE_DESCRIPTION("Broadcom'2 devi244 * * main.c#L66" id="L66" class="line" name="L66">  66{
           fref">linux/plat2hf="+code2=core" class="sref">core2 2 container_of(devbus)
           fref">linux/plat2hbuf" cla2ss="sref">buf, container_of(dev  67 2=atic ssie           fref">linux/plat2a>  * *   ass="line" name="L17">  17manuf),
container_of(dev, struct linux/module.h>2" class="2sref">id),
cont"sref">bus)
cont"srode=iL66" id="L66" cmatchref="+code=probmatch"+coss="fref">linux/module.h>2"buf" cla2"sref">rev),
class),
id == me" ccnit="line" name="L66">  66          23st2vers/bcma2/main.c#L54" id="L54" cl2ass="25sref">MODULE_DESCRIPTION(dmatchref="+code=probmatch"+coref="drivers/bcmmanubcma_device,manub>   de=bcma_device" clss="sMANUF_a h" clcL10" " class="sMANUF_a h"+coss="fref">linux/module.h>2"f="+code2ct ddatchref="+code=probmatch"+coref="drivers/bcma/main.c#L38" id="L38" cls*cma_device" clme" c class="sref">bus)
linux/module.h>2"buf" cla2s_type" class="sref">bcm2a_bus25"string">&quo class="sref">ddatchref="+code=probmatch"+coref="drivers/bcmf="+ca>, struct    de=bcma_device" clss="sCL_SIh" clcL10" " class="sCL_SIh"+coss="fref">linux/module.h>2"atic ,
<2a hre257 *ddatchref="+code=probmatch"+coref="drivers/bcmrf="+code=sprintf"r"+HIP_de=bcma_device" clss="sANY_REV" clcL10" " class="sANY_REV"+coss="fref">linux/module.h>2"> bc2ma_bu258ref">MODULE_DESCRIPTION(bcma25ttrent"> * Scss=>
bcma_bus_ne2de=bcma_d2evice_remove" class="sre2f">bc26/bcma/main.c#L51" id="L51" cer"line" name="L44er">   de=bcma_device" cla/main.c#scsssearly"+code=sprintf"lass="lisscsssearlybcma/       bus)
linux/module.h>2de=bcma_d2evice_uevent" class="sre2f">bc26"string">&quos="sref">id == er"line" name="L44er">   Eme           fref">linux/plat2+code=bcm2a_device_attrs" class="s2ref">262 *id == me" cer"line" name="L44me" cer"        id.class);
   Eass="line" name="L23">  23st2
  23st2atic 264 *device_attributebcma_cc_core_id(str26ss="sref">bus_type /* contains t2e_bus26"string">&quo class="sref">ddatchref="+code=probmatch"+coref="drivers/bcmmanubcma_device,manub>   de=bcma_device" clss="sMANUF_MIPS" clcL10" " class="sMANUF_MIPS"+coss="fref">linux/module.h>2fo" class2="sref">chipinfo.ddatchref="+code=probmatch"+coref="drivers/bcma/main.c#L38" id="L38" cls*cma_device" cla href="+cMIPS_74Kf="+code=bcma_device" clcMIPS_74Kss="ss="fref">linux/module.h>2f>    4, struct    de=bcma_device" clss="sCL_SIh" clcL10" " class="sCL_SIh"+coss="fref">linux/module.h>2c=bcma_de2e          = dev26rivers/bcma/main.c#L50" id="datchref="+code=probmatch"+coref="drivers/bcmrf="+code=sprintf"r"+HIP_de=bcma_device" clss="sANY_REV" clcL10" " class="sANY_REV"+coss="fref">linux/module.h>2trs" ca_d27vice_remove" class="sre27">bc27cma/mze_t bc271 * Scss=>
bcma_bus_ne27code=bcm27_device_attrs" class="s27ef">272 *id == er"line" name="L44er">   de=bcma_device" cla/main.c#scsssearly"+code=sprintf"lass="lisscsssearlybcma/       linux/module.h>2tid == er"line" name="L44er">   Eme           fref">linux/plat27tic 274 *        id.class);
   Eass="line" name="L23">  23st2t class="27ref">bcma_cc_core_id  23st27      if27(&quo class="sref">device_attributessize_t    4 Init CCa37"  a_bus_next_num" class="sref">bcma_bus_ne2t = dev27rivers/bcma/main.c#L50" id="ev, struct bus)
  23st2trs" ca_d28vice_remove" class="sre28">bc28/bcma/main.c#s="sref">id == ivers/bcma/main.c#L37" id="Eme           fref">linux/plat28e=bcma_d28vice_uevent" class="sre28">bc281 *id ==  a href="+code=BCMA_CHIP_ID_BCM4706" class="sdrv_ccef">bus)
, struct linux/module.h>28code=bcm28_device_attrs" class="s28ef">282 *id == me" c=iver06, struct  &CM4706" class="sma href="+code=BCMA_CHIP_ID_BCM4706" class="sdrv_ccef">bus)
  23st28device_attribute286 bcma_cc_core_id Init MIPSa37"  a_bus_next_num" class="sref">bcma_bus_ne28      if28(&quo class="sref">dev, struct   23st2ine" namenux/module.h>2de=bcma_d2evice_menux/modul18us" cl28ss="28"string">&quo class="sr3tri stru1ct bus_type  main.c#L37" id="L37" class="line" naclass="s_type<6w25     18ss=ers/bcmmen18> *id == ivers/bcma/main.c#L37" idde=bcm28_ref">linux/module.h>19 "<19a href="drivers/bcma/bc19ref=197 *, struct bus)
  23st1
e=bcm2_d19v29 cla2"sref">rev),
MODULE_DESCRIPTION(d=dev">BCMA_CHIP_ID_BCM47=dev">BCM        device_attribute2/1
co29       bus_typid="L67" 2cs*cma_device" cla href=2+cMIP2_74Kf=ccef">bus)
name, struct name>2"+code=BCMA_CHIP_ID_BCM4206" c2ass="sef="+code=devic2e_a="s27ef">2uspen cfind_ef="drivers/bcef">2uspen (2ruct  main.c#L66" id="line" nam2="L23">  23st1
t_num2/a>9;2  23st2ine" namenux/module3lv" ize_t3/a> dev, struct manuf),
bc2v" *rev),
(stru1
),
(stru1
(        , struct dtmpline" name="L44tmpass=, &CM4706" class="sbc2v2 *id == ivers/bcmdev, struct , struct , struct  main.c#L37" id="L37" atf2a href="drrivers/bcma/main.c#L13" iid="122 *, struct ,cma_device" clcMIPS, struct , struct de=bcma_d2evice_menux/mo2ahEass="line" name="L23"> mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanuf, struct , struct f="+coCMA_Cs2e      st2="L44tmpass=, &am>, struct bus)
(2ruct  main.c#L66" id="line" n3t (2ruct < clcMIPS_74Kss="Eass="line" name="L23">  2330"28"string">&quo class)
name)
bus_typid="L673bcmev3 struct )
3 23st22uspen ce" umovoidainer_of7 main.c#L66" id="line" n3t  Try t struct manuf),
name   clas-ref">id3/a> =31a href="+code=bus" cl20(    4id.           fref">linux/plat28e=bcma_d28vice_uevent" class="sre28">bc281 *id ==  a href="+ccode=BCMA_CHIP_ID_BCM4706"3m5/main.rs/2bcma/31> *3d == er"line" name="L44er">   Easss the bcma_bus_next_num */buf, &quos="sdevp_donf">id ==  a sdevp_donf="line" name="L23"> mafalsf">id ==  a falsf clase=container_of" class="3t;
cl3ss, struct linux/module.h>19rs" ca_d19vice_remove" class="sre19">bc190 *, struct  &CM4706" class="sm3"line" na3e="L23">  23st2aorm_3evi2=32sdrv_ccef">bus)
bcma2213*16class="sref">bcma_(stru1
(        , struct dtmpline" name="L44tmpass=, &CM4706" class="s  23st2ahref3"+c2f32ce" clas,cma_devi struct , struct , struct  main.c#L37" id="L37" atf2a href="drrivers/bcma/main.c#L13" iid="122 *, struct id.<3 href32e" nalista>, struct   38s2aing"3&qu2t32evbus)
de=bcma_d2evice_menux/mo2ahEass="line" name="L23"> mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanuf, struct , struct f="+coCMA_Cs2e      st2="L44tmpass=, &am>, struct  main.c#L66" id="line" n3line" nam3="L20">  20&quo claslas, struct   23 == er"line" names)
  66{
bus)
  67 2ef="+c3de2=c336" cmatchref="+code=probmatc3.c#L67" r_of(3a href="+code=dev" class3"sref33ef">rev),=device"2 clas22ss="sref">bus_typid="L673"line" na3e="L20">  20)
264 *, struct f="+coCMA_Cs2e      st2s="sref">de=bcma_>, struct de=bcma_own, struct f="+coCMown, ct  main.c#L66" id="line" n3"line" na3e="L23">  23st2=buf"3cla2s33_mip/bcma/main.c#L63ev 3     33code=bcma_device" clcMIPS_74>, struct  ma>, struct bus_typid="L673"s="sref"3e="L23">  23st2tow" 3las2"3ref">rev_show(stru2ct , struct         , ne"t;<1aa href="drivers/bcma/bc_typovoidainer_of7bus_typid="L673e/a>, str3ct         3a hre3="v, struct  maown, struct f="+coCMown, ct <2 clas22ss="sref">bus_typid="L673eline" na3ct         3a hre346" cmatchref="+code=probmatc3.c#L67" e/a>, str3ct         3a hre34ef">rev),=devicelv" clasCMA_Ccnita>, t;Broadcom'2 devi244e     t;Broadcoct , sstruct   23st2ea hre3="2hr34f="+cs)
 EXPORT_SYMBOL_GPLstruct   66{
264 *(<3 href="+code=dev" class=3sref"3devmanuf_show(2struc228e     t>MODULE_DESCRIPTION(MODULE_DEct de=bcma_>, struct (dev3/_mip/bcma/main.c#L63ev  67 2=atic 3a 2uc34code=bcma_device" clcMIPS_74>,    t>MODULE_DESCRIPTION(MODULE_DEct , sstruct  *3*EXPORT_SYMBOL_GPLstruct cont"srode=iL663 id="366" cmatchref="+code=probmatch"+coss=3fref">lin3x/module.h>2"buf"3cla2"3ref">rstaticde=devic2e_att24">ssa>manuf, struct , struct   66 3     3  23st2vers/3cma2/3ain.c#L54" id= struct manuf),
 mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanufn.c#L13" iid="122 * Try t struct , struct f="+coCMA_Cs2e      st2s="sref">de=bcma_d2evice_menux/mo2ahEass="line" name="L23"> mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanuf, struct , struct f="+coCMA_Cs2e      st2="L44tmpass=nita>, sstruct buslinux/module.h>2" class="2sref">i="sref">manufx/module.h>cfo.chipinfose=container_of" class="3t4/main.fa>(   de=bcma_device" cl3s="sC3_SIh" clcL10" inlst, struct linux/module.h>2" class="2sref">i="sref">manuf>dfose=container_of" class="3t4/main.fline" na3HIP_de=bcma_device" clss3"sANY3REV" clcL10" " class="sANY_REV"+coss=3fref">lin3x/module.h>2">  mad2evice_menux/mo2ahEass="lief="drrivers/bcma/maid_te" n2="sref">chipinfo_te" n2i="sref">manufev),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *chipinfo.),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *deanufev),=devicelv" clasCMA_Ccnim>, #L1++MA_CHIP_ID_BCM4706"3m5/main.="line"nt"> * 3css=>36s, struct x/module.h>dfone" nam3" iid="122 * mainltm5/ee.h>cfo.),=devicelv" clasCMA_Ccnim>, #L13" iid="122 * mainltm5/e=probmat+coreasCMA_ClasCMA_Ce=probmat+coree=BCMAhref=href=CHIP_ID_BCM4706"3m5/main.="line"n)3x/module.h>dfone" nam3" iid="122 *chipinfo. mainltm5/ee.h>cfo.chipinfo.),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *chipinfo. mainltm5/e=probmatIDasCMA_ClasCMA_Ce=probmatIDe=BCMAhref=href=CHIP_ID_BCM4706"3m5/main.="line"nn3x/modulstring">&quos="sref">id<3a> ==3er"line" name="L44er">smanufx/module.h>dfone" nam3" iid="122 *dev2="L23"> mainltm5/ee.h>cfo.devsznufev),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *deef="L23"> mainltm5/e=probmatid="datchref="+code=probmatch"+corMAhref=href=CHIP_ID_BCM4706"3m5/main.="line"ne3"L66"> " class="sref">class3;
x/module.h>dfone" nam3" iid="122 *&gh>cfo.a>&g">dev2="L23"> mainltm5/ee.h>cfo.devsznufev),=devicelv" clasCMA_Ccnim>, #L13" iid="122 *&gh>cfo.a>&g">dev2="L23"> mainltm5/e=probmatCLASref="+code=probmatch"bmatCLASr+corM> main.c#L66" id="line" n3ine" nahref=2"dr3vers/bcma/main.c#L652" i3=26ne36s,cma_devi struct,=devicelv" cla="line" name="L23">  23st2t c3">  23device3attributebc3a_cc_core_idbus_typid="L673"line"  de=bcma_3evice" clss="sMANUF_MIPS3 clcL36las22"string">"0xlass="line" 3ma_device3 cla href="+cMIPS_74Kf="3code=36L10" " class="sANY_REV"+coss=3fref">lr str>   3e=bcma_device" clss="sCL3SIh" 3lcL10"e=devic2e_att24">ssa>iprobner_of7manuf>2trs" ca_d27v3ce_re37s="sref">core2 23_devie           fref">linux/plat2=buf" cla2ss="sref">buf,  mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanufn.c#L13" iid="122 *3Scss=>
, struct f="+coCMA_Cs2e      st2s="sref">de=bcma_d2evice_menux/mo2ahEass="line" name="L23"> mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanuf, struc" iid="122 *, sstructuct  +cocs*cma_device" clev, sstruct bus<527 id=273e" name="L54s="sref">id<3a> ==3er"line" name=2e_att24">ssie           fref">linux/plae="22ss="sref">bus_typid="L673"line" " : aclas3" class="sref">class3;
264 *ass="27re3">bcma_cc_core_id main.c#L66" id="line" n3ine" narde=bcma_3st27      if27(     _num" class="sref">bcma_bus_ne27code=bcm27__menux/mo2ahEass="lief="drrivers/bcma/mae" umovprobner_of7  23device3attributelc27mmen273 * Init CCalv" clasCMA_Ccnita>, t          fref">linux/plat2a> "0xlass="line" 38">bc28/b3ma/main.c#s="sref">idla>, struc3 ssa>manuf  23manuf),
 mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanufn.c#L13" iid="122 *device3attribute, struct f="+coCMA_Cs2e      st2s="sref">de=bcma_d2evice_menux/mo2ahEass="line" name="L23"> mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanuf, struc" iid="122 *, sstructuct  Init MIPSa="L44er""""""""""""""""""""""""""""""""ss=nita>, sstruct bus&quo class="sr3ma_d2evic3_menux/modul18us" cl28ss3"28"s38a/main.c#L67" id="L67" cla>     _menux/mo2ahEass="lief="drrivers/bcma/mae" umovoimovner_of7 main.c#L66" id="line" n3ine" na+27mmen273id_menux/mo2ahEass="lief="drrivers/bcma/mae" umovoimovner_of7  23, struc3 3+code=BCM3_CHIP_ID_2CM47029" id="L36" cm39s="sref">core"2 clas22ss="sref">bus_typid="L673"line" ">  23r39__ATTR_NULL" cef=d7" c[0]lass="line" 3f">device3attribute2/1
co29       3a hre3=ma/main.c#L67" id="L67cma/main.2#L6539 id=193a3href="+co2class2"line" n3me="L3="+code=devic2e_att24">ssa>manufmanufbu3)
in.c#L63ev, stidainer_of7manuf),
 mainltm5/er_o"comment">/* coninltm5/er_o"an c2aass="smanufn.c#L13" iid="122 *, struc3 &quo class="sr3e=BCMA_CH3P_ID_BCM4206" c2ass="sef3"+cod398="sref">core"2 clasdde=bcm28_ref">_mdiuevtn.c#L1en iid="122 *  239;23 23dMODALIAS9 *    04Xid>    04Xrev>    02Xcl>    02X 40s, struct 7" id="L37" atf2a href="drrivers/bcma/mass2="sref">chipinfose=contd2dan class2""comment">/* contains t2e_bus26"earlybcma/       chipinfose=contd2dan class2""coef">chipinfose=container_of" class="3t4/main="line"4a1href="+4oCHIP_ID_2CM47029" id="L46" cm40rs/bcma/main.c#L37" i/main.c#L37" idde=bcm28_ref">7" id="L37" atf2a href="drrivers/bcma/mass2="sref">chipinfose=contd2dan class2""co       = deearlybcma/       chipinfose=contd2dan class2""co/a>&gh>cfo.a>&g">detainer_of" class="3t4/main="line"4" ccs*cma4device" c3a hre30 cla2"s4ef">r40__ATTR_NULL" cef=d7" c[0]lass="line" 402>bc2v2 4idssa>MODULE_DESCRIPTION(&qmod;19rs" ca_d19vice_removemod;19rss="sshow> main.c#L66" id="line" n3ine" n4a_device"4cla href=34706"30href="d4ivers40/a>)
in.c#L63evbcma34evbus)
2e_att24">ssie           fref">linux/plat2a> &quo class="sr4a 3rMA_CH4P_ID_BCM4206" c2a3L21">34"28"s40ma_device" clcMIPS_74>,    t_num" class="sref">bcma_bus_ne27code=bcm27_dmoct CRIPTION(9;24="sre4">name)
vlinux/module.h>iner_of" class="3t4/main="line"4093bc209o4e=id" class="sref3>id, struct , t          fref">linux/plat2a> 4" c_ID_BC44706" class="sdrv3gmac_34devlid="L52"atch"HOST_PCIhref="+code=probmatch"+coss=3fref">4"2>bc2v2 4st216class=_num" class="sref">bcma_bus_ne27code=bcm27_devichost_pcit;19rs" ca_d19vice_removehost_pcit;19rss="stainer_of" class="3t4/main="line"4a 3ref="+4ode=class_s2)
vlinux/module.h>A_CHIP_ID_BCM4706"3m5/main.="line4sp3214 *<4in.clv" class="li3e" na34="L214> Try t struct class="s1ref">16class=pr  fref">linux/plat2pr  frss="smclv"  classEoin. b"sref">dPCI host ;19rializdevon fer"liCM47=dev">BCM         Init MIPSa="L44er"tt24">ssie           fref">linux/plae="22ss="sref">bus_typid="L673"line"4am3="L44e4">   clas-ref">id3/a> =34a hre4="+code=bus" cR_NULL" cef=d7" c[0]lass="line" 4673 ccs*"4ref">id. *34 4= er"l1ine" name="L54ize_t3id="L64OM3 aclas4" class="sref">cl3ss, t          fref">linux/plat2a>   23st2aorm_3evi2=34sdrv_42/a>)
lifrs/bcmcallss="smanufn.c#L1g">&qmod;19rs" ca_d19vice_removemod;19rss="a>          23st2ahref3"+c2f34ce" c42"+code=devicshow(2struc228e __exMODULE_DESCRIPTION&qmodexMODULE_DESCRIPTIOg">&qmodexMOss="sshow> main.c#L66" id="line" n3ine" n4sp3L67" c4s*"sref">id.<3 href34e" na42/a>)
in.c#L63ev  38s2aing"3&qu2t34evbode=devic1e_atP#L52" id="L52"atch"HOST_PCI       fref">lid="L52"atch"HOST_PCIhref="+code=probmatch"+coss=3fref">4+c3d22an 4lass2t &qhost_pcitexMOss="stainer_of" class="3t4/main="line"4am3="L20"4  20 42_show(stru2ct , struo="l_DESCRIPTION(  66{
"0xlass="line" 4na3e="L674>  67 2ef="+c3de2=c346" cm4tchref2dan class2""comt2s="texMODULE_DESCRIPTIOmt2s="texMOss="smanufn.c#L1g">&qmodexMODULE_DESCRIPTIOg">&qmodexMOss="> main.c#L66" id="line" n3ine" n4>(3a href4"+code=dev" class3"sref34ef">r4v)


The original LXR software by the main.c#L6http://sourceforge.net/projects/lxIO>LXR sre1u19ry">deeathis experi_tlxI@ clux.nocontd
lxI. clux.no kindly hosted by main.c#L6http://www.redpill- clpro.no">Redpill Lclpro AS">deeaprovider of Lclux struult. b and operdevons ser2="Ls since 1995.