linux/drivers/bluetooth/btuart_cs.c
<<
>>
t typ do00idlens2="..text+v3.1"..d="post"id..d="post typ do0butt6.1s2="..n do_s">S="pos t t/linua t/linua divearch"> headingbott6mn> divss/lin divss/lin inua diveid..d="pos_results"earch"> d="pos_results" s diveid..file_contenss" donet"id..d1/d7/7ee91b55409b14c4808511cdb2b206a69949_3/0" <="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L1t>nua1 commens">/*an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L2t>nua2 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L3t>nua3 commens"> * Doth/b Brt_cs.c" PCMCIA cards wic" HCI UART interfacean class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L4t>nua4 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L5t>nua5 commens"> * Copyt="&g (C) 2001-2002 M"poel Holtmann <m"poel@holtmann.org/spaan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L6t>nua6 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L7t>nua7 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L8t>nua8 commens"> * T inet"3.1"..L9t>nua9 commens"> * it und/b the terms of the GNU General Public License h/bt.6.12 asan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L10t>nu commens"> * published by the Free Software Founda" meaan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L11t>nu11 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L12t>nu12 commens"> * Software distributed und/b the License in distributed 6.1_se"ASan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L13t>nu13 commens"> * IS" basis, WITHOUT WARRANTY OF ANY KIND, eic"/b exp+vss oran class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L14t>nu14 commens"> * implied. See the License the specific language goh/bningan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L15t>nu15 commens"> * t="&gs and lio_sa" mes und/b the License.an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L16t>nu16 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L17t>nu17 commens"> * T inet"3.1"..L18t>nu18 commens"> * <dahinds@us/bt.soupoe ge.net/spa.doPor" mes created by David A. Hindsan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L19t>nu19 commens"> * are Copyt="&g (C) 1999 David A. Hinds.doAll R="&gs Res/bved.an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L20t>nu2 commens"> *an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L21t>nu21 commens"> */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L22t>nu22 inet"3.1"..L23t>nu23 <#include <<="x+v3.7include/drive/module.ht"arch"> fref">drive/module.h inet"3.1"..L24t>nu24 inet"3.1"..L25t>nu25 <#include <<="x+v3.7include/drive/k/bnel.ht"arch"> fref">drive/k/bnel.h inet"3.1"..L26t>nu26 <#include <<="x+v3.7include/drive/init.ht"arch"> fref">drive/init.h inet"3.1"..L27t>nu27 <#include <<="x+v3.7include/drive/slab.ht"arch"> fref">drive/slab.h inet"3.1"..L28t>nu28 <#include <<="x+v3.7include/drive/s2="s.ht"arch"> fref">drive/s2="s.h inet"3.1"..L29t>nu29 <#include <<="x+v3.7include/drive/delay.ht"arch"> fref">drive/delay.h inet"3.1"..L30t>nu30 <#include <<="x+v3.7include/drive/errno.ht"arch"> fref">drive/errno.h inet"3.1"..L31t>nu31 <#include <<="x+v3.7include/drive/ptrace.ht"arch"> fref">drive/ptrace.h inet"3.1"..L32t>nu32 <#include <<="x+v3.7include/drive/iopor".ht"arch"> fref">drive/iopor".h inet"3.1"..L33t>nu33 <#include <<="x+v3.7include/drive/spinlock.ht"arch"> fref">drive/spinlock.h inet"3.1"..L34t>nu34 <#include <<="x+v3.7include/drive/moduleparam.ht"arch"> fref">drive/moduleparam.h inet"3.1"..L35t>nu35 inet"3.1"..L36t>nu36 <#include <<="x+v3.7include/drive/skbuff.ht"arch"> fref">drive/skbuff.h inet"3.1"..L37t>nu37 <#include <<="x+v3.7include/drive/string.ht"arch"> fref">drive/string.h inet"3.1"..L38t>nu38 <#include <<="x+v3.7include/drive/s/bial.ht"arch"> fref">drive/s/bial.h inet"3.1"..L39t>nu39 <#include <<="x+v3.7include/drive/s/bial_reg.ht"arch"> fref">drive/s/bial_reg.h inet"3.1"..L40t>nu40 <#include <<="x+v3.7include/drive/bitops.ht"arch"> fref">drive/bitops.h inet"3.1"..L41t>nu41 <#include <<="x+v3.7+ambig=include/asm-alpha/io.h|include/asm-arm/io.h|include/asm-avr32/io.h|include/asm-blackfin/io.h|include/asm-cris/io.h|include/asm-frv/io.h|include/asm-generic/io.h|include/asm-h8300/io.h|include/asm-i386/io.h|include/asm-ia64/io.h|include/asm-m32r/io.h|include/asm-m68k/io.h|include/asm-m68knommu/io.h|include/asm-mips/io.h|include/asm-mips64/io.h|include/asm-parisc/io.h|include/asm-powerpc/io.h|include/asm-ppc/io.h|include/asm-s390/io.h|include/asm-sh/io.h|include/asm-sh64/io.h|include/asm- clrc/io.h|include/asm-sclrc64/io.h|include/asm-um/io.h|include/asm-v850/io.h|include/asm-x86/io.h|include/asm-x86_64/io.h|include/asm-xtensa/io.ht"arch"> fals">asm/io.h inet"3.1"..L42t>nu42 inet"3.1"..L43t>nu43 <#include <<="x+v3.7include/pcmcia/cistpl.ht"arch"> fref">pcmcia/cistpl.h inet"3.1"..L44t>nu44 <#include <<="x+v3.7include/pcmcia/ciscode.ht"arch"> fref">pcmcia/ciscode.h inet"3.1"..L45t>nu45 <#include <<="x+v3.7include/pcmcia/ds.ht"arch"> fref">pcmcia/ds.h inet"3.1"..L46t>nu46 <#include <<="x+v3.7include/pcmcia/cisreg.ht"arch"> fref">pcmcia/cisreg.h inet"3.1"..L47t>nu47 inet"3.1"..L48t>nu48 <#include <<="x+v3.7include/netuart_cs.c"> rt_cs.c".ht"arch"> fref">netuart_cs.c"> rt_cs.c".h inet"3.1"..L49t>nu49 <#include <<="x+v3.7include/netuart_cs.c">hci_core.ht"arch"> fref">netuart_cs.c">hci_core.h inet"3.1"..L50t>nu50 inet"3.1"..L51t>nu51 inet"3.1"..L52t>nu52 inet"3.1"..L53t>nu53 commens">/* ======================== Module paramet/bt ======================== */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L54t>nu54 inet"3.1"..L55t>nu55 inet"3.1"..L56t>nu56 dref">MODULE_AUTHOR <(lxr_search"> string">"M"poel Holtmann <m"poel@holtmann.org/spa"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L57t>nu57 dref">MODULE_DESCRIPTION <(lxr_search"> string">"Brt_cs.c" doth/b Brt_cs.c" PCMCIA cards wic" HCI UART interface"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L58t>nu58 dref">MODULE_LICENSE <(lxr_search"> string">"GPL"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L59t>nu59 inet"3.1"..L60t>nu60 inet"3.1"..L61t>nu61 inet"3.1"..L62t>nu62 commens">/* ======================== Local structuret ======================== */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L63t>nu63 inet"3.1"..L64t>nu64 inet"3.1"..L65t>nu65 dref"> inet"3.1"..L66t>nu66 < struct l="x+v3.7+code=pcmcia_device"earch"> dref">pcmcia_device < *l="x+v3.7+code=p_dev"earch"> dref">p_dev inet"3.1"..L67t>nu67 inet"3.1"..L68t>nu68 < struct l="x+v3.7+code=hci_dev"earch"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev inet"3.1"..L69t>nu69 inet"3.1"..L70t>nu70 < l="x+v3.7+code=spinlock_t"earch"> dref">spinlock_t < l="x+v3.7+code=lock"earch"> dref">lock commens">/* F s/bializing op/ba" mes */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L71t>nu71 inet"3.1"..L72t>nu72 < struct l="x+v3.7+code=sk_buff_head"earch"> dref">sk_buff_head < l="x+v3.7+code=txq"earch"> dref">txq inet"3.1"..L73t>nu73 < unsigned long l="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e inet"3.1"..L74t>nu74 inet"3.1"..L75t>nu75 < unsigned long l="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e inet"3.1"..L76t>nu76 < unsigned long l="x+v3.7+code=rx_count"earch"> dref">rx_count inet"3.1"..L77t>nu77 < struct l="x+v3.7+code=sk_buff"earch"> dref">sk_buff < *l="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb inet"3.1"..L78t>nu78 <} l="x+v3.7+code= dref"> inet"3.1"..L79t>nu79 inet"3.1"..L80t>nu80 inet"3.1"..L81t>nu81 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L82t>nu82 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L83t>nu83 inet"3.1"..L84t>nu84 dref"> dref">pcmcia_device < *l="x+v3.7+code=p_dev"earch"> dref">p_dev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L85t>nu85 inet"3.1"..L86t>nu86 inet"3.1"..L87t>nu87 commens">/* Maximum baud ba"e */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L88t>nu88 <#define l="x+v3.7+code=SPEED_MAX"earch"> dref">SPEED_MAX < 115200s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L89t>nu89 inet"3.1"..L90t>nu9 commens">/* Default baud ba"e: 57600, 115200, 230400 460800 */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L91t>nu91 <#define l="x+v3.7+code=DEFAULT_BAUD_RATE"earch"> dref">DEFAULT_BAUD_RATE < 115200s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L92t>nu92 inet"3.1"..L93t>nu93 inet"3.1"..L94t>nu94 commens">/* Transmit ght.es */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L95t>nu95 <#define l="x+v3.7+code=XMIT_SENDING"earch"> dref">XMIT_SENDING < 1s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L96t>nu96 <#define l="x+v3.7+code=XMIT_WAKEUP"earch"> dref">XMIT_WAKEUP < 2s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L97t>nu97 <#define l="x+v3.7+code=XMIT_WAITING"earch"> dref">XMIT_WAITING < 8s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L98t>nu98 inet"3.1"..L99t>nu99 commens">/* Receth/b ght.es */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L100t>n100 <#define l="x+v3.7+code=RECV_WAIT_PACKET_TYPE"earch"> dref">RECV_WAIT_PACKET_TYPE < 0s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L101t>n101 <#define l="x+v3.7+code=RECV_WAIT_EVENT_HEADER"earch"> dref">RECV_WAIT_EVENT_HEADER < 1s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L102t>n102 <#define l="x+v3.7+code=RECV_WAIT_ACL_HEADER"earch"> dref">RECV_WAIT_ACL_HEADER < 2s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L103t>n103 <#define l="x+v3.7+code=RECV_WAIT_SCO_HEADER"earch"> dref">RECV_WAIT_SCO_HEADER < 3s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L104t>n104 <#define l="x+v3.7+code=RECV_WAIT_DATA"earch"> dref">RECV_WAIT_DATA < 4s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L105t>n105 inet"3.1"..L106t>n106 inet"3.1"..L107t>n107 inet"3.1"..L108t>n108 commens">/* ======================== Interrupt handling ======================== */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L109t>n109 inet"3.1"..L110t>n110 inet"3.1"..L111t>n111 dref"> dref">iobase <, int l="x+v3.7+code=fifo_size"earch"> dref">fifo_size <, l="x+v3.7+code=__u8"earch"> dref">__u8 < *l="x+v3.7+code=buf"earch"> dref">buf <, int l="x+v3.7+code=lux+varch"> dref">len <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L112t>n112 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L113t>n113 < int l="x+v3.7+code=ac l+varch"> dref">ac l < = 0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L114t>n114 inet"3.1"..L115t>n115 < lxr_search"> commens">/* Tx FIFO should be empty */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L116t>n116 < if (!(l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LSR"earch"> dref">UART_LSR <) & l="x+v3.7+code=UART_LSR_THRE"earch"> dref">UART_LSR_THRE <))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L117t>n117 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L118t>n118 inet"3.1"..L119t>n119 < lxr_search"> commens">/* Fill FIFO wic" currens frame */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L120t>n120 < while ((l="x+v3.7+code=fifo_size"earch"> dref">fifo_size <-- /spa 0) && (l="x+v3.7+code=ac l+varch"> dref">ac l < < l="x+v3.7+code=lux+varch"> dref">len <)) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L121t>n121 < lxr_search"> commens">/* Transmit next by"e */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L122t>n122 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=buf"earch"> dref">buf <[l="x+v3.7+code=ac l+varch"> dref">ac l <], l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_TX"earch"> dref">UART_TX <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L123t>n123 < l="x+v3.7+code=ac l+varch"> dref">ac l <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L124t>n124 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L125t>n125 inet"3.1"..L126t>n126 < rch(thil="x+v3.7+code=ac l+varch"> dref">ac l inet"3.1"..L127t>n127 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L128t>n128 inet"3.1"..L129t>n129 inet"3.1"..L130t>n130 dref"> dref"> dref">info <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L131t>n131 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L132t>n132 < if (!l="x+v3.7+code=info"earch"> dref">info <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L133t>n133 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Unknown device"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L134t>n134 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L135t>n135 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L136t>n136 inet"3.1"..L137t>n137 < if (l="x+v3.7+code=test_and_set_bit"earch"> dref">test_and_set_bit <(l="x+v3.7+code=XMIT_SENDING"earch"> dref">XMIT_SENDING <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <))) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L138t>n138 < l="x+v3.7+code=set_bit"earch"> dref">set_bit <(l="x+v3.7+code=XMIT_WAKEUP"earch"> dref">XMIT_WAKEUP <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L139t>n139 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L140t>n140 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L141t>n141 inet"3.1"..L142t>n142 < do {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L143t>n143 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L144t>n144 < rcgist/b ghruct l="x+v3.7+code=sk_buff"earch"> dref">sk_buff < *l="x+v3.7+code=gkb"earch"> dref">gkb inet"3.1"..L145t>n145 < int l="x+v3.7+code=lux+varch"> dref">len inet"3.1"..L146t>n146 inet"3.1"..L147t>n147 < l="x+v3.7+code=clear_bit"earch"> dref">clear_bit <(l="x+v3.7+code=XMIT_WAKEUP"earch"> dref">XMIT_WAKEUP <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L148t>n148 inet"3.1"..L149t>n149 < if (!l="x+v3.7+code=pcmcia_dev dref">pcmcia_dev dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L150t>n150 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L151t>n151 inet"3.1"..L152t>n152 < if (!(l="x+v3.7+code=gkb"earch"> dref">gkb < = l="x+v3.7+code=gkb_dequeue"earch"> dref">gkb_dequeue <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=txq"earch"> dref">txq <))))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L153t>n153 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L154t>n154 inet"3.1"..L155t>n155 < lxr_search"> commens">/* Send frame */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L156t>n156 < l="x+v3.7+code=lux+varch"> dref">len < = l="x+v3.7+code= dref"> dref">iobase <, 16, l="x+v3.7+code=gkb"earch"> dref">gkb <-/spaa="x+v3.7+code=data"earch"> dref">data <, l="x+v3.7+code=gkb"earch"> dref">gkb <-/spaa="x+v3.7+code=lux+varch"> dref">len <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L157t>n157 < l="x+v3.7+code=set_bit"earch"> dref">set_bit <(l="x+v3.7+code=XMIT_WAKEUP"earch"> dref">XMIT_WAKEUP <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L158t>n158 inet"3.1"..L159t>n159 < if (l="x+v3.7+code=lux+varch"> dref">len < == l="x+v3.7+code=gkb"earch"> dref">gkb <-/spaa="x+v3.7+code=lux+varch"> dref">len <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L160t>n160 < a="x+v3.7+code=kfree_gkb"earch"> dref">kfree_gkb <(l="x+v3.7+code=gkb"earch"> dref">gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L161t>n161 < } else {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L162t>n162 < l="x+v3.7+code=skb_pull+varch"> dref">skb_pull <(l="x+v3.7+code=gkb"earch"> dref">gkb <, l="x+v3.7+code=lux+varch"> dref">len <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L163t>n163 < l="x+v3.7+code=skb_queue_head"earch"> dref">skb_queue_head <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=txq"earch"> dref">txq <), l="x+v3.7+code=gkb"earch"> dref">gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L164t>n164 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L165t>n165 inet"3.1"..L166t>n166 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ghtt"earch"> dref">shtt <.l="x+v3.7+code= yte_tx"earch"> dref"> yte_tx < += l="x+v3.7+code=lux+varch"> dref">len inet"3.1"..L167t>n167 inet"3.1"..L168t>n168 < } while (l="x+v3.7+code=test_bit"earch"> dref">test_bit <(l="x+v3.7+code=XMIT_WAKEUP"earch"> dref">XMIT_WAKEUP <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <)))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L169t>n169 inet"3.1"..L170t>n170 < l="x+v3.7+code=clear_bit"earch"> dref">clear_bit <(l="x+v3.7+code=XMIT_SENDING"earch"> dref">XMIT_SENDING <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=tx_ght.e"earch"> dref">tx_ght.e <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L171t>n171 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L172t>n172 inet"3.1"..L173t>n173 inet"3.1"..L174t>n174 dref"> dref"> dref">info <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L175t>n175 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L176t>n176 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase inet"3.1"..L177t>n177 < int l="x+v3.7+code= oguscount"earch"> dref"> oguscount < = 0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L178t>n178 inet"3.1"..L179t>n179 < if (!l="x+v3.7+code=info"earch"> dref">info <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L180t>n180 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Unknown device"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L181t>n181 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L182t>n182 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L183t>n183 inet"3.1"..L184t>n184 < l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L185t>n185 inet"3.1"..L186t>n186 < do {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L187t>n187 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ghtt"earch"> dref">shtt <.l="x+v3.7+code= yte_rx"earch"> dref"> yte_rx <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L188t>n188 inet"3.1"..L189t>n189 < lxr_search"> commens">/* Alloca"e packet */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L190t>n190 < if (l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb < == l="x+v3.7+code=NULL"earch"> dref">NULL <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L191t>n191 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_PACKET_TYPE"earch"> dref">RECV_WAIT_PACKET_TYPE inet"3.1"..L192t>n192 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = 0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L193t>n193 < if (!(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb < = l="x+v3.7+code= _gkb_alloc"earch"> dref"> _gkb_alloc <(l="x+v3.7+code=HCI_MAX_FRAME_SIZE"earch"> dref">HCI_MAX_FRAME_SIZE <, l="x+v3.7+code=GFP_ATOMIC"earch"> dref">GFP_ATOMIC <))) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L194t>n194 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Can't alloca"e mem new packet"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L195t>n195 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L196t>n196 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L197t>n197 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L198t>n198 inet"3.1"..L199t>n199 < if (l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < == l="x+v3.7+code=RECV_WAIT_PACKET_TYPE"earch"> dref">RECV_WAIT_PACKET_TYPE <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L200t>n200 inet"3.1"..L201t>n201 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <-/spaa="x+v3.7+code=dev"earch"> dref">dev < = (void *) l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev inet"3.1"..L202t>n202 < l="x+v3.7+code= _cb"earch"> dref"> _cb <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)-/spaa="x+v3.7+code=pkt_s2=""earch"> dref">pkt_s2=" < = l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_RX"earch"> dref">UART_RX <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L203t>n203 inet"3.1"..L204t>n204 < switch (l="x+v3.7+code= _cb"earch"> dref"> _cb <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)-/spaa="x+v3.7+code=pkt_s2=""earch"> dref">pkt_s2=" <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L205t>n205 inet"3.1"..L206t>n206 < case l="x+v3.7+code=HCI_EVENT_PKT"earch"> dref">HCI_EVENT_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L207t>n207 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_EVENT_HEADER"earch"> dref">RECV_WAIT_EVENT_HEADER inet"3.1"..L208t>n208 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=HCI_EVENT_HDR_SIZE"earch"> dref">HCI_EVENT_HDR_SIZE inet"3.1"..L209t>n209 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L210t>n210 inet"3.1"..L211t>n211 < case l="x+v3.7+code=HCI_ACLDATA_PKT"earch"> dref">HCI_ACLDATA_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L212t>n212 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_ACL_HEADER"earch"> dref">RECV_WAIT_ACL_HEADER inet"3.1"..L213t>n213 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=HCI_ACL_HDR_SIZE"earch"> dref">HCI_ACL_HDR_SIZE inet"3.1"..L214t>n214 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L215t>n215 inet"3.1"..L216t>n216 < case l="x+v3.7+code=HCI_SCODATA_PKT"earch"> dref">HCI_SCODATA_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L217t>n217 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_SCO_HEADER"earch"> dref">RECV_WAIT_SCO_HEADER inet"3.1"..L218t>n218 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=HCI_SCO_HDR_SIZE"earch"> dref">HCI_SCO_HDR_SIZE inet"3.1"..L219t>n219 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L220t>n220 inet"3.1"..L221t>n221 < default:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L222t>n222 < lxr_search"> commens">/* Unknown packet */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L223t>n223 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Unknown HCI packet wic" s2=" 0x%02x receth/d"an clas, l="x+v3.7+code= _cb"earch"> dref"> _cb <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)-/spaa="x+v3.7+code=pkt_s2=""earch"> dref">pkt_s2=" <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L224t>n224 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ghtt"earch"> dref">shtt <.l="x+v3.7+code=err_rx"earch"> dref">err_rx <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L225t>n225 < l="x+v3.7+code=clear_bit"earch"> dref">clear_bit <(l="x+v3.7+code=HCI_RUNNING"earch"> dref">HCI_RUNNING <, &(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=flags"earch"> dref">flags <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L226t>n226 inet"3.1"..L227t>n227 < l="x+v3.7+code=kfree_gkb"earch"> dref">kfree_gkb <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L228t>n228 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb < = l="x+v3.7+code=NULL"earch"> dref">NULL inet"3.1"..L229t>n229 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L230t>n230 inet"3.1"..L231t>n231 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L232t>n232 inet"3.1"..L233t>n233 < } else {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L234t>n234 inet"3.1"..L235t>n235 < *l="x+v3.7+code=gkb_put"earch"> dref">skb_put <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <, 1) = l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_RX"earch"> dref">UART_RX <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L236t>n236 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count <--as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L237t>n237 inet"3.1"..L238t>n238 < if (l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < == 0) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L239t>n239 inet"3.1"..L240t>n240 < int l="x+v3.7+code=dlux+varch"> dref">dlen inet"3.1"..L241t>n241 < struct l="x+v3.7+code=hci_evens_hdr"earch"> dref">hci_evens_hdr < *l="x+v3.7+code=eh"earch"> dref">eh inet"3.1"..L242t>n242 < struct l="x+v3.7+code=hci_acl_hdr"earch"> dref">hci_acl_hdr < *l="x+v3.7+code=ah"earch"> dref">ah inet"3.1"..L243t>n243 < struct l="x+v3.7+code=hci_sco_hdr"earch"> dref">hci_sco_hdr < *l="x+v3.7+code=sh"earch"> dref">sh inet"3.1"..L244t>n244 inet"3.1"..L245t>n245 inet"3.1"..L246t>n246 < switch (l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L247t>n247 inet"3.1"..L248t>n248 < case l="x+v3.7+code=RECV_WAIT_EVENT_HEADER"earch"> dref">RECV_WAIT_EVENT_HEADER <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L249t>n249 < l="x+v3.7+code=eh"earch"> dref">eh < = l="x+v3.7+code=hci_evens_hdr"earch"> dref">hci_evens_hdr <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L250t>n250 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_DATA"earch"> dref">RECV_WAIT_DATA inet"3.1"..L251t>n251 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=eh"earch"> dref">eh <-/spaa="x+v3.7+code=plux+varch"> dref">plen inet"3.1"..L252t>n252 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L253t>n253 inet"3.1"..L254t>n254 < case l="x+v3.7+code=RECV_WAIT_ACL_HEADER"earch"> dref">RECV_WAIT_ACL_HEADER <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L255t>n255 < l="x+v3.7+code=ah"earch"> dref">ah < = l="x+v3.7+code=hci_acl_hdr"earch"> dref">hci_acl_hdr <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L256t>n256 < l="x+v3.7+code=dlux+varch"> dref">dlen < = l="x+v3.7+code=__le16_to_cpu+varch"> dref">__le16_to_cpu <(l="x+v3.7+code=ah"earch"> dref">ah <-/spaa="x+v3.7+code=dlux+varch"> dref">dlen <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L257t>n257 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_DATA"earch"> dref">RECV_WAIT_DATA inet"3.1"..L258t>n258 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=dlux+varch"> dref">dlen inet"3.1"..L259t>n259 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L260t>n260 inet"3.1"..L261t>n261 < case l="x+v3.7+code=RECV_WAIT_SCO_HEADER"earch"> dref">RECV_WAIT_SCO_HEADER <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L262t>n262 < l="x+v3.7+code=sh"earch"> dref">sh < = l="x+v3.7+code=hci_sco_hdr"earch"> dref">hci_sco_hdr <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L263t>n263 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_DATA"earch"> dref">RECV_WAIT_DATA inet"3.1"..L264t>n264 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = l="x+v3.7+code=sh"earch"> dref">sh <-/spaa="x+v3.7+code=dlux+varch"> dref">dlen inet"3.1"..L265t>n265 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L266t>n266 inet"3.1"..L267t>n267 < case l="x+v3.7+code=RECV_WAIT_DATA"earch"> dref">RECV_WAIT_DATA <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L268t>n268 < l="x+v3.7+code=hci_recv_frame"earch"> dref">hci_recv_frame <(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L269t>n269 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb < = l="x+v3.7+code=NULL"earch"> dref">NULL inet"3.1"..L270t>n270 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L271t>n271 inet"3.1"..L272t>n272 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L273t>n273 inet"3.1"..L274t>n274 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L275t>n275 inet"3.1"..L276t>n276 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L277t>n277 inet"3.1"..L278t>n278 < lxr_search"> commens">/* Make sure we don't ghty here cs. long */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L279t>n279 < if (l="x+v3.7+code= oguscount"earch"> dref"> oguscount <++ /spa 16)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L280t>n280 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L281t>n281 inet"3.1"..L282t>n282 < } while (l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LSR"earch"> dref">UART_LSR <) & l="x+v3.7+code=UART_LSR_DR"earch"> dref">UART_LSR_DR <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L283t>n283 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L284t>n284 inet"3.1"..L285t>n285 inet"3.1"..L286t>n286 dref">irqrch(th_t < l="x+v3.7+code= dref"> dref">irq <, void *a="x+v3.7+code=dev dref">dev inet"3.1"..L287t>n287 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L288t>n288 < l="x+v3.7+code= dref"> dref">info < = l="x+v3.7+code=dev dref">dev inet"3.1"..L289t>n289 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase inet"3.1"..L290t>n290 < int l="x+v3.7+code= oguscount"earch"> dref"> oguscount < = 0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L291t>n291 < int l="x+v3.7+code=iir"earch"> dref">iir <, l="x+v3.7+code=lsr"earch"> dref">lsr inet"3.1"..L292t>n292 < l="x+v3.7+code=irqrch(th_t"earch"> dref">irqrch(th_t < l="x+v3.7+code=r"earch"> dref">r < = l="x+v3.7+code=IRQ_NONE"earch"> dref">IRQ_NONE inet"3.1"..L293t>n293 inet"3.1"..L294t>n294 < if (!l="x+v3.7+code=info"earch"> dref">info < || !l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L295t>n295 < lxr_search"> commens">/* our irq handler is shared */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L296t>n296 < rch(thil="x+v3.7+code=IRQ_NONE"earch"> dref">IRQ_NONE inet"3.1"..L297t>n297 inet"3.1"..L298t>n298 < l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L299t>n299 inet"3.1"..L300t>n300 < l="x+v3.7+code=spin_lock"earch"> dref">spin_lock <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L301t>n301 inet"3.1"..L302t>n302 < l="x+v3.7+code=iir"earch"> dref">iir < = l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IIR"earch"> dref">UART_IIR <) & l="x+v3.7+code=UART_IIR_ID"earch"> dref">UART_IIR_ID inet"3.1"..L303t>n303 < while (l="x+v3.7+code=iir"earch"> dref">iir <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L304t>n304 < l="x+v3.7+code=r"earch"> dref">r < = l="x+v3.7+code=IRQ_HANDLED"earch"> dref">IRQ_HANDLED inet"3.1"..L305t>n305 inet"3.1"..L306t>n306 < lxr_search"> commens">/* Clear interrupt */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L307t>n307 < l="x+v3.7+code=lsr"earch"> dref">lsr < = l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LSR"earch"> dref">UART_LSR <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L308t>n308 inet"3.1"..L309t>n309 < switch (l="x+v3.7+code=iir"earch"> dref">iir <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L310t>n310 < case l="x+v3.7+code=UART_IIR_RLSI"earch"> dref">UART_IIR_RLSI <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L311t>n311 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"RLSI"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L312t>n312 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L313t>n313 < case l="x+v3.7+code=UART_IIR_RDI"earch"> dref">UART_IIR_RDI <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L314t>n314 < lxr_search"> commens">/* Receth/ interrupt */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L315t>n315 < l="x+v3.7+code= dref"> dref">info <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L316t>n316 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L317t>n317 < case l="x+v3.7+code=UART_IIR_THRI"earch"> dref">UART_IIR_THRI <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L318t>n318 < if (l="x+v3.7+code=lsr"earch"> dref">lsr < & l="x+v3.7+code=UART_LSR_THRE"earch"> dref">UART_LSR_THRE <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L319t>n319 < lxr_search"> commens">/* Transmitter ready data */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L320t>n320 < l="x+v3.7+code= dref"> dref">info <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L321t>n321 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L322t>n322 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L323t>n323 < default:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L324t>n324 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Unhandled IIR=%#x"an clas, l="x+v3.7+code=iir"earch"> dref">iir <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L325t>n325 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L326t>n326 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L327t>n327 inet"3.1"..L328t>n328 < lxr_search"> commens">/* Make sure we don't ghty here cs. long */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L329t>n329 < if (l="x+v3.7+code= oguscount"earch"> dref"> oguscount <++ /spa 100)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L330t>n330 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L331t>n331 inet"3.1"..L332t>n332 < l="x+v3.7+code=iir"earch"> dref">iir < = l="x+v3.7+code=inb"earch"> dref">inb <(l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IIR"earch"> dref">UART_IIR <) & l="x+v3.7+code=UART_IIR_ID"earch"> dref">UART_IIR_ID inet"3.1"..L333t>n333 inet"3.1"..L334t>n334 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L335t>n335 inet"3.1"..L336t>n336 < l="x+v3.7+code=spin_unlock"earch"> dref">spin_unlock <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L337t>n337 inet"3.1"..L338t>n338 < rch(thil="x+v3.7+code=r"earch"> dref">r inet"3.1"..L339t>n339 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L340t>n340 inet"3.1"..L341t>n341 inet"3.1"..L342t>n342 dref"> dref"> dref">info <, unsigned int l="x+v3.7+code=speed"earch"> dref">speed <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L343t>n343 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L344t>n344 < unsigned long l="x+v3.7+code=flags"earch"> dref">flags inet"3.1"..L345t>n345 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase inet"3.1"..L346t>n346 < int l="x+v3.7+code=fcr"earch"> dref">fcr commens">/* FIFO control rcg */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L347t>n347 < int l="x+v3.7+code=lcr"earch"> dref">lcr commens">/* Line control rcg */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L348t>n348 < int l="x+v3.7+code=divisor"earch"> dref">divisor inet"3.1"..L349t>n349 inet"3.1"..L350t>n350 < if (!l="x+v3.7+code=info"earch"> dref">info <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L351t>n351 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Unknown device"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L352t>n352 < rch(thas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L353t>n353 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L354t>n354 inet"3.1"..L355t>n355 < l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L356t>n356 inet"3.1"..L357t>n357 < l="x+v3.7+code=spin_lock_irqsah/"earch"> dref">spin_lock_irqsah/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L358t>n358 inet"3.1"..L359t>n359 < lxr_search"> commens">/* T(thioff interrupts */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L360t>n360 < l="x+v3.7+code=outb"earch"> dref">outb <(0, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IER"earch"> dref">UART_IER <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L361t>n361 inet"3.1"..L362t>n362 < l="x+v3.7+code=divisor"earch"> dref">divisor < = l="x+v3.7+code=SPEED_MAX"earch"> dref">SPEED_MAX < / l="x+v3.7+code=speed"earch"> dref">speed inet"3.1"..L363t>n363 inet"3.1"..L364t>n364 < l="x+v3.7+code=fcr"earch"> dref">fcr < = l="x+v3.7+code=UART_FCR_ENABLE_FIFO"earch"> dref">UART_FCR_ENABLE_FIFO < | l="x+v3.7+code=UART_FCR_CLEAR_RCVR"earch"> dref">UART_FCR_CLEAR_RCVR < | l="x+v3.7+code=UART_FCR_CLEAR_XMIT"earch"> dref">UART_FCR_CLEAR_XMIT inet"3.1"..L365t>n365 inet"3.1"..L366t>n366 < lxr_search"> commens">/* an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L367t>n367 commens"> * Use trigger level 1 to avoid 3 ms. timeout delay at 9600 bps, andan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L368t>n368 commens"> * almost 1,7 ms at 19200 bps. At speeds above that we c_sejust forgetan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L369t>n369 commens"> * about this timeout since it will always be fast enough. an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L370t>n370 commens"> */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L371t>n371 inet"3.1"..L372t>n372 < if (l="x+v3.7+code=speed"earch"> dref">speed < < 38400)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L373t>n373 < l="x+v3.7+code=fcr"earch"> dref">fcr < |= l="x+v3.7+code=UART_FCR_TRIGGER_1"earch"> dref">UART_FCR_TRIGGER_1 inet"3.1"..L374t>n374 < elses<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L375t>n375 < l="x+v3.7+code=fcr"earch"> dref">fcr < |= l="x+v3.7+code=UART_FCR_TRIGGER_14"earch"> dref">UART_FCR_TRIGGER_14 inet"3.1"..L376t>n376 inet"3.1"..L377t>n377 < lxr_search"> commens">/* Brt_cs.c" c_rds use 8N1 */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L378t>n378 < l="x+v3.7+code=lcr"earch"> dref">lcr < = l="x+v3.7+code=UART_LCR_WLEN8"earch"> dref">UART_LCR_WLEN8 inet"3.1"..L379t>n379 inet"3.1"..L380t>n380 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=UART_LCR_DLAB"earch"> dref">UART_LCR_DLAB < | l="x+v3.7+code=lcr"earch"> dref">lcr <, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LCR"earch"> dref">UART_LCR <)a lxr_search"> commens">/* Set DLAB */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L381t>n381 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=divisor"earch"> dref">divisor < & 0xff, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_DLL"earch"> dref">UART_DLL <)a lxr_search"> commens">/* Set speed */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L382t>n382 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=divisor"earch"> dref">divisor < >/spa 8, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_DLM"earch"> dref">UART_DLM <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L383t>n383 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=lcr"earch"> dref">lcr <, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LCR"earch"> dref">UART_LCR <)a lxr_search"> commens">/* Set 8N1 */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L384t>n384 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=fcr"earch"> dref">fcr <, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_FCR"earch"> dref">UART_FCR <)a lxr_search"> commens">/* Enable FIFO's */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L385t>n385 inet"3.1"..L386t>n386 < lxr_search"> commens">/* T(thion interrupts */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L387t>n387 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=UART_IER_RLSI"earch"> dref">UART_IER_RLSI < | l="x+v3.7+code=UART_IER_RDI"earch"> dref">UART_IER_RDI < | l="x+v3.7+code=UART_IER_THRI"earch"> dref">UART_IER_THRI <, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IER"earch"> dref">UART_IER <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L388t>n388 inet"3.1"..L389t>n389 < l="x+v3.7+code=spin_unlock_irqrcstor/"earch"> dref">spin_unlock_irqrcstor/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L390t>n390 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L391t>n391 inet"3.1"..L392t>n392 inet"3.1"..L393t>n393 inet"3.1"..L394t>n394 commens">/* ======================== HCI interface ======================== */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L395t>n395 inet"3.1"..L396t>n396 inet"3.1"..L397t>n397 dref"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L398t>n398 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L399t>n399 < l="x+v3.7+code= dref"> dref">info < = l="x+v3.7+code=hci_get_drvdata"earch"> dref">hci_get_drvdata <(l="x+v3.7+code=hdev"earch"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L400t>n400 inet"3.1"..L401t>n401 < lxr_search"> commens">/* Drop TX queue */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L402t>n402 < l="x+v3.7+code=skb_queue_purg/"earch"> dref">skb_queue_purg/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=txq"earch"> dref">txq <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L403t>n403 inet"3.1"..L404t>n404 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L405t>n405 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L406t>n406 inet"3.1"..L407t>n407 inet"3.1"..L408t>n408 dref"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L409t>n409 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L410t>n410 < l="x+v3.7+code=set_bit"earch"> dref">set_bit <(l="x+v3.7+code=HCI_RUNNING"earch"> dref">HCI_RUNNING <, &(l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=flags"earch"> dref">flags <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L411t>n411 inet"3.1"..L412t>n412 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L413t>n413 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L414t>n414 inet"3.1"..L415t>n415 inet"3.1"..L416t>n416 dref"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L417t>n417 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L418t>n418 < if (!l="x+v3.7+code=test_and_clear_bit"earch"> dref">test_and_clear_bit <(l="x+v3.7+code=HCI_RUNNING"earch"> dref">HCI_RUNNING <, &(l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=flags"earch"> dref">flags <)))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L419t>n419 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L420t>n420 inet"3.1"..L421t>n421 < l="x+v3.7+code= dref"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L422t>n422 inet"3.1"..L423t>n423 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L424t>n424 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L425t>n425 inet"3.1"..L426t>n426 inet"3.1"..L427t>n427 dref"> dref">sk_buff < *l="x+v3.7+code=gkb"earch"> dref">gkb <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L428t>n428 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L429t>n429 < l="x+v3.7+code= dref"> dref">info inet"3.1"..L430t>n430 < struct l="x+v3.7+code=hci_dev"earch"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev < = (struct l="x+v3.7+code=hci_dev"earch"> dref">hci_dev < *)(l="x+v3.7+code=skb"earch"> dref">gkb <-/spaa="x+v3.7+code=dev"earch"> dref">dev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L431t>n431 inet"3.1"..L432t>n432 < if (!l="x+v3.7+code=hdev"earch"> dref">hdev <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L433t>n433 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Frame unknown HCI device (hdev=NULL)"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L434t>n434 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L435t>n435 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L436t>n436 inet"3.1"..L437t>n437 < l="x+v3.7+code=info"earch"> dref">info < = l="x+v3.7+code=hci_get_drvdata"earch"> dref">hci_get_drvdata <(l="x+v3.7+code=hdev"earch"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L438t>n438 inet"3.1"..L439t>n439 < switch (l="x+v3.7+code=b dref">b dref">gkb <)-/spaa="x+v3.7+code=pkt_type"earch"> dref">pkt_type <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L440t>n440 < case l="x+v3.7+code=HCI_COMMAND_PKT"earch"> dref">HCI_COMMAND_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L441t>n441 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ght."earch"> dref">ght. <.a="x+v3.7+code=cmd_tx"earch"> dref">cmd_tx <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L442t>n442 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L443t>n443 < case l="x+v3.7+code=HCI_ACLDATA_PKT"earch"> dref">HCI_ACLDATA_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L444t>n444 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ght."earch"> dref">ght. <.a="x+v3.7+code=acl_tx"earch"> dref">acl_tx <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L445t>n445 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L446t>n446 < case l="x+v3.7+code=HCI_SCODATA_PKT"earch"> dref">HCI_SCODATA_PKT <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L447t>n447 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ght."earch"> dref">ght. <.a="x+v3.7+code=sco_tx"earch"> dref">sco_tx <++as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L448t>n448 < breakas<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L449t>n449 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L450t>n450 inet"3.1"..L451t>n451 < lxr_search"> commens">/* Prepend gkb with frame type */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L452t>n452 < l="x+v3.7+code=memcpy"earch"> dref">memcpy <(l="x+v3.7+code=gkb_push"earch"> dref">gkb_push <(l="x+v3.7+code=gkb"earch"> dref">gkb <, 1), &l="x+v3.7+code=b dref">b dref">gkb <)-/spaa="x+v3.7+code=pkt_type"earch"> dref">pkt_type <, 1)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L453t>n453 < l="x+v3.7+code=skb_queue_tail"earch"> dref">skb_queue_tail <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=txq"earch"> dref">txq <), l="x+v3.7+code=gkb"earch"> dref">gkb <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L454t>n454 inet"3.1"..L455t>n455 < l="x+v3.7+code= dref"> dref">info <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L456t>n456 inet"3.1"..L457t>n457 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L458t>n458 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L459t>n459 inet"3.1"..L460t>n460 inet"3.1"..L461t>n461 dref"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev <, unsigned int l="x+v3.7+code=cmd"earch"> dref">cmd <, unsigned long l="x+v3.7+code=arg"earch"> dref">arg <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L462t>n462 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L463t>n463 < rch(thi-l="x+v3.7+code=ENOIOCTLCMD"earch"> dref">ENOIOCTLCMD inet"3.1"..L464t>n464 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L465t>n465 inet"3.1"..L466t>n466 inet"3.1"..L467t>n467 inet"3.1"..L468t>n468 commens">/* ======================== Card gervices HCI interaction ======================== */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L469t>n469 inet"3.1"..L470t>n470 inet"3.1"..L471t>n471 dref"> dref"> dref">info <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L472t>n472 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L473t>n473 < unsigned long l="x+v3.7+code=flags"earch"> dref">flags inet"3.1"..L474t>n474 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L475t>n475 < struct l="x+v3.7+code=hci_dev"earch"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev inet"3.1"..L476t>n476 inet"3.1"..L477t>n477 < l="x+v3.7+code=spin_lock_init"earch"> dref">spin_lock_init <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L478t>n478 inet"3.1"..L479t>n479 < l="x+v3.7+code=skb_queue_head_init"earch"> dref">skb_queue_head_init <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=txq"earch"> dref">txq <))as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L480t>n480 inet"3.1"..L481t>n481 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_ght.e"earch"> dref">rx_ght.e < = l="x+v3.7+code=RECV_WAIT_PACKET_TYPE"earch"> dref">RECV_WAIT_PACKET_TYPE inet"3.1"..L482t>n482 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_count"earch"> dref">rx_count < = 0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L483t>n483 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=rx_gkb"earch"> dref">rx_gkb < = l="x+v3.7+code=NULL"earch"> dref">NULL inet"3.1"..L484t>n484 inet"3.1"..L485t>n485 < lxr_search"> commens">/* Initialize HCI device */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L486t>n486 < l="x+v3.7+code=hdev"earch"> dref">hdev < = l="x+v3.7+code=hci_alloc_dev"earch"> dref">hci_alloc_dev <()as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L487t>n487 < if (!l="x+v3.7+code=hdev"earch"> dref">hdev <) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L488t>n488 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Can't alloct.e HCI device"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L489t>n489 < rch(thi-l="x+v3.7+code=ENOMEM"earch"> dref">ENOMEM inet"3.1"..L490t>n490 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L491t>n491 inet"3.1"..L492t>n492 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev < = l="x+v3.7+code=hdev"earch"> dref">hdev inet"3.1"..L493t>n493 inet"3.1"..L494t>n494 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=bus"earch"> dref">bus < = l="x+v3.7+code=HCI_PCCARD"earch"> dref">HCI_PCCARD inet"3.1"..L495t>n495 < l="x+v3.7+code=hci_set_drvdata"earch"> dref">hci_set_drvdata <(l="x+v3.7+code=hdev"earch"> dref">hdev <, l="x+v3.7+code=info"earch"> dref">info <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L496t>n496 < l="x+v3.7+code=SET_HCIDEV_DEV"earch"> dref">SET_HCIDEV_DEV <(l="x+v3.7+code=hdev"earch"> dref">hdev <, &l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=dev"earch"> dref">dev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L497t>n497 inet"3.1"..L498t>n498 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=opux+varch"> dref">opux < = l="x+v3.7+code= dref"> inet"3.1"..L499t>n499 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=close"earch"> dref">close < = l="x+v3.7+code= dref"> inet"3.1"..L500t>n500 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=flush"earch"> dref">flush < = l="x+v3.7+code= dref"> inet"3.1"..L501t>n501 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=gend"earch"> dref">send < = l="x+v3.7+code= dref"> inet"3.1"..L502t>n502 < l="x+v3.7+code=hdev"earch"> dref">hdev <-/spaa="x+v3.7+code=ioctl"earch"> dref">ioctl < = l="x+v3.7+code= dref"> inet"3.1"..L503t>n503 inet"3.1"..L504t>n504 < l="x+v3.7+code=spin_lock_irqsah/"earch"> dref">spin_lock_irqsah/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L505t>n505 inet"3.1"..L506t>n506 < lxr_search"> commens">/* Reset UART */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L507t>n507 < l="x+v3.7+code=outb"earch"> dref">outb <(0, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_MCR"earch"> dref">UART_MCR <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L508t>n508 inet"3.1"..L509t>n509 < lxr_search"> commens">/* T(thioff interrupts */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L510t>n510 < l="x+v3.7+code=outb"earch"> dref">outb <(0, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IER"earch"> dref">UART_IER <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L511t>n511 inet"3.1"..L512t>n512 < lxr_search"> commens">/* Initialize UART */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L513t>n513 < l="x+v3.7+code=outb"earch"> dref">outb <(l="x+v3.7+code=UART_LCR_WLEN8"earch"> dref">UART_LCR_WLEN8 <, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_LCR"earch"> dref">UART_LCR <)a lxr_search"> commens">/* Reset DLAB */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L514t>n514 < l="x+v3.7+code=outb"earch"> dref">outb <((l="x+v3.7+code=UART_MCR_DTR"earch"> dref">UART_MCR_DTR < | l="x+v3.7+code=UART_MCR_RTS"earch"> dref">UART_MCR_RTS < | l="x+v3.7+code=UART_MCR_OUT2"earch"> dref">UART_MCR_OUT2 <), l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_MCR"earch"> dref">UART_MCR <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L515t>n515 inet"3.1"..L516t>n516 < lxr_search"> commens">/* T(thion interrupts */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L517t>n517 < lxr_search"> commens">// outb(UART_IER_RLSI | UART_IER_RDI | UART_IER_THRI, iobase + UART_IER);an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L518t>n518 inet"3.1"..L519t>n519 < l="x+v3.7+code=spin_unlock_irqrcstor/"earch"> dref">spin_unlock_irqrcstor/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L520t>n520 inet"3.1"..L521t>n521 < l="x+v3.7+code= dref"> dref">info <, l="x+v3.7+code=DEFAULT_BAUD_RATE"earch"> dref">DEFAULT_BAUD_RATE <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L522t>n522 inet"3.1"..L523t>n523 < lxr_search"> commens">/* Timeout befor/ it is safe to send the first HCI packet */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L524t>n524 < l="x+v3.7+code=msleep"earch"> dref">msleep <(1000)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L525t>n525 inet"3.1"..L526t>n526 < lxr_search"> commens">/* Register HCI device */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L527t>n527 < if (l="x+v3.7+code=hci_register_dev"earch"> dref">hci_register_dev <(l="x+v3.7+code=hdev"earch"> dref">hdev <) < 0) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L528t>n528 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"Can't register HCI device"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L529t>n529 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev < = l="x+v3.7+code=NULL"earch"> dref">NULL inet"3.1"..L530t>n530 < l="x+v3.7+code=hci_free_dev"earch"> dref">hci_free_dev <(l="x+v3.7+code=hdev"earch"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L531t>n531 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L532t>n532 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L533t>n533 inet"3.1"..L534t>n534 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L535t>n535 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L536t>n536 inet"3.1"..L537t>n537 inet"3.1"..L538t>n538 dref"> dref"> dref">info <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L539t>n539 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L540t>n540 < unsigned long l="x+v3.7+code=flags"earch"> dref">flags inet"3.1"..L541t>n541 < unsigned int l="x+v3.7+code=iobase"earch"> dref">iobase < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt inet"3.1"..L542t>n542 < struct l="x+v3.7+code=hci_dev"earch"> dref">hci_dev < *l="x+v3.7+code=hdev"earch"> dref">hdev < = l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=hdev"earch"> dref">hdev inet"3.1"..L543t>n543 inet"3.1"..L544t>n544 < if (!l="x+v3.7+code=hdev"earch"> dref">hdev <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L545t>n545 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L546t>n546 inet"3.1"..L547t>n547 < l="x+v3.7+code= dref"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L548t>n548 inet"3.1"..L549t>n549 < l="x+v3.7+code=spin_lock_irqsah/"earch"> dref">spin_lock_irqsah/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L550t>n550 inet"3.1"..L551t>n551 < lxr_search"> commens">/* Reset UART */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L552t>n552 < l="x+v3.7+code=outb"earch"> dref">outb <(0, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_MCR"earch"> dref">UART_MCR <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L553t>n553 inet"3.1"..L554t>n554 < lxr_search"> commens">/* T(thioff interrupts */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L555t>n555 < l="x+v3.7+code=outb"earch"> dref">outb <(0, l="x+v3.7+code=iobase"earch"> dref">iobase < + l="x+v3.7+code=UART_IER"earch"> dref">UART_IER <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L556t>n556 inet"3.1"..L557t>n557 < l="x+v3.7+code=spin_unlock_irqrcstor/"earch"> dref">spin_unlock_irqrcstor/ <(&(l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=lock"earch"> dref">lock <), l="x+v3.7+code=flags"earch"> dref">flags <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L558t>n558 inet"3.1"..L559t>n559 < l="x+v3.7+code=hci_unregister_dev"earch"> dref">hci_unregister_dev <(l="x+v3.7+code=hdev"earch"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L560t>n560 < l="x+v3.7+code=hci_free_dev"earch"> dref">hci_free_dev <(l="x+v3.7+code=hdev"earch"> dref">hdev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L561t>n561 inet"3.1"..L562t>n562 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L563t>n563 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L564t>n564 inet"3.1"..L565t>n565 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L566t>n566 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L567t>n567 < l="x+v3.7+code= dref"> dref">info inet"3.1"..L568t>n568 inet"3.1"..L569t>n569 < lxr_search"> commens">/* Cret.e new info device */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L570t>n570 < l="x+v3.7+code=info"earch"> dref">info < = l="x+v3.7+code=devm_kzalloc"earch"> dref">devm_kzalloc <(&l="x+v3.7+code= ink"earch"> dref">link <-/spaa="x+v3.7+code=dev"earch"> dref">dev <, sizeof(*l="x+v3.7+code=info"earch"> dref">info <), l="x+v3.7+code=GFP_KERNEL"earch"> dref">GFP_KERNEL <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L571t>n571 < if (!l="x+v3.7+code=info"earch"> dref">info <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L572t>n572 < rch(thi-l="x+v3.7+code=ENOMEM"earch"> dref">ENOMEM inet"3.1"..L573t>n573 inet"3.1"..L574t>n574 < l="x+v3.7+code=info"earch"> dref">info <-/spaa="x+v3.7+code=p_dev"earch"> dref">p_dev < = l="x+v3.7+code= ink"earch"> dref">link inet"3.1"..L575t>n575 < l="x+v3.7+code= ink"earch"> dref">link <-/spaa="x+v3.7+code=poth"earch"> dref">poth < = l="x+v3.7+code=info"earch"> dref">info inet"3.1"..L576t>n576 inet"3.1"..L577t>n577 < l="x+v3.7+code= ink"earch"> dref">link <-/spaa="x+v3.7+code=config_flags"earch"> dref">config_flags < |= l="x+v3.7+code=CONF_ENABLE_IRQ"earch"> dref">CONF_ENABLE_IRQ < | l="x+v3.7+code=CONF_AUTO_SET_VPP"earch"> dref">CONF_AUTO_SET_VPP < |s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L578t>n578 < l="x+v3.7+code=CONF_AUTO_SET_IO"earch"> dref">CONF_AUTO_SET_IO inet"3.1"..L579t>n579 inet"3.1"..L580t>n580 < rch(thil="x+v3.7+code= dref"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L581t>n581 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L582t>n582 inet"3.1"..L583t>n583 inet"3.1"..L584t>n584 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L585t>n585 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L586t>n586 < l="x+v3.7+code= dref"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L587t>n587 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L588t>n588 inet"3.1"..L589t>n589 dref"> dref">pcmcia_device < *l="x+v3.7+code=p_dev"earch"> dref">p_dev <, voidi*l="x+v3.7+code=poth_data"earch"> dref">poth_data <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L590t>n590 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L591t>n591 < int *l="x+v3.7+code=try"earch"> dref">try < = l="x+v3.7+code=poth_data"earch"> dref">poth_data inet"3.1"..L592t>n592 inet"3.1"..L593t>n593 < if (!l="x+v3.7+code=try"earch"> dref">try <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L594t>n594 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=io_ ines"earch"> dref">io_ ines < = 16as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L595t>n595 inet"3.1"..L596t>n596 < if ((l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=end"earch"> dref">end < != 8) || (l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt < == 0))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L597t>n597 < rch(thi-l="x+v3.7+code=EINVAL"earch"> dref">EINVAL inet"3.1"..L598t>n598 inet"3.1"..L599t>n599 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=end"earch"> dref">end < = 8as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L600t>n600 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=flags"earch"> dref">flags < &= ~a="x+v3.7+code=IO_DATA_PATH_WIDTH"earch"> dref">IO_DATA_PATH_WIDTH inet"3.1"..L601t>n601 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=flags"earch"> dref">flags < |= l="x+v3.7+code=IO_DATA_PATH_WIDTH_8"earch"> dref">IO_DATA_PATH_WIDTH_8 inet"3.1"..L602t>n602 inet"3.1"..L603t>n603 < rch(thil="x+v3.7+code=pcmcia_request_io"earch"> dref">pcmcia_request_io <(l="x+v3.7+code=p_dev"earch"> dref">p_dev <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L604t>n604 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L605t>n605 inet"3.1"..L606t>n606 dref"> dref">pcmcia_device < *l="x+v3.7+code=p_dev"earch"> dref">p_dev <,s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L607t>n607 < voidi*l="x+v3.7+code=poth_data"earch"> dref">poth_data <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L608t>n608 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L609t>n609 < ght.pn unsigned int l="x+v3.7+code=base"earch"> dref">base <[5] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x0 }as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L610t>n610 < int l="x+v3.7+code=j"earch"> dref">j inet"3.1"..L611t>n611 inet"3.1"..L612t>n612 < if (l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=io_ ines"earch"> dref">io_ ines < /spa 3)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L613t>n613 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L614t>n614 inet"3.1"..L615t>n615 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=flags"earch"> dref">flags < &= ~a="x+v3.7+code=IO_DATA_PATH_WIDTH"earch"> dref">IO_DATA_PATH_WIDTH inet"3.1"..L616t>n616 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=flags"earch"> dref">flags < |= l="x+v3.7+code=IO_DATA_PATH_WIDTH_8"earch"> dref">IO_DATA_PATH_WIDTH_8 inet"3.1"..L617t>n617 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=end"earch"> dref">end < = 8as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L618t>n618 inet"3.1"..L619t>n619 < (l="x+v3.7+code=j"earch"> dref">j < = 0a l="x+v3.7+code=j"earch"> dref">j < < 5a l="x+v3.7+code=j"earch"> dref">j <++) {s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L620t>n620 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=resoupoe"earch"> dref">resoupoe <[0]-/spaa="x+v3.7+code=ghtrt"earch"> dref">shtrt < = l="x+v3.7+code=base"earch"> dref">base <[l="x+v3.7+code=j"earch"> dref">j <]as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L621t>n621 < l="x+v3.7+code=p_dev"earch"> dref">p_dev <-/spaa="x+v3.7+code=io_ ines"earch"> dref">io_ ines < = l="x+v3.7+code=base"earch"> dref">base <[l="x+v3.7+code=j"earch"> dref">j <] ? 16 : 3as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L622t>n622 < if (!l="x+v3.7+code=pcmcia_request_io"earch"> dref">pcmcia_request_io <(l="x+v3.7+code=p_dev"earch"> dref">p_dev <))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L623t>n623 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L624t>n624 < }s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L625t>n625 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L626t>n626 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L627t>n627 inet"3.1"..L628t>n628 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L629t>n629 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L630t>n630 < l="x+v3.7+code= dref"> dref">info < = l="x+v3.7+code= ink"earch"> dref">link <-/spaa="x+v3.7+code=poth"earch"> dref">poth inet"3.1"..L631t>n631 < int l="x+v3.7+code=i"earch"> dref">i inet"3.1"..L632t>n632 < int l="x+v3.7+code=try"earch"> dref">try inet"3.1"..L633t>n633 inet"3.1"..L634t>n634 < lxr_search"> commens">/* First pch": look a config ensry that looks normal.an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L635t>n635 commens"> Two trie": without IO aliases, then with aliases */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L636t>n636 < (l="x+v3.7+code=try"earch"> dref">try < = 0a l="x+v3.7+code=try"earch"> dref">try < < 2a l="x+v3.7+code=try"earch"> dref">try <++)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L637t>n637 < if (!l="x+v3.7+code=pcmcia_loop dref">pcmcia_loop dref">link <, l="x+v3.7+code= dref"> dref">try <))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L638t>n638 < goto l="x+v3.7+code=found_port"earch"> dref">found_port inet"3.1"..L639t>n639 inet"3.1"..L640t>n640 < lxr_search"> commens">/* Second pch": sry to find _seensry that isn't picky aboutan class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L641t>n641 commens"> its base address, then sry to grab _sy ghtndard gerial port class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L642t>n642 commens"> address, tnd finally sry to get _sy free port. */an class<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L643t>n643 < if (!l="x+v3.7+code=pcmcia_loop dref">pcmcia_loop dref">link <, l="x+v3.7+code= dref"> dref">NULL <))s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L644t>n644 < goto l="x+v3.7+code=found_port"earch"> dref">found_port inet"3.1"..L645t>n645 inet"3.1"..L646t>n646 < l="x+v3.7+code=BT_ERR"earch"> dref">BT_ERR <(lxr_search"> string">"No usable port range found"an clas)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L647t>n647 < goto l="x+v3.7+code=failed"earch"> dref">failed inet"3.1"..L648t>n648 inet"3.1"..L649t>n649 dref">found_port <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L650t>n650 < l="x+v3.7+code=i"earch"> dref">i < = l="x+v3.7+code=pcmcia_request_irq"earch"> dref">pcmcia_request_irq <(l="x+v3.7+code= ink"earch"> dref">link <, l="x+v3.7+code= dref"> inet"3.1"..L651t>n651 < if (l="x+v3.7+code=i"earch"> dref">i < != 0)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L652t>n652 < goto l="x+v3.7+code=failed"earch"> dref">failed inet"3.1"..L653t>n653 inet"3.1"..L654t>n654 < l="x+v3.7+code=i"earch"> dref">i < = l="x+v3.7+code=pcmcia_enable_device"earch"> dref">pcmcia_enable_device <(l="x+v3.7+code= ink"earch"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L655t>n655 < if (l="x+v3.7+code=i"earch"> dref">i < != 0)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L656t>n656 < goto l="x+v3.7+code=failed"earch"> dref">failed inet"3.1"..L657t>n657 inet"3.1"..L658t>n658 < if (l="x+v3.7+code= dref"> dref">info <) != 0)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L659t>n659 < goto l="x+v3.7+code=failed"earch"> dref">failed inet"3.1"..L660t>n660 inet"3.1"..L661t>n661 < rch(thi0as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L662t>n662 inet"3.1"..L663t>n663 dref">failed <:s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L664t>n664 < l="x+v3.7+code= dref"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L665t>n665 < rch(thi-l="x+v3.7+code=ENODEV"earch"> dref">ENODEV inet"3.1"..L666t>n666 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L667t>n667 inet"3.1"..L668t>n668 inet"3.1"..L669t>n669 dref"> dref">pcmcia_device < *l="x+v3.7+code= ink"earch"> dref">link <)s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L670t>n670 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L671t>n671 < l="x+v3.7+code= dref"> dref">info < = l="x+v3.7+code= ink"earch"> dref">link <-/spaa="x+v3.7+code=poth"earch"> dref">poth inet"3.1"..L672t>n672 inet"3.1"..L673t>n673 < l="x+v3.7+code= dref"> dref">info <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L674t>n674 inet"3.1"..L675t>n675 < l="x+v3.7+code=pcmcia_disable_device"earch"> dref">pcmcia_disable_device <(l="x+v3.7+code= ink"earch"> dref">link <)as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L676t>n676 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L677t>n677 inet"3.1"..L678t>n678 dref">pcmcia_device_id < l="x+v3.7+code= dref">b inet"3.1"..L679t>n679 < lxr_search"> commens">/* don't use this ooth/b. Use gerial inet"3.1"..L680t>n680 < l="x+v3.7+code=PCMCIA_DEVICE_NULL"earch"> dref">PCMCIA_DEVICE_NULL inet"3.1"..L681t>n681 <}as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L682t>n682 dref">MODULE_DEVICE_TABLE <(l="x+v3.7+code=pcmcia"earch"> dref">pcmcia <, l="x+v3.7+code= dref">b inet"3.1"..L683t>n683 inet"3.1"..L684t>n684 dref">pcmcia_doth/b < l="x+v3.7+code= dref"> inet"3.1"..L685t>n685 < .l="x+v3.7+code=own/b"earch"> dref">own/b < = l="x+v3.7+code=THIS_MODULE"earch"> dref">THIS_MODULE <,s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L686t>n686 < .l="x+v3.7+code=3.1""earch"> dref">3.1" < = lxr_search"> string">" inet"3.1"..L687t>n687 < .l="x+v3.7+code=probe"earch"> dref">probe < = l="x+v3.7+code= dref"> inet"3.1"..L688t>n688 < .l="x+v3.7+code=remoh/"earch"> dref">remoh/ < = l="x+v3.7+code= dref"> inet"3.1"..L689t>n689 < .l="x+v3.7+code=id_table"earch"> dref">id_table < = l="x+v3.7+code= dref">b inet"3.1"..L690t>n690 <}as<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L691t>n691 inet"3.1"..L692t>n692 dref">_ dref">init_ inet"3.1"..L693t>n693 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L694t>n694 < rch(thil="x+v3.7+code=pcmcia_register_doth/b"earch"> dref">pcmcia_register_doth/b <(&l="x+v3.7+code= dref"> inet"3.1"..L695t>n695 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L696t>n696 inet"3.1"..L697t>n697 inet"3.1"..L698t>n698 dref">_ dref">exit_ inet"3.1"..L699t>n699 <{s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L700t>n700 < l="x+v3.7+code=pcmcia_unregister_doth/b"earch"> dref">pcmcia_unregister_doth/b <(&l="x+v3.7+code= dref"> inet"3.1"..L701t>n701 <}s<="x+v3.7ooth/btuart_cs.c"> inet"3.1"..L702t>n702 inet"3.1"..L703t>n703 dref">module dref">init_ inet"3.1"..L704t>n704 dref">module dref">exit_ inet"3.1"..L705t>n705 <
fs.c/b"> The original LXR software by the <="x+v3.7http://soupoeforge.net/projects/lxb">LXR community <, this experimensal h/btion by <="x+v3.7mailto:lxb@ inux.no">lxb@ inux.no <.
subfs.c/b"> lxb. inux.no kindly hosted by <="x+v3.7http://www.redpill- inpro.no">Redpill Linpro AS <, provider of Linux consulting tnd opert.pons gervices gince 1995.