linux/drivers/spi/spi-bcm63xx.c
<<
ion 4.1/spa > 4.1/form> 4.1a ion 4. href="../linux+v38ion 4.1img src="../.static/gfx/right.png" alt=">>">io1/spa > io1spa class="lxr_search">ion ion 4.1input typle=hidden" namle=navtarget" tio2le=">ion 4.1input typle=text" namle=search" ide=search">ion 4.1butt/optyple=submit">Search 4.1/form> 1/spa > io1spa class="lxr_prefs"> 4.1a href="+prefs?return=drivers/spi/spi-bcm63xx.c"ion 4. onclick="return ajax_prefs();">ion 4.Prefs 4.1/a>io1/spa > n 4. .1/div> n 4. .1form ac ="ajax+*" method="post" onsubmit="return false;">io1input typle=hidden" namle=ajax_lookup" ide=ajax_lookup" tio2le=">in 4. .1/form> in 4. .1div class="headingbott/m">
n 4.
n 4. 4. .1div ide=search_results" class="search_results" 4> n 4. .1/div> 1div ide=content"> 1div ide=file_contents">
. .11/a>1spa  class="comment">/*1/spa >
. .21/a>1spa  class="comment"> * Broadcom BCM63xx SPI controller support1/spa >
. .31/a>1spa  class="comment"> *1/spa >
. .41/a>1spa  class="comment"> * Copyright (C) 2009-2012 Floria  Fainelli <floria @openwrt.org>1/spa >
. .51/a>1spa  class="comment"> * Copyright (C) 2010 Tanguy Bouzeloc <tanguy.bouzeloc@efixo.com>1/spa >
. .61/a>1spa  class="comment"> *1/spa >
. .71/a>1spa  class="comment"> * This program is free software; you ca  redistribute it and/or1/spa >
. .81/a>1spa  class="comment"> * modify it under the terms of the GNU General Public License1/spa >
. .91/a>1spa  class="comment"> * as published by the Free Software Founda
	  ; either vers
. .1.1a>1spa  class="comment"> * of the License, or (at your 2"
	  ) any later vers
. 111/a>1spa  class="comment"> *1/spa >
. 121/a>1spa  class="comment"> * This program is distributed in the hope that it will be useful,1/spa >
. 131/a>1spa  class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of1/spa >
. 141/a>1spa  class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the1/spa >
. 151/a>1spa  class="comment"> * GNU General Public License for more details.1/spa >
. 161/a>1spa  class="comment"> *1/spa >
. 171/a>1spa  class="comment"> * You should have received a copy of the GNU General Public License1/spa >
. 181/a>1spa  class="comment"> * along with this program; if not, write to the1/spa >
. 191/a>1spa  class="comment"> * Free Software Founda
	  , Inc., 51 Franklin Street, Fifth Floor,1/spa >
. 21.1a>1spa  class="comment"> */1/spa >
. 211/a>
. 221/a>#include <linux/kernel.h1/a>>
. 231/a>#include <linux/init.h1/a>>
. 241/a>#include <linux/clk.h1/a>>
. 251/a>#include <linux/io.h1/a>>
. 261/a>#include <linux/module.h1/a>>
. 271/a>#include <linux/platform_device.h1/a>>
. 281/a>#include <linux/delay.h1/a>>
. 291/a>#include <linux/interrupt.h1/a>>
. 301/a>#include <linux/spi/spi.h1/a>>
. 311/a>#include <linux/comple
	  .h1/a>>
. 321/a>#include <linux/err.h1/a>>
. 331/a>#include <linux/workqueue.h1/a>>
. 341/a>#include <linux/pm_runtime.h1/a>>
. 351/a>
. 361/a>#include <bcm63xx_dev_spi.h1/a>>
. 371/a>
. 381/a>#define.1a href="+code=PFX" class="sref">PFX1/a>             1a href="+code=KBUILD_MODNAME" class="sref">KBUILD_MODNAME1/a>
. 391/a>#define.1a href="+code=DRV_VER" class="sref">DRV_VER1/a>         1spa  class="string">"0.1.2"1/spa >
. 401/a>
. 411/a>struct.1a href="+code=bcm63xx_spi" class="sref">bcm63xx_spi1/a> {
. 421/a>        struct.1a href="+code=comple
	  " class="sref">comple
	  1/a>       1a href="+code=done" class="sref">done1/a>;
. 431/a>
. 441/a>        void 1a href="+code=__iomem" class="sref">__iomem1/a>            *1a href="+code=regs" class="sref">regs1/a>;
. 451/a>        int                     1a href="+code=irq" class="sref">irq1/a>;
. 461/a>
linux/interrupt.h1/a>>
. 301/a>#include <
  v4.1.12#ref">__iomem1/a>            *1a href=dataamle=L22">. 221/a>#include <#define.1a h1/a>#ref"c#L4ef="driv47speed_hz3" class=e" namspeed_hzL478"v3 ">linux/interrupt.h1/a>>
#defineunsignedine.1a h1/a>#ref"c#L4ef="driv47fifo_siz class="line" nafifo_siz L478"v3 ">linux/interrupt.h1/a>>
bcm63xx_spi1/a5 {
#defineunsignedi"drivers/spi/sp"c#L4ef="driv47msg_ts" _shiftclass="line" namsg_ts" _shiftL478"v3 ">linux/interrupt.h1/a>>
. 4215a>   5191/a>#defineunsignedi"drivers/spi/sp"c#L4ef="driv47msg_ctl_widthclass="line" namsg_ctl_widthL478"v3 ">linux/interrupt.h1/a>>
;
5a href="drivers/spi/spi5bcm6352" class="line" namle=L30">. 301/a>#includ5iomem" c5ass="sref">__iomem1/a> 5     53="201/a>#ref">__iomem1/a>            Dataabuffle=amle=L22">. 221/a>#include <linux/interrupt.h1/a>>
. 45591/a>#defineunsignedichar             1a href="+coderx_ptrclass="line" narx_ptrL478"v3 ">linux/interrupt.h1/a>>
. 301/a>#includ5 <
  v4.1.12#ref">__iomem1/a>            dataant   amle=L22">. 221/a>#include <. 451/a>        int                       1a href="+codetx_ioclass="line" natx_ioL478"v3 ">linux/interrupt.h1/a>>
. 451/a>        int                 1a href="+coderx_ioclass="line" narx_ioL478"v3 ">linux/interrupt.h1/a>>
bcm63xx_spi1/a6 {
. 4216a>   61/a>
irmainL41_byteqL478"v3 ">linux/interrupt.h1/a>>
;
6a href="drivers/spi/spi6bcm6362" class="line" namle=L30">. 301/a>#includ6iomem" c6ass="sref">__iomem1/a> 6     63="201/a>#refL43" class="line" namlelk31/a>

linux/interrupt.h1/a>>
;
linux/31/a>
linux/="201/  1a href="+codeplin31/a>
linux/interrupt.h1/a>>
. 46591/a}"v3 ">linux/interrupt.h1/a>>
 * This prograide=L60" class="line" namle=L30">. 301/a>#includ6 <
  v4.1.12
  v4ss="line" namln>
  ="201ass="line" namlu83" class=e" namu8="201ass="line" naml1/a 1/a_readbclass="sref">compl 1/a_readb="20(truct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478,ass="line" namle=L30">. 301/a>#includ6MODNAME16a>
. 301/a>#includ6a href="6rivers/spi/spi-bcm63xx.6#L40"69#L45   1a href="+code=done" class="sref">d7spi" cla7s="sref">bcm63xx_spi1/a7 {
#define. .1divass="line" naml1/a readbclass="sref">compl readb="20( 1a href="+codebq" class="sref">bqL478-#L7" 1a href="+code=irq" class="sref">irq1/a>; +1a href="+code=comple
	  " irqclass="sref">comple
	  1/airq="20( 1a href="+codeoffsetclass="line" naoffset    ))"v3 ">linux/interrupt.h1/a>>
. 4217a>   71/a>
}v3 ">linux/interrupt.h1/a>>
;
7a href="drivers/spi/spi7bcm6372" class="line" namle=L30">. 301/a>#includ7iomem" c7ass="sref">__iomem1/a> 7     73   str4.1ix.c#L4ef="driv47"n>
  v4ss="line" namln>
  ="201ass="line" namlulass="commee" namuave re1ass="line" naml1/a 1/a_readwclass="sref">compl 1/a_readw="20(truct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478,ass="line" namle=L30">. 301/a>#includ71/a>;
. 301/a>#includ7ers/spi/7spi-bcm63xx.c#L6" ide=L7">. 475#L45   1a href="+code=done" class="sref">d7  class=7"comment"> * This progr7ide=L7691/a>#define. .1divass="line" naml1/a readwclass="sref">compl readw="20( 1a href="+codebq" class="sref">bqL478-#L7" 1a href="+code=irq" class="sref">irq1/a>; +1a href="+code=comple
	  " irqclass="sref">comple
	  1/airq="20( 1a href="+codeoffsetclass="line" naoffset    ))"v3 ">linux/interrupt.h1/a>>

}v3 ">linux/interrupt.h1/a>>

. 301/a>#includ7a href="7rivers/spi/spi-bcm63xx.7#L40"79   str4.1ix.c#L4ef="driv47"n>
  v4ss="line" namln>
  ="2015" class="line" namlmpl 1/a_, 51 bclass="sref">compl 1/a_, 51 b="20(truct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478,ass="line" namle=L30">. 301/a>#includ8spi" cla8s="sref">bcm63xx_spi1/a8 {
. 301/a>#includ82" class8"line" namle=L42">. 4218a>   81#L45   1a href="+code=done" class="sref">d8ne1/a>;
8a href="drivers/spi/spi8bcm638291/a>#defineass="line" namlmpl , 51 bclass="sref">compl , 51 b="20(ass="line" namlide=c3" class=e" namide=cL478,  1a href="+codebq" class="sref">bqL478-#L7" 1a href="+code=irq" class="sref">irq1/a>; +1a href="+code=comple
	  " irqclass="sref">comple
	  1/airq="20( 1a href="+codeoffsetclass="line" naoffset    ))"v3 ">linux/interrupt.h1/a>>
__iomem1/a> 8     83/a>
}v3 ">linux/interrupt.h1/a>>
;
. 301/a>#includ8ers/spi/8spi-bcm63xx.c#L6" ide=L8">. 485   str4.1ix.c#L4ef="driv47"n>
  v4ss="line" namln>
  ="2015" class="line" namlmpl 1/a_, 51 wclass="sref">compl 1/a_, 51 w="20(truct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478,ass="line" namle=L30">. 301/a>#includ8  class=8"comment"> * This progr8ide=L86                                    ef"c#L4ef="driv47ulass="commee" namuave re1ass="line" namlide=c3" class=e" namide=cL478, unsignedi"dri 1a href="+codeoffsetclass="line" naoffset    )ass="line" namle=L30">. 301/a>#includ8/spi-bcm863xx.c#L8" ide=L8" clas8ptio287#L45   1a href="+code=done" class="sref">d8pi-bcm63xxx.c#L9" ide=L9" class="spi-b88="201/a>#ref"c#L4ef="driv47mpl , 51 wclass="sref">compl , 51 w="20(ass="line" namlide=c3" class=e" namide=cL478,  1a href="+codebq" class="sref">bqL478-#L7" 1a href="+code=irq" class="sref">irq1/a>; +1a href="+code=comple
	  " irqclass="sref">comple
	  1/airq="20( 1a href="+codeoffsetclass="line" naoffset    ))"v3 ">linux/icode=done" class="sref">d8a href="8rivers/spi/spi-bcm63xx.8#L40"89/a>
}v3 ">linux/interrupt.h1/a>>
bcm63xx_spi1/a9 {
. 4219a>   91   str4.1ixconsteunsignedia href="+code=comple
	  " _freq_tablc3" class=e" namomple
	  " _freq_tablc   s[a href="+code=cSPI_CLK_MASK3" class=e" namSPI_CLK_MASK   s][2] =    1a href="+code=done" class="sref">d9ne1/a>;
9a href="drivers/spi/spi9bcm639291/a>#define{mmennnnnn,  1a href="+codeSPI_CLK_20MHZ3" class=e" namSPI_CLK_20MHZ91/a>},ass="line" namle=L30">. 301/a>#includ9iomem" c9ass="sref">__iomem1/a> 9     9391/a>#define{m125nnnnn,  1a href="+codeSPI_CLK_12_50MHZ3" class=e" namSPI_CLK_12_50MHZ91/a>},ass="line" namle=L30">. 301/a>#includ91/a>;
#define{m 625nnnn,  1a href="+codeSPI_CLK_6_250MHZ3" class=e" namSPI_CLK_6_250MHZ91/a>},ass="line" namle=L30">. 301/a>#includ9ers/spi/9spi-bcm63xx.c#L6" ide=L9">. 49591/a>#define{m 3125nnn,  1a href="+codeSPI_CLK_3_125MHZ3" class=e" namSPI_CLK_3_125MHZ91/a>},ass="line" namle=L30">. 301/a>#includ9  class=9"comment"> * This progr9ide=L9691/a>#define{m 1563nnn,  1a href="+codeSPI_CLK_1_563MHZ3" class=e" namSPI_CLK_1_563MHZ91/a>},ass="line" namle=L30">. 301/a>#includ9/spi-bcm963xx.c#L8" ide=L8" clas9ptio29791/a>#define{m b781nnn,  1a href="+codeSPI_CLK_0_781MHZ3" class=e" namSPI_CLK_0_781MHZ91/a>},ass="line" namle=L30">. 301/a>#includ9pi-bcm639xx.c#L9" ide=L9" class=9spi-b9891/a>#define{m b391nnn,  1a href="+codeSPI_CLK_0_391MHZ3" class=e" namSPI_CLK_0_391MHZ91/a>}ass="line" namle=L30">. 301/a>#includ9i/spi-bcmm63xx.c#L10" ide=L10" cl#L40"9991/a}"v3 ">linux/interrupt.h1/a>>
1spa  cl0ass="comment"> * This pr01{

      1a href="+code " class="sref">co1/a>   ,ass="line" namle=L30">. 301/a>#includ10/spi/spi-0bcm63xx.c#L13" ide=L13" 02{
#define.1a h1/a>#refffffffffffffffffffftruct.1a href="+code=c " _transferclass="line" na " _transfer>      1a href="+codetclass="line" nat    )ass="line" namle=L30">. 301/a>#includ10spi/spi-b0cm63xx.c#L14" ide=L14" c03{
d10pi/spi-bc0m63xx.c#L15" ide=L15" cl04{
#defineass="line" namlu83" class=e" namu8="201ass="line" naml1its_per_wordclass="line" naoits_per_word    "v3 ">linux/interrupt.h1/a>>
>
 * You sho06{
#defineass="line" naml1its_per_wordclass="line" naoits_per_word     = ( 1a href="+codetclass="line" nat    ) ?eass="line" namltclass="line" nat    -#L7" 1a href="+code1its_per_wordclass="line" naoits_per_word     :1a href="+code=c " class="sref">co1/a>   -#L7" 1a href="+code1its_per_wordclass="line" naoits_per_word    "v3 ">linux/interrupt.h1/a>>
#defineif ( 1a href="+code1its_per_wordclass="line" naoits_per_word     != 8)    1a href="+code=done" class="sref">d10#L19" ide0=L19" class="line" namle08{
co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 301/a>#includ10s/spi/spi0-bcm63xx.c#L20" ide=L20"09{
#define.1a h1/a>#reffff 1a href="+code__func__31/a>
linux/icode=done" class="sref">d1-bcm63xx.cc#L11" ide=L11" class="liine" 110                    . .1div- 1a href="+codeEINVALclass="line" naEINVAL    "v3 ">linux/interrupt.h1/a>>
1spa  claass="comment"> * This pro1{

. 301/a>#includ1s/spi/spi--bcm63xx.c#L13" ide=L13"  clas112" class="line" namle=L30">. 301/a>#includ1/spi/spi-bbcm63xx.c#L14" ide=L14" cclass11391/a>#defineif ( 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codechip_>io1/sclass="sref">cochip_>io1/s91/a>#L7"1a href="+code=c " class="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" namaster>   -#L7" 1a href="+codenum_chip>io1/sclass="sref">conum_chip>io1/s    )    1a href="+code=done" class="sref">d1spi/spi-bccm63xx.c#L15" ide=L15" cllass=114                     1a href="+codelineerrclass="line" nalineerr="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 301/a>#includ1#L16" ide==L16" class="line" namle==L16"11591/a>#define.1a h1/a>#reffff 1a href="+code__func__31/a>
co1/a>   -#L7" 1a href="+codechip_>io1/sclass="sref">cochip_>io1/s91/a)"v3 ">linux/icode=done" class="sref">d1->1spa  cllass="comment"> * You shoould 116                    . .1div- 1a href="+codeEINVALclass="line" naEINVAL    "v3 ">linux/interrupt.h1/a>>

. 301/a>#includ1s#L19" idee=L19" class="line" namlee=L19118" class="line" namle=L30">. 301/a>#includ1rs/spi/spii-bcm63xx.c#L20" ide=L20"" cla11991/a>#define. .1div0"v3 ">linux/interrupt.h1/a>>

. 301/a>#includ1/linux/ke1rnel.h" class="fref">lin1ux/ke1nel.h1/a>>
.tr4.1ix5" class="line" namlmplle
	  " _s .1p_transferclass="line" naomple
	  " _s .1p_transfer="20(truct.1a href="+code=c " _linux/31/a>
      1a href="+code " class="sref">co1/a>   ,ass="line" namle=L30">. 301/a>#includ1c#L24" id1e=L24" class="line" naml1e=L2412391/a>#define.1a h1/a>#refffffffffffffffffftruct.1a href="+code=c " _transferclass="line" na " _transfer>      1a href="+codetclass="line" nat    )ass="line" namle=L30">. 301/a>#includ1L25" ide=1L25" class="line" namle=1L25">1 251/a   1a href="+code=done" class="sref">d16" ide=L216" class="line" namle=L216">. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " _master_get_lindata="20( 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" namaster>   )"v3 ">linux/icode=done" class="sref">d13xx.c#L271" ide=L27" class="line" 1namle12691/a>#defineass="line" namluL33" class=e" namu3291/a>ass="line" namlhz3" class=e" namhzL478"v3 ">linux/interrupt.h1/a>>
#defineass="line" namlu83" class=e" namu8="201ass="line" namlclk_cfqclass="sref">coclk_cfqL478,  1a href="+codeirqclass="sref">coirq="20"v3 ">linux/interrupt.h1/a>>
coi="20"v3 ">linux/interrupt.h1/a>>
linux/interrupt.h1/a>>
#defineass="line" namlhz3" class=e" namhzL478 = ( 1a href="+codetclass="line" nat    ) ?eass="line" namltclass="line" nat    -#L7" 1a href="+codespeed_hz3" class=e" namspeed_hzL478 :1a href="+code=c " class="sref">co1/a>   -#L7" 1a href="+codema  1/eed_hz3" class=e" namma  1/eed_hz="20"v3 ">linux/interrupt.h1/a>>
13291/a>#define">__iomem1/a>            Findthis closest clockxconfigur */1/amle=L22">. 221/a>#include <#definepi/s( 1a href="+code class="sref">coi="20 = 0"1a href="+code=c class="sref">coi="20 1/a>  1a href="+codeSPI_CLK_MASK3" class=e" namSPI_CLK_MASK   s"1a href="+code=c class="sref">coi="20++)    1a href="+code=done" class="sref">d1spi-bcm631xx.c#L35" ide=L35" class1="lin134                    if ( 1a href="+codehz3" class=e" namhzL478 #L7"= a href="+code=comple
	  " _freq_tablc3" class=e" namomple
	  " _freq_tablc   s[a href="+code=c class="sref">coi="20][0])    1a href="+code=done" class="sref">d1s" ide=L21dev_spi.h" class="fref">1bcm6313591/a>#define.1a h1/a>#reffff 1a href="+codeclk_cfqclass="sref">coclk_cfqL478 = a href="+code=comple
	  " _freq_tablc3" class=e" namomple
	  " _freq_tablc   s[a href="+code=c class="sref">coi="20][1]"v3 ">linux/interrupt.h1/a>>
linux/interrupt.h1/a>>
PFX1/a>             11a hre137                    }ass="line" namle=L30">. 301/a>#includ1_MODNAME11/a>
. 301/a>#includ1_s/spi/spidrivers/spi/spi-bcm63xx.1c#L4013amle=v3 ">linux/interrupt.h1/a>>
bcm63xx_spi1/a1> {
<14091/a>#define">__iomem1/a>            No matchingxconfigur */1/afnt">, defaultFranlowest mle=L22">. 221/a>#include <. 4211/a>  141/a>
coi="20 == a href="+code=cSPI_CLK_MASK3" class=e" namSPI_CLK_MASK   s)ass="line" namle=L30">. 301/a>#includ1one1/a>;
1coclk_cfqL478 = a href="+code=cSPI_CLK_0_391MHZ3" class=e" namSPI_CLK_0_391MHZ91/a"v3 ">linux/interrupt.h1/a>>
__iomem1/a> 1     1     *1a href="+code=regs" class="sref">reg1s1/a>;
__iomem1/a>            clear existingxclockxconfigur */1/aoitsth this irqister mle=L22">. 221/a>#include <. 161/a>
coirq="20 = a href="+code=comp  " _readbclass="sref">compl 1/a_readb="20( 1a href="+codebq" class="sref">bqL478,  1a href="+codeSPI_CLK_CFG3" class=e" namSPI_CLK_CFG>   )"v3 ">linux/icode=done" class="sref">d1f="driver1s/spi/spi-bcm63xx.c#L30"1 ide=14691/a>#defineass="line" namlirqclass="sref">coirq="20 &"= ~ 1a href="+codeSPI_CLK_MASK3" class=e" namSPI_CLK_MASK   s"v3 ">linux/icode=done" class="sref">d1fvers/spi1href12"
	  >
  v4.1.12#defineass="line" namlirqclass="sref">coirq="20 |= a href="+code=cclk_cfqclass="sref">coclk_cfqL478"v3 ">linux/icode=done" class="sref">d1fMODNAME114a>
. 301/a>#includ1fa href="14rivers/spi/spi-bcm63xx.14#L4014991/a>#definea href="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( 1a href="+codebq" class="sref">bqL478,  1a href="+codeirqclass="sref">coirq="20,  1a href="+codeSPI_CLK_CFG3" class=e" namSPI_CLK_CFG>   )"v3 ">linux/icode=done" class="sref">d15spi" cla15s="sref">bcm63xx_spi1/a15 {
<15091/a>#defineass="line" namllinedbqclass="sref">colinedbq="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 301/a>#includ152" class15"line" namle=L42">. 42115a>  15191/a>#define.1a h1/a 1a href="+codeclk_cfqclass="sref">coclk_cfqL478,  1a href="+codehz3" class=e" namhzL478)"v3 ">linux/icode=done" class="sref">d15ne1/a>;
15a href="drivers/spi/spi15bcm6152" cl}ass="line" namle=L30">. 301/a>#includ15iomem" c15ass="sref">__iomem1/a> 15    15    *1a href="+code=regs" class="sref">reg151/a>;
. 151/a>1sp   his lass#L7"mcodaoitst> * astooment"> ent"ode=r: mle=L22">. 221/a>#include <. 15591/a40" class="line" namle=MODEBITS3" class=e" namMODEBITS91/a>( 1a href="+codeSPI_CPOLclass="line" naSPI_CPOL="20 |  1a href="+codeSPI_CPHAclass="line" naSPI_CPHA   s)ass="line" namle=L30">. 301/a>#includ15="driver15/spi/spi-bcm63xx.c#L30"15ide=11/a>#includ5 <
  v4.1.12<15 <. 301/a>#includ6iomem" c6ass=ine" nam,  1api-bcm6mple
1p_transferclass="line" naomple
1p_transfer="20(truct.1a href="+code=c " _linux/31/a>
      1a href="+code " class="srefPI_CPHA   s)ass="line" namle=L30">. 301/="sref">dde5MODNAME15a>
#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="s namhzL478)"v3 ">linux/icode=done" clas>
bcm163xx_161/a15 {
<1509mem" c6ass=ine" namr="+codeoffsetclasreg_ts" _shiftL478"v3 ">linux/interrupt.h1/a>1#L42" ide1=L62" class6"line" namle1=L42"16ass1="lin13el.h1/a>>
#defineass="ref="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " _master_get_lindata="20( 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" namaster>   )"v3 ">linux/icode=done" clas1/a>#incl1ud6iomem" c6ass="sref">_1_iome16a> 15    15    *1a href="+code=regs" class=>
;

co1/a>   -#L7" 1a href="+codebits_per_wordclass="line" naoits_pe    15    *1a href="+code=regs" class=&="includere6ers/spi/6spi-bcm63xx.1c#L6"16f">1bcm6313591/a>#defindata="20( 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codebits_per_wordclass="line" naoits_pref8master>   )"v3 ">linux/icode=done" clas117">. 171//a>1spa  class="comment">xx.c#prograide=L60" class="line" namle=L30">. 3011/a>#incl1ud6 <
1  v4.16=L1807{
#defineif ( 1a href="+code " class="sref">co1/a>   -#L7" 1a h 1a+codemasterclass 1asref">coir="20 &"= ~ 1a ine" namle=MODEBITS3" class=e" namMcoi="20][0])    1a href="+code=done" clas1/a>#incl1ud6MODNAME16a>
co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 3011/a>#incl1ud6a href="6rivers/spi/s1pi-bc16L20"09{
#define.1a h1/a>#reffff 1a href="+code__func__31/a>
co1/a>   -#L7" 1a h 1a+codemasterclass 1asref">coir="20 &"= ~ 1a ine" namle=MODEBITS3" class=e" namMcmaster>   )"v3 ">linux/icode=done" classs="sref"1>d7spi" cla7s="sref">bcm163xx_17="liine" 110                    . .1div- 1a href="+codeEINVALclass="line" naEINVAL    "v3 ">linux/interrupt.h1/a>&>

. 301>
;
7a href="driv1ers/s1i/spi7bcm6372" class="line" namle=L30">. 3011/a>#incl1ud7iomem" c7ass="sref">_1_iome173spi8bcm638291/a>#defineass=r="+codeoffsetclasreg_ts"clk_cfqL478 = a href="+code=comple
	  " _check_transferclass="line" naomple
	  " _check_trunc__L478,  1a href="+code " class="sref_func__L478,  1a NUL"+codeEINVALclasNUL"namMcmaster>   )"v3 ">linux/icode=done" classgt;
;

<1/a>#defineass=r="+codeoffsetclasreg_ts"cf">co0coi="20][0])    1a href="+code=done" clas1/a>#incl1ud7ers/spi/7spi-bcm63xx.1c#L6"17f">1bcm6313591/a>#defindata="20( 1a "lin="+codelineerrclass="line" nalineerr="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 301ss="sref"1>d7  class=7"comment"> *1 This17s="1line"136                 unc__L478,  1a href="+code " class="sref">co1/a>   -#L7" 1a h 1a+codemasterclass 1asref">coir="20 &"= ~ 1a ine" namle=MODEBITS3" class=e" namMcmaster>   )"v3 ">linux/icode=done" classhref="drivvers/spi/spi-bcm63xx.c#L1 v4.17  11a hre137         1/a>#define. .1divass=r="+codeoffsetclasreg_ts" _shiftL478"v3 ">linux/interrupt.h1/a>1>

. 3011/a>#incl1ud7a href="7rivers/spi/s1pi-bc17xx.1c#L4013amle=v3 ">linux/interrupt.h1/a>&1/a>#incl1ud8spi" cla8s="sref">bcm163xx_181/a15 {
<15091/a>#defineass="line" namllinedbqclass="sref">colinedbq="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 3011/a>#incl1ud82" class8"line" namle1=L42"1842115a>  15191/a>#define.1a h1/a 1a href="+code__func__31/a>
co1/a>   -#L7" 1a h 1a+codemasterclass 1asref">coir=20 &"= ~ 1a ine" namle=MODEBITS3" class=e" namM_func__L478,  1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codebits_per_wordclass="line" naoits_p,o0c _shiftL478"v3 ">linux/interrupt.h1/a>1ss="sref"1>d8ne1/a>;
8a href="driv1ers/s18/spi7bcm6372" class="line" namle=L30">. 301>
_1_iome183spi8bcm638291/a>#define. .1div0"v3 ">linux/interrupt.h1/a>&>
;
. 3011/a>#incl1ud8ers/spi/8spi-bcm63xx.1c#L6"18mle=05{
>
 *1 This18u should have received a coa>   ll151/aTX FIFOment">as mf="d>irma .1.1ossible ent"ode=r: mle=L22">. 221/a>#include <#incl1ud8/spi-bcm863xx.c#L8" i1de=L818a>#includ6io3">.tr4.1ix5" class="line" namlmf ll_tx_s="l_freq_tablc3" class=e" namom ll_tx_s="l1p_transfer="20(truct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="se    15    *1a href="+code=regs" class=ss="sref"1>d8pi-bcm63xxx.c#L9" ide1=L9" 18/spi5i="20][0])    1a href="+code=done" classs="sref"1>d8a href="8rivers/spi/s1pi-bc18xx.14#L4014991/a>#definea hr"line" namlu83" class=e" namu8="201ass=driv47fifo_siz clasne" nafifo_siz L478"v3 ">linux/interrupt.h1/a>1>
bcm163xx_1pi1/a9 {
  1519uld have received a coa>   ll151/aTx FIFOment">as mf="d>irma .1.1ossible ent"ode=r: mle=L22">. 221/a>#include <d9ne1/a>;
9a href="driv1ers/s19/spi8bcm638291/a>#defineass=driv47fifo_siz clasne" naficlk_cfqL478 = a hreref="+codebq" class="sref">bqL478-#L7" 1a hrf="driv47remainL41_byteq" class="sref">irmainL4ef">coi="20 1/a>  1a eref="+codebq" class="sref">bqL478-#L7" 1a 4ef="driv47fifo_siz class="line" nafie" nat    ) ?eass=eref="+codebq" class="sref">bqL478-#L7" 1a hrf="driv47remainL41_byteq" class="sref">irmainL4e:: mle=L22">. 221/a>#include <_1_iome19aml1e=L2412391/a>#defi="20 1/a>  1a eref="+codebq" class="sref">bqL478-#L7" 1a 4ef="driv47fifo_siz class="line" nafifo_siz L478"v3 ">linux/interrupt.h1/a>1>
;
#defineass=memcpy_tof="+coderx_ioclasmemcpy_tof= 1/a_, 51 b="20( 1a href="+codebq" class="sref">bqL478-#L7" 1a href="+codetx_ioclass="line" amide=cL478,  1a href="+codebq" class="sref">bqL478-#L7" 1a href="+codetx_ptrclass="line" n_func__L478,  1a hriv47fifo_siz clasne" nafic _shiftL478"v3 ">linux/interrupt.h1/a>11/a>#incl1ud9ers/spi/9spi-bcm63xx.1c#L6"19=L416">. 161/a>
bqL478-#L7" 1a hrf="driv47remainL41_byteq" class="sref">irmainL4e-ef">bqL478 = a hreriv47fifo_siz clasne" nafifo_siz L478"v3 ">linux/interrupt.h1/a>1&/a>#incl1ud9  class=9"comment"> *1 This1progr9           }ass="line" namle=L30">. 3011/a>#incl1ud9/spi-bcm963xx.c#L8" i1de=L819   1a href="+code=KBUILD_MODNAME" class="s11/a>#incl1ud9pi-bcm639xx.c#L9" ide1=L9" 1lass=9clud6ioide=cL478, unsignedi"dri 1a s="sref"txrx_bufref="+codebq" cla="sref"txrx_bufr1p_transfer="20(truct.1a href="+code=c " _linux/31/a>
      1a href="+code " class="srefnamle=L41">,ass="line" namle=L30">. 3011/a>#incl1ud9i/spi-bcmm63xx.c#L10"1 ide=19L20"09{
#define.1a hhhhhhhhhhhhhhhhhffffffffffftruct.1a href="+code=c " _transferclass="line" na " _transfer>      1a href="+codetclass="line" nat    )ass="line" namle=L30">. 302gt;
1spa  cl0ass="comment2> * T2042115a>  15191/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " _master_get_lindata="20( 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" namaster>   )"v3 ">linux/icode=done" cla2/a>#inclu210/spi/spi-0bcm63xx.c#L12" ide20/spi8bcm638291/a>#defineass=4ef="driv47ulass="commee" namuave re1ass=s="line+codemasterclass="linenafifo_siz L478"v3 ">linux/interrupt.h1/a>2/a>#inclu210spi/spi-b0cm63xx.c#L142 ide=203spi8bcm638291/a>#defineass=4ef="driv47ulass="commee" namuave re1ass=cmits_per_wordclascminafifo_siz L478"v3 ">linux/interrupt.h1/a>2/bcm63xx.c10pi/spi-bc0m63xx.c#L15"2ide=L20pi-b8m63xx84" class="line" namle=L30">. 302gt;
. 161/a201/a>#ref">__iomem1/a>  is  " 151/aCMD_DONE h" class= ent"ode=r: mle=L22">. 221/a>#include <1spa  cl0ass="comment2> * Y2u sho06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( 1a href="+codebq" class="srene{m b391nnn,  1a hrefINTcodeSPI_CLK_MASK3" classINTcodeSe" namaster>   )"v3 ">linux/icode=done" cla2/a href="d10rs/spi/sp0i-bcm63xx.c#218" i20   1a href="+code=KBUILD_MODNAME" class="s2s="sref">210#L19" ide0=L19" class=2line"20ass="spi-b88="201/a>#ref"c#L"line" namllinedbqclass="sref">colinedbq="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codelin31/a>
,ass="line" namle=L30">. 302/a>#inclu210s/spi/spi0-bcm63xx.c#L20" id2=L20"09{
#defnsfer>      1a href="+codetclass="liref">bqL478-#L7" 1a hrebuf+codetx_ptrclass="bufe" n_func__L478,  1a href="+codetclass="liref">bqL478-#L7" 1a rrebuf+codetx_ptrclasr="bufe" n_func__L478,  1a href="+codetclass="liref">bqL478-#L7" 1a lenref="+codetclaslene" namaster>   )"v3 ">linux/icode=done" cla2s="sref">21-bcm63xx.cc#L11" ide=L12" cla21i1/a9 {
1spa  claass="comment2> * T2142115a>  1519uld have received a coa> Tne" mitclocis h"hibis, uent"ode=r: mle=L22">. 221/a>#include <#inclu21s/spi/spi--bcm63xx.c#L12" ide21/spi8bcm638291/a>#defineass="ref="+codebq" class="sref">bqL478-#L7" 1a href="+codetx_ptrclass="line" nref">bqL478 = a hrhref="+codetclass="liref">bqL478-#L7" 1a hrebuf+codetx_ptrclass="bufe" nmaster>   )"v3 ">linux/icode=done" cla2sa>#inclu21/spi/spi-bbcm63xx.c#L142 ide=213spi8bcm638291/a>#defineass=eref="+codebq" class="sref">bqL478-#L7" 1a href="+coderx_ptrclass="line" nref">bqL478 = a hrhref="+codetclass="liref">bqL478-#L7" 1a rrebuf+codetx_ptrclasr="bufe" nmaster>   )"v3 ">linux/icode=done" cla2sbcm63xx.c1spi/spi-bccm63xx.c#L15"2ide=L21pi-b8m63xx84" class="line" namle=L30">. 302/a>#inclu21#L16" ide==L16" class="2ine" 2amle==L16"1159a>
<1/a>#defineass=href="+codetclass="liref">bqL478-#L7" 1a hrebuf+codetx_ptrclass="bufe" ncoi="20][0])    1a href="+code=done" cla2s="sref">21->1spa  cllass="comment2> * Y2u shoould 116         a>
bqL478-#L7" 1a hrf="driv47remainL41_byteq" class="sref">irmainL4eef">bqL478 = a hrhref="+codetclass="liref">bqL478-#L7" 1a lenref="+codetclaslene" nmaster>   )"v3 ">linux/icode=done" cla2sa href="d1ars/spi/sppi-bcm63xx.c#218" i21  11a hre137         r4.1ix5" class="line" namlmf ll_tx_s="l_freq_tablc3" class=e" namom ll_tx_s="l1p_tr  1/a>      1a href="+codebq" class="semaster>   )"v3 ">linux/icode=done" cla2s="sref">21s#L19" idee=L19" class=2line"21spi1/spi-138            }ass="line" namle=L30">. 302/a>#inclu21rs/spi/spii-bcm63xx.c#L20" id21xx.1c#L4013amle=v3 ">linux/interrupt.h1/a>2gt;

. 431/a"srt_"line" nam">colinedbq="20(&" 1a eref="+codebq" class="sref">bqL478-#L7" 1a don=c " _linux/31/adon=s="semaster>   )"v3 ">linux/icode=done" cla2/a>#inclu21/linux/ke1rnel.h" class2"fref2>lin1ux/ke1nel.h1/a>>
13291/a>#define">__iomem1/a>   ll h"151/aMessagestintroloitsth this irqister mle=L22">. 221/a>#include <#inclu21c#L24" id1e=L24" class=2line"223spi8bcm638291/a>#defineass=s="line+codemasterclass="linenafi" namhzL478 = ( 1a href="+codetclass="liref">bqL478-#L7" 1a lenref="+codetclaslene" nef">cf">coi="20 1/a>  1a hrefBYTE_CNTcSHIFTPI_CLK_MASK3" classBYTE_CNTcSHIFTs="semaster>   )"v3 ">linux/icode=done" cla2/bcm63xx.c1L25" ide=1L25" class="l2ne" n22pi-b8m63xx84" class="line" namle=L30">. 302s="sref">216" ide=L216" class="lin2" nam22mle==L16"1159a>
<1/a>#defineass=href="+codetclass="liref">bqL478-#L7" 1a rrebuf+codetx_ptrclasr="bufe" n">coir>coir=20 &"= ~ 1a href="+codetclass="liref">bqL478-#L7" 1a hrebuf+codetx_ptrclass="bufe" ncm63xx84" class="line" namle=L30">. 302s="sref">213xx.c#L271" ide=L27" cl2ss="l22 shoould 116         a>
cf">coi="20 1/a>  1a eref="+codebq" class="sref">bqL478-#L7" 1a s="ltype_shifhref="+codetclass="ltype_shifhs="semaster>   )"v3 ">linux/icode=done" cla2/a href="d1ivers/spi1/spi-bcm63xx.2#L28"2ide=1L28" 1279else9a>
<1/a>#defineass=href="+codetclass="liref">bqL478-#L7" 1a rrebuf+codetx_ptrclasr="bufe" ncm63xx84" class="line" namle=L30">. 302s="sref">21i#L19" ideide=L29" clas2="lin22/spi6spi-b68         1/a>#defineass=s="line+codemasterclass="linenafi"| namhzL478 = ( 1a lassHD_RPI_CLK_MASK3" classHD_Re" nef">cf">coi="20 1/a>  1a eref="+codebq" class="sref">bqL478-#L7" 1a s="ltype_shifhref="+codetclass="ltype_shifhs="semaster>   )"v3 ">linux/icode=done" cla2/a>#inclu21is/spi/spi.c#L30" ide=L20" cl229e=1L28" 1279else9a>
<1/a>#defineass=href="+codetclass="liref">bqL478-#L7" 1a hrebuf+codetx_ptrclass="bufe" ncm63xx84" class="line" namle=L30">. 302gt;
#defineass=s="line+codemasterclass="linenafi"| namhzL478 = ( 1a lassHD_WPI_CLK_MASK3" classHD_We" nef">cf">coi="20 1/a>  1a eref="+codebq" class="sref">bqL478-#L7" 1a s="ltype_shifhref="+codetclass="ltype_shifhs="semaster>   )"v3 ">linux/icode=done" cla2gt;
1329switcha>#defineif ( 1a href="+codebq" class="sref">bqL478-#L7" 1a s="line_width . 302s="sref">21i#L19" ideio"sref">2debq" class="sregide8yteq" class="sref">irmainL4e:: mle=L222   1a hre2="+code=done" class="sre2">d1s2i-bcm631xx.c#L35" ide=comment2> * Y2u sho06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( lass=23="liine" 110         1/a>#defineass=s="lia href="+codebq" clasMSG_CTnamMODEBITS91/a>( 1aMSG_CTnef="+codetclass="ltype_shifhs="semaster>   )"ass="line="+code=done" class="sre2">d1s2 ide=L21dev_spi.h" cla="1line"136                            brea2"v3 ">lin2x/interrupt.h1/a>>
irmainL4e:: mle=L222 v3 ">linux/interrupt.h1/a>>
PFX1/a>    comment2> * Y2u sho06{
compl 1/a_, 51 b="20( lass=23="liine" 110         1/a>#defineass=s="lia href="+codebq" clasMSG_CTnamMODEBITS91/a>( 1aMSG_CTnef="+codetclass="ltype_shifhs="semaster>   )"ass="line" namle=L30">. 301/a>#in2lud1_2319" ideide=L29" clas2="1line"136                            brea2"v3 ">linu" namle=L30">. 301/a>#in2lud1_23spi/spi.c#L30 class=2line"21spi1/spi-138            =v3 ">lin2x/interrupt.h1/a>>
. 221/a>2include < * T2142115a>  1Issu1/a>#r"+code=c51/aMessagestintroloitsth this irqister mle=L22")ass="lin2" namle=L30">. 301/a>#in2lud1o24pi/spi--bcm63xx.c#L12" ide21ass="commee" namuave re1a"+codeclk_cfqclass="sreMD_START_IMMEDIATEamMODEBITS91/a>( 1aeMD_START_IMMEDIATEL7" 1a lenref="+codetclaslene" nmaster>   )"v3 ">lin2x/interrupt.h1/a>>
cf">coi="20 1/a>  1a hrefBYTE_eMD_PREPENDef">cf">coi="20ef="+codetclass="ltype_shifhs="semaster>   )*1a href=2+code=regs" class="sref"2reg1s24/a>;
colinedbq="20(&" 1a href="+code " class="sref">co1/a>   -#L7" 1a href="+codechip lenref="+codetclaslene" neeMD_DEVICE_IDoi="20 1/a>  1a hrefBYTE_eMD_DEVICE_IDoi="20ef="+codetclass="ltype_shifhs="semaster>   )*ass="lineinclude <compl 1/a_, 51 b="20( lass=23="liine"ass="commee" namuave re1a1a href="+codeirqclassMD 1/a>  1a hrefBYTE_eMDef="+codetclass="ltype_shifhs="semaster>   )*v3 ">lin2x/icode=done" class="sre2">d1f241spa  class="comment">xx.c#prograide=L60" 2"v3 ">lin2x/icode=done" class="sre2">d1f2ers/spi1href12"omment2> * T2142115a>  1Ena201/a>#ref">__iomem1/a>  is  " 151/aCMD_DONE h" class= ent"ode=r: mle=L22""v3 ">lin2x/icode=done" class="sre2">d1f24pi-bcm63xxx.c#L9" ide=L9" class=06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( lass=23="liine" hrefINR_ef">__io{m b391nnn,  1a hrefINR_ef">__io="20( lass=23="liine" hrefINsrene{m b391nnn,  1a hrefINTcodeSPI_CLK_MASK3" classINTcodeSe" namaster>   )lass="lin2" namle=L30">. 301/a>#in2lud1f24spi/spii-bcm63xx.c#L20" id21xx.1c#L4013amle"v3 ">lin2x/icode=done" class="sre2">d152pi" cla15s="sr1 v4.17  11a hre137   "linenafi" namhzL478 = ( 1a href="+codetclass="liref">bqL478-#L7" 1-2> * Y2u shoould 116         a>
bqL478-#L7" 1a hrf="driv47remainL41_LK_MASK3" classINTcodeSe" namaster>   ),ass="lin2" namle=L30">. 301/a>#in2lud152" clas class=2line"21spi1/spi-138            "v3 ">lin2x/icode=done" class="sre2">d1525e1/a>;
8a href="driv1ers/s18/spi7bcm6372" 2}ass="lin2" namle=L30">. 301/a>#in2lud152omem"  1l. 301/a>#includ6iomemprepareL478 = a href="+code=comple
	  " _chprepareL478 = a  " _,#define.1a hhhhhhhhhhhhhhhss="sref">co1/a>   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a href;
8a href="driv1ers/s18/spi7bcm6372" 2}1a href=2+code=regs" class="sref"2reg1525" ide=1L25" class="line" namle=1L25">1 251/2>. 221/a>2include <. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" namaster>   ))ass="lin2" namle=L30">. 301/a>#in2lud152"driver15/spi/spi-bcm63xx.c#L30"15ide=11/a>2includ5 &2t;
  v4.1212<1525rs/spi1href12"
	  >
  v4.1.1pm_runtimeer_gesyncef">co1/a>   -#pm_runtimeer_gesync=L43">. 431/a"srt_"line" nam">colinedbq="20(&" 1a eref="+codebq" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" f="+codemasterclass="line" namaster>   ))v3 ">lin2" namle=L30">. 301/="sre2">dde25DNAME114a>
_1_iome183spi8bcm638291/a>#define. .1div2"v3 ">lin2x/icode=done" clas>
<2 h1re26
lin2x/interrupt.h1/a>1#L42" 2de1=L22" class6"line" namle1=L42"16ass1="lin13el.21/a>>
2a href="drivers/sp>
<2 h1re262em"  1l. 301/a>#includ6iomemunprepareL478 = a href="+code=comple
	  " _chunprepareL478 = a  " _,#define.1a hhhhhhhhhhhhhhhss="sref">co1/a>   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a href;
8a href="driv1ers/s18/spi7bcm6372" 2"v3 ">lin2x/icode=done" clas1/a>#i2cl1ud26i/spi-b0cm63xx.c#L14" ide=L14" c03{
;
. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemasterclass="line" c03{
2+code=regs" class=&="inc2udere26rs/spi/8spi-bcm63xx.1c#L6"18mle=05{
lin2x/icode=done" clas117">.2171//26spa  cl0ass="comment2> * Y2upm_runtimeepu"linenafi" namhzpm_runtimeepu"=L43">. 431/a"srt_"line" nam">colinedbq="20(&" 1a eref="+codebq" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" f="+codemasterclass="line" namaster>   )lass="lin2" namle=L30">. 3011/a>#i2cl1ud26/spi/sp0i-bcm63xx.c#218" i20   1a href="+co   1a hre2="+code=done" clas1/a>#i2cl1ud2MODNAME16a>
_1_iome183spi8bcm638291/a>#define. .1div2"  1a hre2" namle=L30">. 3011/a>#i2cl1ud2a hrefr1ef="drivers/spi/spi-bcm613xx.c1L22" 2"v3 ">lin2x/icode=done" classs="sr2f"1>d27m63xx.cc#L11" ide=L12" cla21i1/a9 {
lin2x/interrupt.h1/a>&>
<2 h1re27spa  cl0ass="comment"> * This pr01{
bqL478r01{
co1/a>   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hrep, lenL4"mmeslomme%d\n" namle=L41">}ass="lin2" namle=L30">. 301>
<2 h1re27pi/spi-0bcm63xx.c#L13" ide=L13" 02{
#define.1a h1/a>#refffffffme">__ief">co1/a>   -#hhhhse">__iL7" 1le
	  " class="ssef">co1/a>   -#L href;
8a href="driv1ers/s18/spi7bcm6372" 2lass="lin2" namle=L30">. 3011/a>#i2cl1ud27i/spi-b0cm63xx.c#L14" ide=L14" c03{
lin2x/icode=done" classgt;
<2 h1ud27/a>;
. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemaster14" ide=L14" c03{
2="+code=done" clas1/a>#i2cl1ud27ide=L216" class="line" namle=L216">1   478 = a = a href="+code=c ""+code=c " _transferclass="line" na " _transfer>  ="+codemaster14" ide=L14" c03{
lin2" namle=L30">. 301ss="sr2f"1>d2  class=7"commbq" cla="sref"txrx_bufr1p_transfer="20(truct.1a href="+code=c " _linux/31/a>
        1a href="+codebqsef">co1/a>   -#L hre ?eass="line" namltclahref=" " _linux/>      ="+codemaster14" ide=L14" c03{
 * This pcl0auef">comple
	  1/cl0aue      11_iome183spi8bcm638291/a>#define. .1div2"v3 ">lin2x/interrupt.h1/a>1>
<2 h1re2MODNAME17a>
#define. .1div2"  1a hre2" namle=L30">. 3011/a>#i2cl1ud2a href="7rivers/spi/s1pi-bc17xx.1c#L4013aml2=v3 ">lin2x/interrupt.h1/a>&1/a>#i2cl1ud2spi" cla8s="sref">bcm163xx_18list_for_each_entrys="liref">bqL478ist_for_each_entrytaclass="line" na " ne" na " _transfer>  , >. 431/a"srt_"line" sef">co1/a>   -#L hre ?eass="line" namltc"+code=cef">comple
	  1/"+code=ce="20( lass=23="liine"478 = a _8istf">comple
	  1/"+code=c_8ist . 3011/a>#i2cl1ud22" class8"line" namle1#L9" ide1=L9" 1lass=9clud6iolass="liref">bqL478-#L7" 1yteq" class="sref">irmainL4eef">bqL478 = a hrhref="+codetclass="liref">bqL478-#L7" 1a lenref="+codetclaslene" nmaster>   )"v3 ">lin2x/interrupt.h1/a>1ss="sr2f"1>d281/a>;
1#defirx_tai L7" 1a lenref="+codetclaslene" nmaster>   )"ass="lin2" namle=L30">. 301>
<2 h1re28omem" c6ass="sref">_1_iome16a> 15    15   2"v3 ">lin2x/interrupt.h1/a>&>
<2 h1re28-bcm631xx.c#L35" ide=comment2> * Y2ucl0auef">comple
	  1/cl0aue      1ment"> * This pr01{
   1a lenref="+codetclaslene" nmaster>   )". 221/a>2" namle=L30">. 3011/a>#i2cl1ud28ide=L21dev_spi.h" cla"
	  >
1  v4.16=L180l0auef">comple
	  1/cl0aue     s=r="+ca lenref="+codetclaslene" nmaster>   )"v3 ">lin2>
 *1 This17sgotoa href="+code " exine" na " _transfexinL7" 1a lenref="+codetclaslene" nmaster>   )"ass="lin2include <#i2cl1ud28/spi/sp0i-bcm63xx.c#218" i20   1a href="+co*1a href=2+code=regs" class=ss="sr2f"1>d2819" ideide=L29" clas2=drivers/spi/spi-b1cm63x1.m1/a>  e adaph"15" ida newr"+code=c51/aMessagestintroloitsth this irqister mle=L22"   1a hre2="+code=done" classs="sr2f"1>d28spi/spi0-bcm63xx.c#L20" id2=L20"09{
ple
	  " _chtr4.1ix5" class="line" namlmplle
	  " _s .1p_transferclass="line" naomple
	  " _check_trunc__L478,  1a href="+code " ne" na " _transfer>   1a lenref="+codetclaslene" nmaster>   )"v3 ">lin2x/interrupt.h1/a>1>
<2 h1re2spi" cla9s="sref">bcm163xx_1pi1/a9 {

1  v4.16=L18lass="liref">bqL478-#L7" 1spi0-bcm63xx.c#L20" i-23421/a1="+comle=L>. 221/a>2include <d29pi/spi-0bcm63xx.c#L13" ide=L1=drivers/spi/spi-b1cm63x1se91/a>#dinda51/aMessagestintroloitsth this irqister mle=L22">. 221/a>2include <_13xx.c#L20" id2=L20"09{
lass="liref">bqL478-#L7" 1- 1ment"> * This pr01{
   1a lenref="+codetclaslene" nmaster>   )"v3 ">lin2x/interrupt.h1/a>1>
<2 h1ud29" ide=1L25" class="l2ne" n22pi-b8m63xx84" c"v3 ">lin2x/interrupt.h1/a>11/a>#i2cl1ud29ide=L21dev_spi.h" cla3xx.c#L20" id2=L20"09{
timeou"linenafi" namhztimeou"      10" id2=L20"09{
wait_for_ine" namle_timeou"linenafi" namhzwait_for_ine" namle_timeou"=L43">. 431/a"srt_"line" nam">colinedbq="20(&" 1a eref="+codebq" class="sref">bqL478-#L7" 1a1a href="+code " cfqL478 = a href=K_0_39 1a lenref="+codetclaslene" nmaster>   )"v3 ">lin2x/interrupt.h1/a>1&/a>#i2cl1ud29 class=7"comment"> *1 This17s"driver1s/spi1spi-b6timeou"linenafi" namhztimeou"    1spi0-bcm63xx.c#L20" i-23421/a1="+comle=L>ass="lin2" namle=L30">. 3011/a>#i2cl1ud29rs/spi1f">PFX1/a>    i.h" cla3xx.c#L20" id2=L20"09{
cl0auef">comple
	  1/cl0aue      1="liine" 110     TIMEDOU0 1/a>  1a hrefB TIMEDOU0L7" 1a lenref="+codetclaslene" nmaster>   )de=KBUILD2MODNAME" class="s11/a>#i2cl1ud2919" ideide=L29" clas22222222222222222gotoa href="+code " exine" na " _transfexinL7" 1a lenref="+codetclaslene" nmaster>   ),ass="lin2" namle=L30">. 3011/a>#i2cl1ud2i/spi-bcmm63xx.c#L10"1 ide=19Lr1ef="drivers/spi/spi-bcm613xx.c1L22" 3)ass="lin3" namle=L30">. 302gt;
bcm163xx_1pi1/a9 {
lin3x/icode=done" cla2/a>#in3lu21030pi/spi-0bcm63xx.c#L13" ide=L1= hr"line" namlrx_tai       1/a>#defirx_tai L7" 1a href="+codeirqclass="sref">coirq="20 = a href="+code=comp  " _readbclass="sref">compl 1/a_readb="20( 1a href="+codebq" cRX_TAInamMODEBITS91/a>( 1aRX_TAIn0_39 1a lenref="+codetclaslene" nmaster>   3"v3 ">lin3x/interrupt.h1/a>2/a>#in3lu21030omem" c6ass="sref">_1_iome16a> 15    15   3"v3 ">lin3x/interrupt.h1/a>2/bcm633x.c1030-bcm631xx.c#L35" ide=3xx.c#L20drivers/spi/spi-b1cm63x1R=co ou" allda>#dinda51/aMessagestintroloitsth this irqister mle=L223lass="lin3" namle=L30">. 302gt;
#defirx_tai L7" ca lenref="+codetclaslene" nmaster>   3>. 221/a>3include < *1 This17s" ide=L1= hr"line" namls=memcpfromin491/a>#defineass=memcpfrominp  " _readbclass="sref">compl 1/a_readb="20eass=eref="+codebq" class="sref">bqL478-#L7" 1a hreref="+codetx_ioclass="line" amide=cL478,  1a href="+codebq" rlass="sref">bqL478-rL7" 1a href="+codetx_iocl6x_tai       1/a>#defirx_tai L7" c1a lenref="+codetclaslene" nmaster>   3"7 221/a>3i namle=L30">. 3011/a>#i3="d1030rs/spi1f">PFX1/a>             11a hre137                   3de=KBUILD3MODNAME" class="s2s="sre3">21030DNAME114a>
. 302/a>#in3lu2103/spi/spi0-bcm63xx.c#L20" id2=L20"09{
sef">co1/a>   -#L hre ?eass="line" namltcactual_8-#g">bqL478-#L7" 1a actual_8-#g">pi/sp+yteq" class="sref">irmainL4eef">bqL478 = a hrhref="+codetclass="liref">bqL478-#L7" 1a lenref="+codetclaslene" nmaster>   3"v3 ">lin3x/icode=done" cla2s="sre3">21-31pi" cla8s="sr         11a hre137                   3="drivers3spi/spi-bcm63xx.c2gt;
irmainL4e:: mle=L223>. 221/a>3include <#in3lu21s3spi/spi--bcm63xx.c#L12" ide21sef">co1/a>   -#L hre ?eass="line" namltcll0auef">comple
	  1/cl0aue      1ment"> * This pll0auef">comple
	  1/cl0aue    1a lenref="+codetclaslene" nmaster>   3"v3 ">lin3x/icode=done" cla2sa>#in3lu21/3pi/spi-bbcm63xx.c#L142 ide=21ss="l_nalize_currb1cfme">__ief">co1/a>   -#hhhhl_nalize_currb1cfme">__itaclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemaster14" ide=L14" c03{
lin3x/icode=done" cla2sbcm633x.c1s3i/spi-bccm63xx.c#L15"2ide=L21pi-b8m63xx84" 3lass="lin3" namle=L30">. 302/a>#in3lu21#316" ide==L16" sref">_1_iome183spi8bcm638291/a>#define. .1div3   1a hre3="+code=done" cla2s="sre3">21-31 class=9"comment"> *1 This1progr9          3"v3 ">lin3x/icode=done" cla2sa hre3="d1a31/spi/sp0i-bcm63xx.c#218" i20   1a href="+c3"v3 ">lin3x/icode=done" cla2s="sre3">21s3L19" icomment2> * T2142115a>  15  his lass  ,m63xxs single L7" 1a   ,m6only. Hencodeessagestintroloitsth this irqister mle=L223}ass="lin3" namle=L30">. 302/a>#in3lu21r3/spi/scomment2> * T2142115a> *ref">__iomesda>#donlymem1/a>  iswe ca e abou"  essagestintroloitsth this irqister mle=L223=v3 ">lin3x/interrupt.h1/a>2gt;

 * T2142115a> */aMessagestintroloitsth this irqister mle=L223"v3 ">lin3x/icode=done" cla2/a>#in3lu21/32spa  cl0ass=ss="line" na " irqsref">_ne" na " _transfirqsref">_nefinea hr"line" namllle
	  " _s em1/a>  is="line" namlmplle
	  " _s em1/a>  itacla=L9" 1lass=9clud6ioirqe" na " _transfirq1a hre.c#L8" _linux/31/a>
   31/a>>
3a href="drivers/s2i/spi-3cm2133x.c#L2pi0-bcm63xx.c#L20" i-23421/a1="+comle=3>. 221/a>3include <#in3lu21c3L24" id1e=L24"#define.1a hhhhhhhhhhhhhhhss="sref">co1/a>   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hrene+c#define.1a hhhhhhhhhhhhhhhss="sref">co1/a>   -#hhhhss="srL7" 1l) _linux/31/a>
#define. .1div3"v3 ">lin3x/icode=done" cla2/bcm633x.c1L32/a>;
. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3"ass="lin3" namle=L30">. 302s="sre3">21632ide=L216" class="line" namlexx.14#L4014991/a>#definea hr"line" naml=L9ref">co1/a>   -#=L9rL7" _iome183spi8bcm638291/a>#define. .1div3"  1a hre3" namle=L30">. 302s="sre3">21332driver15/spi/spi-bcm63xx.c#L30"15ide=11/a>3"v3 ">lin3x/icode=done" cla2/a hre3="d1i32rs/spi1href12"omment2> * T2142115a>  1R=co em1/a  is andnt2earda>#m i421diatelym*/aMessagestintroloitsth this irqister mle=L223"v3 ">lin3" namle=L30">. 302s="sre3">21i32pi-bcm63xxx.c#L9" ide=L9" cl=L9ref">co1/a>   -#=L9rL7" 1a href="+codeirqclass="sref">coirq="20 = a href="+code=comp  " _readbclass="sref">compl 1/a_readb="20( 1a href="+codebq" cfINTSTATU>coir=20 &"= q" cfINTSTATU> href="+codemastercm638291/a>#define. .1div3"ass="lin3x/icode=done" cla2/a>#in3lu21i32 href="8rivers/spi/s1pi-bc18ass=06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( lass=23="liine" hrefINR_eLEAR_Aass="sref_func__L hrefINR_eLEAR_Aas="20( 1a href="+codebq" cfINTSTATU>coir=20 &"= q" cfINTSTATU> href="+codemastercm638291/a>#define. .1div3lass="lin3" namle=L30">. 302gt;
bcm163xx_18ass=06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20( 1a href="+codebq" class="srene{m b391nnn,  1a hrefINTcodeSPI_CLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3x/icode=done" cla2gt;
 * T2142115a>  1Ar"+code=c5ine" na coa> Tne" mitclocis h"hibis, uent"ode=r: mle=L22330">. 3023="sref">21i#L19" ideio"s3ef">23ebq" class="sr"driver1s/spi17pi-b=L9ref">co1/a>   -#=L9rL7" 1detx_ptrclasr="bufe"  hrefINR_ef">__io{m b391nnn,  1a hrefINR_ef">__io="20ca lenref="+codetclaslene" nmaster>   3   1a hre3="+code=done" class="sre3">d1s3i-bcm631xx.c#L35" ide=comment2> * Y2uine" na {m b391nnn,  1aine" na =L43">. 431/a"srt_"line" nam">colinedbq="20(&" 1a eref="+codebq" class="sref">bqL478-#L7" 1aCLK_MASK3" classINTcodeSe" namaster>   3"ass="lin3="+code=done" class="sre3">d1s33rs/spi/8spi-bcm63xx.1c#L6"18mle=05{
lin3x/interrupt.h1/a>>
  1a hrefBIRQ_HANDLEDL7" _iome183spi8bcm638291/a>#define. .1div3 v3 ">lin3x/interrupt.h1/a>>
 *1 This1progr9          3"ass="lin3" namle=L30">. 301/a>#in3lud1_33DNAME114a>
lin3" namle=L30">. 301/a>#in3lud1_33 href="7rivers/spi/s1pi-bc17xx.1c#L4013aml3=v3 ">lin3x/interrupt.h1/a>>
 * This p_ef="+nine" na " _transf_ef="+ninefinea hr"line" namllle
	  " _s probss="sref">bqL478r01{
platform_transfer="20(truct.1aplatform_transf=comple
	  " class="spss="sref">co1/a>  p -#L7" ca lenref="+codetclaslene" nmaster>   3>. 221/a>3include <. 301/a>#in3lud1o34pi/spi--bcm63ss="line" namle=L216">resoursfer="20(truct.1aresoursf=comple
	  " class="s="sref">bqL478-#LL7" _iome183spi8bcm638291/a>#define. .1div3"v3 ">lin3x/interrupt.h1/a>>
co1/a>   -#L7" 1a >. 431/a"srt_"line" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" _iome183spi8bcm638291/a>#define. .1div3"  1a hre3+code=regs" class="sref"3reg1s34/a>;
. 12591/a>#_p478 = a href="+code. 12591/a>#_p478 =comple
	  " class="sps78 = a href="+codep478 =compa href="+codeirqcpss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" .e" namle=L216">platform_t78 = a href="+codeplatform_t78 L7" _iome183spi8bcm638291/a>#define. .1div3"ass="lin3include <#define. .1div3"v3 ">lin3x/icode=done" class="sre3">d1f34 class=7"commbq" cla="sref"txrx_bufr1p_ss="sref">co1/a>   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hre_iome183spi8bcm638291/a>#define. .1div3"v3 ">lin3x/icode=done" class="sre3">d1f3ers/spi1href12bq" cla="sref"txrx_bufclk{m b391nnn,  1ailkL7" 1le
	  " class="sclk{m b391nnn,  1ailkL7" _iome183spi8bcm638291/a>#define. .1div3"ass="lin3x/icode=done" class="sre3">d1f34pi-bcm63xxx.css="line" namle=L216">. 12591/a>#definetruct.1a href="+code=comple
	  " class="sref">comple
	  1/a>    _iome183spi8bcm638291/a>#define. .1div3"v3 ">lin3" namle=L30">. 301/a>#in3lud1f349de=L216" cla=L9" 1lass=9clud6io      1/a>#define. .1divass=r="+codeoffsetclasreg_ts" _shiftL473"v3 ">lin3x/icode=done" class="sre3">d1535pi" cla9s="sref">bcm163xx_1pi1/a9 {
. 301/a>#in3lud1535spa  claass="c
	  " class="s="sref">bqL478-#LL7" pa href="+codeirqcplatform_r_geresoursfer="20(truct.1aplatform_r_geresoursf " _, 51 bclass="srepss="sref">co1/a>  p -#L7" a href="+codebq" IORESOURCE_MEM 1/a>  1a hrefBIORESOURCE_MEM="20( 1CLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3x/icode=done" class="sre3">d1535pi/spi--bcm63"driver1s/spi1spi-b6="sref">bqL478-#LL7" 1spi0-bcm63xx.c#L20" i-23421/a1="+comle=3}ass="lin3" namle=L30">. 301/a>#in3lud1535omem" c9ass="sref">_1_iome19aml1e=L2ef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"  1a hre3+code=regs" class="sref"3reg1535-bcm631xx.c#L35" ide=comment2> * Y2u      1/a>#define. .1diva  1="liine" 110     NXIO   1/a>#define. NXIOdivass=r="+codeoffsetclasreg_ts" _shiftL473"ass="lin3include <lin3" namle=L30">. 301/a>#in3lud1535 class=7"comms=9"comment"> *1 This1progr9          3includ5 &3t;
  v4.1312<1535/spi/sp0i-bcm63xx.c#218" i20   1a href="+c3)v3 ">lin3" namle=L30">. 301/="sre3">dde35pi-bcm63xxx.c#L9" ide=L9" cl=rqe" na " _transfirq1a hpa href="+codeirqcplatform_r_ge=rqe" na " _transfplatform_r_ge=rq " _, 51 bclass="srepss="sref">co1/a>  p -#L7" a 1CLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3="+code=done" clas>
<3 h1re3a href="5river"driver1s/spi17pi-b=rqe" na " _transfirq1a hps=r="+cspi0-bcm63xx.c#L20" i-23421/a1="+comle=3"v3 ">lin3x/icode=done" clas>
<3 h1re36xx.c#L131" ide=L31" 2lass=23="liine"ef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"v3 ">lin3x/interrupt.h1/a>1#L42" 3de1=L36" class8"line" namle1comment2> * Y2u      1/a>#define. .1diva  1="liine" 110     NXIO   1/a>#define. NXIOdivass=r="+codeoffsetclasreg_ts" _shiftL4731/a>>
3a href="drivers/sp>
<3 h1re36pi/spi-0bcm63xx.c#L13gotoa href="+code " ou"linenafi" namhzou"    ss=r="+codeoffsetclasreg_ts" _shiftL473"v3 ">lin3x/icode=done" clas1/a>#i3cl1ud363class=7"comms=9"comment"> *1 This1progr9          3*1a href=3+code=regs" class=>
<3 h1re36/spi-bccm63xx.c#L15"2ide=L21pi-b8m63xx84" 3*. 221/a>3+code=regs" class=&="inc3udere36ide=L216" class="line" namleclk{m b391nnn,  1ailkL7" 1a href="+codeirqcilk_r_g{m b391nnn,  1ailk_r_g " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"v3 ">lin3x/icode=done" clas117">.3171//36spa  cl0ass=""driver1s/spi17pi-bIS_ERi"| namhzL478 = IS_ERi " _, 51 bclass="sreclk{m b391nnn,  1ailkL7" )cspi0-bcm63xx.c#L20" i-23421/a1="+comle=3"nclud5 &3" namle=L30">. 3011/a>#i3cl1ud36rs/spi1f">PFX1/a>    comment2> * Y2uef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"v3 ">lin3="+code=done" clas1/a>#i3cl1ud3619" ideide=L29" clas2="lin22/spi6spi      1/a>#define. .1diva  1="lin22/spi6spiPTR_ERi"| namhzL478 = PTR_ERi " _, 51 bclass="sreclk{m b391nnn,  1ailkL7" )LK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3" namle=L30">. 3011/a>#i3cl1ud36spi/spi0-bcm63xx.c#L2gotoa href="+code " ou"linenafi" namhzou"    ss=r="+codeoffsetclasreg_ts" _shiftL473"v3 ">lin3x/icode=done" classs="sr3f"1>d37pi" cla8s="sr         11a hre137                   3"v3 ">lin3x/interrupt.h1/a>&>
<3 h1re37-bcm631xx.c#L32" ide2L32" 2lass1="lin13el.3}ass="lin3" namle=L30">. 301>
<3 h1re37pi/spi--bcm63xx.c#L12" ide21ss="sref">co1/a>   -#L7" 1a hrene+="sref"txrx_bufr1p_alloc_ss="sref">co1/a>   -#hhhhalloc_ss="sr " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a78 =of(le
	  " class="sref">comple
	  1/a>    ))LK_MASK3" classINTcodeSe" namaster>   3lass="lin3" namle=L30">. 3011/a>#i3cl1ud37bq" class="sr"driver1s/spi1spi-b6ss="sref">co1/a>   -#L7" 1a hrefspi0-bcm63xx.c#L20" i-23421/a1="+comle=3"v3 ">lin3x/icode=done" classgt;
<3 h1ud37-bcm631xx.c#L35" ide=comment2> * Y2uef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3". 221/a>3="+code=done" clas1/a>#i3cl1ud37ide=L21dev_spi.h" clacomment2> * Y2u      1/a>#define. .1diva  1="liine" 110     NOMEM 1/a>  1a hrefB NOMEM    ss=r="+codeoffsetclasreg_ts" _shiftL473"v3 ">lin3" namle=L30">. 301ss="sr3f"1>d37 class=7"comment"> *1gotoa href="+code " ou"_clk{m b391nnn,  1aou"_clk    ss=r="+codeoffsetclasreg_ts" _shiftL473"nclud5 &3x/icode=done" classhref=3drivv3rs/spi/spi-bcm         11a hre137                   3"v3 ">lin3x/interrupt.h1/a>1>
<3 h1re37DNAME114a>
. 3011/a>#i3cl1ud37 href="8rivers/spi/s1pi-bc18aef">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3=v3 ">lin3x/interrupt.h1/a>&1/a>#i3cl1ud38pi" cla9s="sref">bcm163xx_1pi1/a9 {
. 3011/a>#i3cl1ud38spa  claass="c
	  " class="splatform_s_getrL478 = a href="+codeplatform_s_getrL478  " _, 51 bclass="srepss="sref">co1/a>  p -#L7" a href="+codebq" ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3=ass="lin3x/interrupt.h1/a>1ss="sr3f"1>d38pi/spi--bcm63xx.c#L12" ide21nam">colinedbq="20(&" 1a eref="+codebq" pss="sref">co1/a>  p -#L7" pa href="+codeirqcpss="sref">co1/a>  p -#L7" ="+codemastercm638291/a>#define. .1div3=ass="lin3" namle=L30">. 301>
<3 h1re38omem" c6ass="sref">_1_iome16a> 15    15   3"v3 ">lin3x/interrupt.h1/a>&>
<3 h1re38-bcm631xx.c#L"driver1s/spi1spi-b6 -#m_requescfmem_reg91/a>#defineass="s -#m_requescfmem_reg91/=L43">. 431/a"srt_"line" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" ref="+codetx_iocl6"sref">bqL478-#LL7"  ?eass="line" namltcll0r    1/a>#define.ll0r L7" r c6ass="sref">_1_iome16a> 15    15   3". 221/a>3" namle=L30">. 3011/a>#i3cl1ud38ide=L21dev_spi.h" claaaaaaaaaaaaaaaaaaaaaaaaae" namle=L216">resoursf_78 =er="20(truct.1aresoursf_78 = " _, 51 bclass="sre="sref">bqL478-#LL7" 1ref="+codetx_ioclPFX"| namhzL478 = PFXL7" )cspi0-bcm63xx.c#L20" i-23421/a1="+comle=3"v3 ">lin3>
 *1comment2> * Y2uef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"ass="lin3include <#i3cl1ud38rs/spi1f">PFX1/a>    comment2> * Y2u      1/a>#define. .1diva  1="liine" 110     NXIO   1/a>#define. NXIOdivass=r="+codeoffsetclasreg_ts" _shiftL473*1a href=3+code=regs" class=ss="sr3f"1>d3819" ideide=L29" clas2gotoa href="+code " ou"_er="sref">bqL478-#ou"_er=divass=r="+codeoffsetclasreg_ts" _shiftL473*  1a hre3="+code=done" classs="sr3f"1>d38spi/spi.c#L30 class=2line"21spi1/spi-138           3"v3 ">lin3x/interrupt.h1/a>1>
<3 h1re3spi" cla9s="sref">bcm163xx_1pi1/a9 {
      1a href="+codebq -#m_iof="dp_nocachfer="20(truct.1atram_iof="dp_nocachf=L43">. 431/a"srt_"line" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" ref="+codetx_iocl6"sref">bqL478-#LL7"  ?eass="line" namltcll0r    1/a>#define.ll0r L7" r c6ass="sref">_1_iome16a> 15    15   3>. 221/a>3include <d39pi/spi-0bcm63xx.c#L13" ide=L1i.h" claaaaaaaaaaaaaaaaaaaaaaaaae" namle=L216">resoursf_78 =er="20(truct.1aresoursf_78 = " _, 51 bclass="sre="sref">bqL478-#LL7" 1CLK_MASK3" classINTcodeSe" namaster>   3>. 221/a>3include <
    cspi0-bcm63xx.c#L20" i-23421/a1="+comle=3"v3 ">lin3x/interrupt.h1/a>1>
<3 h1ud39-bcm631xx.c#L35" ide=comment2> * Y2uef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   3"v3 ">lin3x/interrupt.h1/a>11/a>#i3cl1ud39ide=L21dev_spi.h" clacomment2> * Y2u      1/a>#define. .1diva  1="liine" 110     NOMEM 1/a>  1a hrefB NOMEM    ss=r="+codeoffsetclasreg_ts" _shiftL473"v3 ">lin3x/interrupt.h1/a>1&/a>#i3cl1ud39 class=7"comment"> *1gotoa href="+code " ou"_er="sref">bqL478-#ou"_er=divass=r="+codeoffsetclasreg_ts" _shiftL473>ass="lin3" namle=L30">. 3011/a>#i3cl1ud39s/spi/spi-bcm         11a hre137                   3de=KBUILD3MODNAME" class="s11/a>#i3cl1ud39DNAME114a>
. 3011/a>#i3cl1ud39 href="8rivers/spi/s1pi-bc18aef">comple
	  1/a>    = 1a eref="+codebq" =rqe" na " _transfirq1a hpa href="+codeirqcirqe" na " _transfirq1a h_iome183spi8bcm638291/a>#define. .1div4)ass="lin4" namle=L30">. 302gt;
bcm163xx_18aef">comple
	  1/a>    = 1a eref="+codebq" clk{m b391nnn,  1ailkL7" 1a href="+codeirqcilk{m b391nnn,  1ailkL7" _iome183spi8bcm638291/a>#define. .1div4)1ss="lin4"pi/spi-bcm63xx.c1#L42" 4e=21040spa  claass="c
	  " class="s 116         a>
#define. .1div4)2ss="lin4"nclude <lin4x/interrupt.h1/a>2/a>#in4lu21040i/spi-bbcm63xx.c#L142 ide=21      1/a>#define. .1diva  1="lin22/spi6spi -#m_requescfirqe" na " _transf -#m_requescfirq=L43">. 431/a"srt_"line" pss="sref">co1/a>  p -#L7" 1a href="+code " class="sref">co1/a>   -#L7" ref="+codetx_ioclirqe" na " _transfirq1a hrec
	  " class="s le
	  " _s em1/a>  is="line" namlmplle
	  " _s em1/a>  itacl( 1a;
8a href="driv1ers/s18/spi7bcm6372" 4"43 ">lin4x/interrupt.h1/a>1>
<4x.c1040-bcm631xx.c#L35" ide=3xx.c#L2222222222222222222222222222222221/a"srt_"line" pss="sref">co1/a>  p -#L7" 1a href="+code " cla1>"sref">co1/a>  1>L7" a href="+codebq" ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div4lass="lin4" namle=L30">. 302gt;
#define. .1divacspi0-bcm63xx.c#L20" i-23421/a1="+comle=4>. 221/a>4include < *1comment2> * Y2uef"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   4"7 221/a>4i namle=L30">. 3011/a>#i4="d1040rs/spi1f">PFX1/a>    gotoa href="+code " ou"_er="sref">bqL478-#ou"_er=divass=r="+codeoffsetclasreg_ts" _shiftL474de=KBUILD4MODNAME" class="s2s="sre4">2104019" ideide=L2         11a hre137                   4,ass="lin4" namle=L30">. 302/a>#in4lu21040 href="7rivers/spi/s1pi-bc17xx.1c#L4013aml4"v3 ">lin4x/icode=done" cla2s="sre4">21-41pi" cla8s="sref">bcm163xx_18ss="sref">co1/a>   -#L7" 1a hre1a href="+code " clabus_nusef">co1/a>   -#bus_nusL7" pa href="+codeirqcps78 = a href="+codep478 =com= 1a eref="+codebq" bus_nusef">co1/a>   -#bus_nusL7" ss=r="+codeoffsetclasreg_ts" _shiftL474="drivers4spi/spi-bcm63xx.c2gt;
co1/a>   -#L7" 1a hre1a href="+code " clanus_a hrref">co1/a>   -#L7" 1nus_a hrref">cL7" pa href="+codeirqcps78 = a href="+codep478 =com= 1a eref="+codebq" nus_a hrref">co1/a>   -#L7" 1nus_a hrref">cL7" ss=r="+codeoffsetclasreg_ts" _shiftL474=2ss="lin4include <#in4lu21s4spi/spi--bcm63xx.c#L12" ide21ss="sref">co1/a>   -#L7" 1a hre1a href="+code " cla.1p_t   1/a>#define.l1p_tL7" pa href="+codeirqclle
	  " _s .1p_t   1/a>#define.lle
	  " _s .1p_tL7" ss=r="+codeoffsetclasreg_ts" _shiftL474=v3 ">lin4x/icode=done" cla2sa>#in4lu21/4pi/spi-bbcm63xx.c#L142 ide=21ss="sref">co1/a>   -#L7" 1a hre1a href="+code " claprepareL478 = a _hardware= a href="+codeprepareL478 = a _hardwareL7" pa href="+codeirqclle
	  " _s prepareL478 = a href="+code=comple
	  " _chprepareL478 = a  " _ss=r="+codeoffsetclasreg_ts" _shiftL474=43 ">lin4x/icode=done" cla2sbcm634x.c1s41/a>;
co1/a>   -#L7" 1a hre1a href="+code " claunprepareL478 = a _hardware= a href="+codeunprepareL478 = a _hardwareL7" pa href="+codeirqclle
	  " _s unprepareL478 = a href="+code=comple
	  " _chunprepareL478 = a  " _ss=r="+codeoffsetclasreg_ts" _shiftL474=ass="lin4" namle=L30">. 302/a>#in4lu21#41ide=L216" class="line" namless="sref">co1/a>   -#L7" 1a hre1a href="+code " cla478 = a _lasfme">__ief">co1/a>   -#478 = a _lasfme">__iL7" pa href="+codeirqclle
	  " _s 478 = a _lass="sref">bqL478r01{
4="+code=done" cla2s="sre4">21-41spa  cl0ass="comment2> * Y2uss="sref">co1/a>   -#L7" 1a hre1a href="+code " cla  ,m_bit116         a>
<  ,m_bit1L7" pa href="+codeirqcMODEBIT>coir=20 &"= MODEBIT> " _ss=r="+codeoffsetclasreg_ts" _shiftL474=7 221/a>4x/icode=done" cla2sa hre4="d1a41rs/spi1href12"
	  >
  v4.1.1 116         a>
21s41pi-bcm63xxx.c#L9" ide=L9" cla116         a>
   -#L7" 1msg_type_shifcL7" pa href="+codeirqcps78 = a href="+codep478 =com= 1a eref="+codebq" msg_type_shifco1/a>   -#L7" 1msg_type_shifcL7" ss=r="+codeoffsetclasreg_ts" _shiftL474=ass="lin4" namle=L30">. 302/a>#in4lu21r41 href="8rivers/spi/s1pi-bc18aef">comple
	  1/a>    = 1a eref="+codebq" msg_ctl_wid">bqL478-#L7" 1a msg_ctl_wid">L7" pa href="+codeirqcps78 = a href="+codep478 =com= 1a eref="+codebq" msg_ctl_wid">bqL478-#L7" 1a msg_ctl_wid">L7" ss=r="+codeoffsetclasreg_ts" _shiftL474=v3 ">lin4x/interrupt.h1/a>2gt;
bcm163xx_18aef">comple
	  1/a>    = 1a eref="+codebq" tlass="sref">bqL478-tL7" 1a hne+cef="+code " claux.14#L4014991/a>#define*) _readbclass="sref">compl 1/a_readb="20eass=eref="+codebq" clgqL478-#L7" 1a hrf=g>     + href="+codeirqclle
	  " _sf=gs="sref">bqL478r01{
bqL478 hreMSG_DATAL7" 1CLK_MASK3" classINTcodeSe" namaster>   4"v3 ">lin4x/icode=done" cla2/a>#in4lu21/42spa  claass="c
	  " class="s 116         a>
bqL478-rL7" 1a hne+ccons9" 1lass=9clud6ioux.14#L4014991/a>#define*) _readbclass="sref">compl 1/a_readb="20eass=eref="+codebq" clgqL478-#L7" 1a hrf=g>     + href="+codeirqclle
	  " _sf=gs="sref">bqL478r01{
bqL478 hreRX_DATAL7" 1CLK_MASK3" classINTcodeSe" namaster>   4"2ss="lin4a href="drivers/s2i/spi-4cm21342e1/a>;
8a href="driv1ers/s18/spi7bcm6372" 4>. 221/a>4include <#in4lu21c4L24" id1e=L24"#witch+cef="+code " claaef">comple
	  1/a>    = 1a eref="+codebq" msg_ctl_wid">bqL478-#L7" 1a msg_ctl_wid">L7" cspi0-bcm63xx.c#L20" i-23421/a1="+comle=4"v3 ">lin4x/icode=done" cla2/bcm634x.c1L42/a>;
irmainL4e:: mle=L224"ass="lin4" namle=L30">. 302s="sre4">21642ide=L216" clacase 16yteq" class="sref">irmainL4e:: mle=L224". 221/a>4" namle=L30">. 302s="sre4">21342 class=7"comment"> *1breakLK_MASK3" classINTcodeSe" namaster>   4"7 221/a>4x/icode=done" cla2/a hre4="d1i42rs/spi1href12defaultyteq" class="sref">irmainL4e:: mle=L224"e=KBUILD4" namle=L30">. 302s="sre4">21i4219" ideide=L29" clas2="lin22/spi6spief"cer="sref">bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
: %d7;02p, rxa37;02a;
8a href="driv1ers/s18/spi7bcm6372" 4"ass="lin4x/icode=done" cla2/a>#in4lu21i42/spi-bcmm63xx.c#L10"1 ide=19Lrs/spi/s1pi-bc18aef">comple
	  1/a>    = 1a eref="+codebq" msg_ctl_wid">bqL478-#L7" 1a msg_ctl_wid">L7" CLK_MASK3" classINTcodeSe" namaster>   4lass="lin4" namle=L30">. 302gt;
bqL478-#ou"_clk_disa201L7" ss=r="+codeoffsetclasreg_ts" _shiftL474"v3 ">lin4x/icode=done" cla2gt;
;
8a href="driv1ers/s18/spi7bcm6372" 430">. 3024="sref">21i#L19" ideio"s4ef">24ebq" class="sr"omment2> * T2142115a>  1Initialize hardwareoa> Tne" mitclocis h"hibis, uent"ode=r: mle=L224   1a hre4="+code=done" class="sre4">d1s43/a>;
bqL478-#clk_ena201 " _, 51 bclass="sreaef">comple
	  1/a>    = 1a eref="+codebq" clk{m b391nnn,  1ailkL7" CLK_MASK3" classINTcodeSe" namaster>   4lass="lin4="+code=done" class="sre4">d1s43ide=L216" class="line" namleass=06{
#defineass="f="+code=comp  " _, 51 bclass="sref">compl 1/a_, 51 b="20(  51 bclass="sre hrefINR_eLEAR_Aass="sref_func__L hrefINR_eLEAR_Aas="20( 1a href="+codebq" cfINTSTATU>coir=20 &"= q" cfINTSTATU> href="+codemastercm638291/a>#define. .1div4"v3 ">lin4x/interrupt.h1/a>>
4 v3 ">lin4x/interrupt.h1/a>>
 * T2142115a>  1reg9" 1a andnwe areo-#L7oa> Tne" mitclocis h"hibis, uent"ode=r: mle=L224 e=KBUILD4" namle=L30">. 301/a>#in4lud1_43pi-bcm63xxx.c#L9" ide=L9" cl      1/a>#define. .1diva  1="lin22/spi6spiscode=g9" 1a_ss="sref">co1/a>   -#hhhhe=g9" 1a_ss="sr " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div4"v3 ">lin4" namle=L30">. 301/a>#in4lud1_43 href="5river"driver1s/spi17pi-b6     1/a>#define. .1divacspi0-bcm63xx.c#L20" i-23421/a1="+comle=4=v3 ">lin4x/interrupt.h1/a>>
bqL478-#ef"cer= " _, 51 bclass="sress="sref">co1/a>   -#L7" 1a href="+codelin31/a>
   4>. 221/a>4include <bqL478-#ou"_clk_disa201L7" ss=r="+codeoffsetclasreg_ts" _shiftL474)ass="lin4" namle=L30">. 301/a>#in4lud1o44pi/spi--bcm63         11a hre137                   4"v3 ">lin4x/interrupt.h1/a>>
_1_iome16a> 15    15   4"  1a hre4+code=regs" class="sref"4reg1s44/a>;
bqL478-ef"cinfs/icode=done" cla2sa>#in4lu21/4pi/spi-bbcm63xx.c#L142 ide=21ss="sref">co1/ass="sress2"37;d7;02p, rxa37;02a;
8a href="driv1ers/s08x (irq/s18/sp, FIFOs>    /s18/sp) vs18/s namaster>   3"vs="lin4x/icode=done" cla2/a>#in4lu21i42ide=L216"4cla=L9" 1lass=9clud6ioir4e" na44aaae" namle=L216">resopi0-bcm63xx.c#L2 i-23421/a1="+co+code=ceed_hzL7" ss=r="+c>_1_iome16a> 15    15   3>. 2ec
	  " class="s le
	  " _s em1/a>  is="line" namlmplle
	  fifo_78 =er="20(truct.1afifo_78 =L7" pa href="+codeirqcps78 = a href="+codep478ine" namlmplle
	 DRV_VEeclk{m b391nnn, DRV_VEev4"v3 ">lin4" namle=L30">. 301/a>#in4lud1_43 class=7"4ommbq" cla="sref"txrx_bu4r1p_s444 v3 ">lin4x/interrupt.h1/a>>
21-34pi-bcm63x4x.css="line" namle=L216"4. 125443,ass="lin3" namle=L30">. 3011/a>#i3cl1ud349de=L216"4cla=L9" 1lass=9clud6io  4   1/4>#defi8-#ou"_clk_disa201L7" ss=r="+codeoffsetclasreg_ts" _shiftL474)asKBUILD4" namle=L30">. 302s="sre4">21i42pi" cla9s4"sref">bcm163xx_1pi1/a9 4
    = 1a eref="+codebq"7" ss=r="+codeoffsetclasre" _shiftL474)asLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3" namle=L30">. 3011/a>#i3cl1ud34spa  claa4s="c
	  " class="s="sref4>bqL445nL7" yteq" class="srdeoffsetclasreg_ts" _shiftL474de=KBUILD4" namle=L30">. 302s="sre4">21i42pi/spi--bcm63"driver1s/spi1spi-b6=4sref"45a>   -#L7" 1a hre1a href="+cm_s_getrL478  " _, 51 bclass="srepss="sref">co1/a>  p -#L7" a href="+codebq" ss="sref">co1/a>   -#L7" 1a href="+codemasNUa href="+codebq" NUa  3"v3 ">lin3" namle=L30">. 3011/a>#i3cl1ud34smem" c6ass="sref">_1_iome19aml1e=42ef"c45a>   -#L7" 1a hre1a href="+css="sref">cplasreg_ts" _shiftss="sref">cpla7" 1a href="+codemastercm638291/a>#define. .1div4"v3 ">lin4" namle=L30">. 301/a>#in4lud1_43-bcm631xx4c#L35" ide=comment2> * Y4u    4 1/a>#8-#ou"_clk_disa201L7" odeoffsetclasreg_ts" _4de=KBUILD4" namle=L30">. 302s="sre4">21i42pde=L216"4_spi.h" clagotoa href="+4ode "45/a>#defineass="f="+code=comp" _splasreg_ts" _shift" _spla4)asLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3" namle=L30">. 3011/a>#i3cl1ud34sclass=7"4omms=9"comment"> *1 This4progr4      8-#ou"_clk_disa201odeoffsetclasreg_t4de=KBUILD4" namle=L30">. 302s="sre4">21i42ps/spi1hr4bcm63xx.c#218" i20   1a 4ref="45391nnn,  1ail1div3  pi0-bcm63xx.c#L20" i-23421/a1="+comle=4= ">lin3" namle=L30">. 3011/a>#i3cl1ud34si-bcm63x4x.c#L9" ide=L9" cl=rqe" 4a " _4ransfi ">lin4x/interrupt.h1/a>>
lin4x/icode=done" cla2s="sre4">21-41xx.c#L1314 ide=L31" 2lass=23="liin4"ef"c46 na " _transf_ef="+ninefinea hr"lineef">irmainL4e:: mle"lineef">91nnnsref">bqL478r01{
co1/a>  p -#L7" ca lenref="+codetclaslene" nmaster>   3>. 221/a>3include < * Y4u    46=3)ass="lin3" namle=L30">. 301/a>#in3lud1o34pi/spi-0b4m63xx.c#L13gotoa href="+4ode "4ou"linenafi" n   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hrene+c#define.1a hhhhhhhhhhhhhhhss="sref">co1/a hre1a href="+css="sref">csress="sref">co1/ass="sref">csre#L7" a href="+codebq"ef">co1/a>   " _, 51 bclass="srepss="sref">go1/a>  p -#L7" a href="+codebq" ss="sref">co1/a>   -#L7" 2ss="lin4a href="drivers/s2i/spi-4cm213423class=7"4omms=9"comment"> *1 This4progr4          3*1act.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3"ass="lin3" namle=L30">. 302s/spi-4cm213423bcm631xx43xx.c#L15"2ide=L21pi-b8m43xx844 3*. 221/a>3+code=regs" class=&="inc3udere34ide=L216"4class="line" namleclk{m 4391nn4,  1ailkL7" 1a href="+codeirqtclasr_ss="sr " _, 51 bclass="sress="sresr_ss="sr " _, 517" 1a href="+codemastercm638291/a>#define. .1div3"ass="lin3" namle=L30">. 302s/spi-4cm213423class=7"4s=""driver1s/spi17pi-bIS4ERi"|464 v3 ">lin4x/interrupt.h1/a>>
    comment2> * Y4uef"c46" 1a andnwe areo-#L7oa> Tne" mitclocis hco1 3" cblassI=L224 e=KBUILD4" namle=L30">. 301/a>#in4lud1_4319" ideid4=L29" clas2="lin22/spi6s4i    46>
compl 1/a_, 51 b="20( 1a href="+codebq" class="srene{m b391nnn,  1a hrefINTcodeSPI_CLK_MASK3" classINTcodeSe" namaster>   3"v3 ">lin3x/icode=done" cla2gt;
lin4x/icode=done" cla2s="sre4">21-41pi" cla8s4"sr         11a hre137  4     4          3"v3reo-#L7oa> Tne" mitclocisHW shutdownI=L224 e=KBUILD4" namle=L30">. 301/a>#in4lud1_43-bcm631xx4c#L32" ide2L32" 2lass1="4in13e47>
   4lass="lin4="+code=done" class="sre4">d1s43pi/spi--b4m63xx.c#L12" ide21ss="sr4f">co4/a>   -#L7" 1a hrene+="sref"t" _splasreg_ts" _shift" _spla4)asLK_MASK3" classI clk{m b391nnn,  1ailkL7" CLK_MASK3" classINTcodeSe" namaster>   4lass="lin4="+code=done" class="sre4">d1s43pclass=7"4"sr"driver1s/spi1spi-b6s4="sre474"  1a hre4+code=regs" class="sref"4reg1s44-bcm631xx4c#L35" ide=comment2> * Y4uef"c47">bqL478-ef"cinfs/icode=donem_s_getrL478  " _, 51 bclass="srepss="sref">co1/a>  p -#L7" a href="+codebq" ss="sref">co1/a>   -#L7" 1av3 ">lin3="+code=done" clas>
<3 h1re34ide=L21de4_spi.h" clacomment2> * Y4u    473"v3 ">lin3x/interrupt.h1/a>>
 *1gotoa href="+4ode "47a>   -#L7" 1a hre1a href="+css="sref">cplasreg_ts" _shiftss="sref">cpla7" 1a href="+codemastercm638291/a>#define. .1div4"v3 ">lin4" namle=L30">. 301/a>#in4lud1_43s/spi/spi4bcm         11a hre137  4     473)v3 ">lin3" namle=L30">. 301/="sre3">dde34DNAME114a4
21-34 href="8r4vers/spi/s1pi-bc18aef">c4mple
4  1/a> ">lin4x/interrupt.h1/a>>
bcm163xx_1pi1/a9 4
. 3011/a>#i3cl1ud34spa  claa4s="c
	  " class="splatfo4m_s_g4trL478#ifdefa hre1a href="+cCONFIG_Ptclasreg_ts" _shCONFIG_Pt,ass="lin3" namle=L30">. 3011/a>#i3cl1ud34si/spi--b4m63xx.c#L12" ide21nam">c4lined4q="20( _transf_ef="+ninefinea hrreg_ts" _shifuspen38291/a>#define.reg_ts" _shifuspen34)asL0(truct.1aplatform_traass="sss="sref">co1/a>   -#L7" 1a >. 431/a"srt_"line" pss="sref">co1/a>  221/a>3include <_1_iome16a> 15 4  15 4 3"v3 s="lin3" namle=L30">. 301/a>#in3lud1o34-bcm631xx4c#L"driver1s/spi1spi-b6 4#m_re4uescfmem_reg91   -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hrene+c#define.1a hhhhhhhhhhhhhhhss="sref">co1/="lin3" namle=L30">. 301/a>#in3lud1o34-de=L21de4_spi.h" claaaaaaaaaaaaaa4aaaaa4aaaae" namle=L216">resoursf_78a href="+codebq"ef">co1/a>   " _, 51 bclass="srepss="sref">go1/a>  p -#L7" a href="+codebqto_nsf=comple
	  " class="spss="sto_nsf=comple
	  "3xx.c#L142 ide=21ss="sref">co1/ass="sress2"372ss="lin4a href="drivers/s2i/spi-4cm21342 class=7"4omment"> *1comment2> * Y4uef"c4r="sref">bqL47ct.1a href="+code=comple
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3"ass="lin3" namle=L30">. 302s/spi-4cm21342 /spi/spi4PFX1/a>    comment2> * Y4u    483)v3 ">lin3" namle=L30">. 301/="sre3">dde3419" ideid4=L29" clas2gotoa href="+4ode "48>
   4lass="lin4="+code=done" class="sre4">d1s43spi/spi.c4L30 class=2line"21spi1/s4i-138484"v3 ">lin4x/icode=done" cla2s="sre4">21-41pi" cla9s4"sref">bcm163xx_1pi1/a9 4
21-34spa  claa4s="c
	  " class="s 116  4     4a>
lin4x/interrupt.h1/a>>
. 3024="sref">21i#L19" ideio"s4ef">24ebq" class4"sr"driver1s/spi1spi-b6 416   4     a _transf_ef="+ninefinea hrreg_ts" _shi hcuss="sref">co1/a> reg_ts" _shi hcuss4)asL0(truct.1aplatform_traass="sss="sref">co1/a>   -#L7" 1a >. 431/a"srt_"line" pss="sref">co1/a>  221/a>3include < * Y4uef"c4r="sres="lin3" namle=L30">. 301/a>#in3lud1o34ide=L21de4_spi.h" clacomment2> * Y4u    4 1/a>#define.    -#hhhhss="srL7" 1le
	  " class="sss="sref">co1/a>   -#L7" 1a hrene+c#define.1a hhhhhhhhhhhhhhhss="sref">co1/="lin3" namle=L30">. 301/a>#in3lud1o34 class=7"4omment"> *1gotoa href="+4ode "4ou"_er="sref">bqL478-#oursf_78a href="+codebq"ef">co1/a>   " _, 51 bclass="srepss="sref">go1/a>  p -#L7" a href="+codebqto_nsf=comple
	  " class="spss="sto_nsf=comple
	  "3xx.c#L142 ide=21ss="sref">co1/ass="sress2"372ss="lin4a href="drivers/s2i/spi-4cm21342s/spi/spi4bcm         11a hre137  4     49391nnn,  1ailkL7" 1le
	  " class="sle
	  " class="sref">comple
	  1/a>      1a href="+codebq" class="sref">bqL478 = a href="+code=c " _master_get_lindataclass="line" na " ss="sref">co1/a>   -#L7" 1a href="+codemastercm638291/a>#define. .1div3"ass="lin3" namle=L30">. 302s/spi-4cm21342DNAME114a4
. 3011/a>#i3cl1ud34 href="8r4vers/spi/s1pi-bc18aef">c4mple
4  1/a>    = 1a eref="+codebq"1 bclass="sreaef">comple
	  1/a>    = 1a eref="+codebq" clk{m b391nnn,  1ailkL7" CLK_MASK3" classINTcodeSe" namaster>   4lass="lin4="+code=done" class="sre4">d1s45pi" cla8s5"sref">bcm163xx_18aef">c5mple
503,ass="lin3" namle=L30">. 3011/a>#i3cl1ud35spa  claa5s="c
	  " class="s 116  5     5a>
21-35e1/a>;
8a5href="driv1ers/s18/spi7b5m63725 4"v3  ">lin4x/interrupt.h1/a>>
#d504"  1a hre4+code=regs" class="sref"4reg1s45-bcm631xx5c#L35" ide=3xx.c#L2222225222225222222 _transine*) 0(truct.1aplatform_traass_pm_opclk{m b391nnn,  ass_pm_opc91nnnsref">bqL478r01{
. 301/a>#in3lud1o35ide=L21de5_sp"driver1s/spi17pi-b6 5   1/5>#define. .1dideplatform_t78 Lfuspen38291/a>#define.fuspen34)asne. .1didefine.lle
	  " _s .1p_tL7" ssuspen38291/a>#define.reg_ts" _shifuspen34)ass="lin4x/icode=done" cla2/a>#in4lu21i45 class=7"5omment"> *1comment2> * Y5uef"c5r="sref">bqL47deplatform_t78 L hcuss="sref">co1/a>  hcuss4)as ne. .1didefine.lle
	  " _s .1p_tL7" s hcuss="sref">co1/a> reg_ts" _shi hcuss4)ass="lin4x/icode=done" cla2/a>#in4lu21i45 7lass=7"5ocm         11a hre137  5ode "5ou"_er}1a hre3="+code=done" cla2s="sre3">21-35e8lass=7"5o. 3011/a>#i3cl1ud35 href="7r5vers/spi/s1pi-bc17xx.1c#54013a5l4"v3 #defi-befine.lle
	  " _BCM63XX_ namPM_OPmastercm638291/aBCM63XX_ namPM_OPm4)as ne. .mp" 1a eref="+codebq" 
3include <bcm163xx_18ss="sr5f">co5/a>   #else21/a>3include <co5/a>   #defi-befine.lle
	  " _BCM63XX_ namPM_OPmastercm638291/aBCM63XX_ namPM_OPm4)as ne. .fine.lle
	  " _NUa href="+codebq" NUa  3"v21/a>3include <co5/a>   #en3if21/a>3include <co514"  1a hre4+code=regs" class="sref"4reg1s45/a>;
co5122222 _trans0(truct.1aplatform_transf=comple=regs class="spss="sref">co1/a=regs91nnnsref">bqL478r01{
. 301/a>#in3lud1o35ide=L216"5class="line" namless="sr5f">co51#define. .1dideplatform_t78 Le=regs class="spss="se=regs8 = a hs="lin3" namle=L30">. 301/a>#in3lud1o35iclass=7"5s="comment2> * Y2uss="sr5f">co51u"_er="sref">bqL478-#deplatform_t78 L" ss="sref">co1/a>   -#L7" 1didef;02p, rxa37;02a;
8a href=">#in3lu-snamaster>   3"vs="lin4x/icode=done" cla2/a>#in4lu21i45rs/spi1hr5f12"
	  >
  v4.1.1 116  5     51u"_er="sref">bqL478-#deplatform_t78 Lowngs class="spss="sowngs"_er="define.lle
	  " _THIS_MODULE class="spss="sTHIS_MODULE4)ass="lin4x/icode=done" cla2/a>#in4lu21i45pi-bcm63x5x.c#L9" ide=L9" cla116  5     51="sref">bqL478-#ef"cedeplatform_t78 L7etclasreg_ts" _spm"sref">bqdefine.lle
	  " _BCM63XX_ namPM_OPmastercm638291/aBCM63XX_ namPM_OPm4)ass="lin4x/icode=done" cla2/a>#in4lu21i45phref="7r5vers/spi/s1pi-bc18aef">c5mple
5  1/a>    = 1a}s="lin4x/icode=done" cla2/a>#in4lu21i45pi" cla8s5"sref">bcm163xx_18aef">c5mple
5  1/a>    = 1adeplatform_t78 L7rob" class="spss="srrob""sref">bqL478- a href="+code=comple
	  " _chpob" class="spss="smple
	  " _chpob"4)ass="lin4x/icode=done" cla2/a>#in4lu21i45spa  claa5s="c
	  " class="s 116  5     5a>
bqL478- a href="+code=co"lineef">_"+codeoffsetclas"lineef">_" = 1a eref="+codebq" 
#in4lu21i45s1/a>;
8a5href="driv1ers/s18/spi7b5m63725 4>. 2}1a hre3="+code=done" cla2s="sre3">21-3524" id1e=524"#witch+cef="+code " c5aaef"524"  1a hre4+code=regs" class="sref"4reg1s45/a>;
ir521/a>#8-#ou"_clk_disamodule_nsf=comple=regs class="spss="smodule_nsf=comple=regs = 1a eref="+codebq" 
d1s45ide=L216"5clacase 16yteq" class="s5ef">i523"v3 ">lin3x/interrupt.h1/a>>
 *1breakLK_MASK35 clas52     8-#ou"_clk_disaMODULE_ALIAsetclasreg_ts" _shiULE_ALIAs = 1a ;02p, rxa37;02a;
8a href="nsf=comp:{
   4>. 221/a>4include <i5mainL48-#ou"_clk_disaMODULE_AUTHOeclk{m b391nnn, MODULE_AUTHOe = 1a ;02p, rxa37;02a;
8a href="Flori2p,Faeq"lliomle=flori2p@openwrt.org" CLmaster>   4>. 221/a>4include <   4>. 221/a>4include <lx6@ 11ux.noL7" .

lx6. 11ux.no kindly hos 8a by fine.lle http://www.redpill- 11pro.no">Redpill L11pro As = 1, provider of L11uxsine*ult; 8, uenopertrane* ser "s> nce 1995.