summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorGao Pan <b54642@freescale.com>2015-12-09 11:08:22 +0800
committerWolfram Sang <wsa@the-dreams.de>2016-01-03 19:06:50 +0100
commita5f650182bcf956b2b0341575e8bff01e402224f (patch)
tree379b9a84ff590a2b7113b606bf2cbc359086143e /drivers/i2c
parent7ee24eb508d61e5b74dcc80f644adfb5916f7580 (diff)
downloadlinux-a5f650182bcf956b2b0341575e8bff01e402224f.tar.gz
linux-a5f650182bcf956b2b0341575e8bff01e402224f.tar.bz2
linux-a5f650182bcf956b2b0341575e8bff01e402224f.zip
i2c: imx: init bus recovery info before adding i2c adapter
During driver probe, i2c_imx_init_recovery_info() must come before i2c_add_numbered_adapter(), because the get/set_scl() functions are assigned in i2c_register_adapter() under the conditon that bus recover_info are initialized. Otherwise, get/set_scl() function pointers never get assigned. In such case, when i2c_generic_gpio_recovery() is used for bus recovery, there will be kernel crash because bri->set_scl is NULL. The solution to this bug is moving i2c_imx_init_recovery_info() before i2c_register_adapter(). Signed-off-by: Gao Pan <b54642@freescale.com> Signed-off-by: Fugang Duan <B38611@freescale.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-imx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 9bb0b056b25f..d4d853680ae4 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1119,6 +1119,8 @@ static int i2c_imx_probe(struct platform_device *pdev)
i2c_imx, IMX_I2C_I2CR);
imx_i2c_write_reg(i2c_imx->hwdata->i2sr_clr_opcode, i2c_imx, IMX_I2C_I2SR);
+ i2c_imx_init_recovery_info(i2c_imx, pdev);
+
/* Add I2C adapter */
ret = i2c_add_numbered_adapter(&i2c_imx->adapter);
if (ret < 0) {
@@ -1126,8 +1128,6 @@ static int i2c_imx_probe(struct platform_device *pdev)
goto clk_disable;
}
- i2c_imx_init_recovery_info(i2c_imx, pdev);
-
/* Set up platform driver data */
platform_set_drvdata(pdev, i2c_imx);
clk_disable_unprepare(i2c_imx->clk);
m=0z6K)895#W؟ɪ,<,) K揋^:B֡ (m4_^e+*["n1SDv|]:8mXaJ f~f-Kji+U;L].3W㽯 ϓӺqPxwzƱζ tkp~$ywCJ|aRF.w+FstWDotJ\^IZ.H8%Hӭǚm|oW3:a^jllꭾXB;1<)u_ERUvVC]3B9OàE^8]HyEv ~]TR9}3)K,ް-v"0wV17xy WIpZ&P_#'娈[=Ӷ I;י=d>9ŋ=xC"z,FDh%z#y=? muX&YK)q5"jG .J1oI3.DG8y֯OjLv=*!w{ll"%Cf~ntU}ֆ 0c_!J|mtPT^ЃqQQ5 Q![-9ل5 _hP}ӕܟA(.҆BR׽'oD4uw+F[VYlW/pf!n|eln7FsNlg ~vnm& 9RZp9nyZ (B* %/PJ4#7ܶXi^ $֪!["%!;[<)]oP6wFDJos-%,k08s(/uxqظ1W3;kH˨ųXutм+1tu 04gv K`d( ;(`pE,JbrFTF=T#Hrg}RAOz$|HM b4 /<Y a *oVc@d SӮPc9(*@ ɵ_~ތɝD?ɘ&]l;8A$мaƁgK5=FږӲS<׋͆ΗvH͇mP^ ,yFeFX>NRVzYb+eV( K#s\cICs1$}tMMUc'﨣N.,--|42/79ssG%~.F >g9;fra:Ql%'2hګ,[EWYֶ1=J1s[1v晊 _$5im$iR6ŖgjqmY]Dv_l㔮,NcV3̷s~9Y}>n |lUn&zL=rh0!X5ƹWx+sVd0]|1n&ksďKr?)$+ i?7g?kpɸOЮC I&䆠={*ݵ]3V$G#2kﶥcL3&>"8Mnǯ5=UMQUIcA|Sռ 9/˶:R};vzS\LdQ~$awL$16YP(b||R:]#: Eozt*5jfҳ#(/E)'ГBThu_YwUx_xR}RFD["G[چOCvSn[B(PB*'كfw,,˺P60 ]Y^|k7_fO]o[]W<,LݛYD{W#ywHht5ގj WmϪރ5ۢgں{t+^rҡt@cñ첪Sf߻΋-w!YA91{o=:35:ZAi[.0χR>׿qu,|/k>k6eUD-+xo6espcv{w5t-趏OI>2!lxv;] kꖟ藚~I-|Ўws-%LWҪގMgpzy^ 轜*`[j]4nfP;>M`Ϛ9`N*V|(p}Z?`&R a{rqyƘVwuu_SҰM/xF 8W 6'NrweV%[7Yf0%/~d{l}-\ko%+'*jY ]3~JN=Sdz'cXcn5?o+]Y_汽\ug>->Cwv6.o]%qJx,Knw|ؿj\菗o@Ǣ-a"!6mĪ0] Ey3rӊ5HC?ۄ1h\8VH_mw\ DžX#`UˤVX#"ƬEX#tcY"1VyJ|.n1dU[k1E^m*նmUUۜ6ĒHS@ 43HP kAP'a>hW)Uxx},݇Dt~Y HO^唹mq)+~]H ~LnjQ@s0S <dK"/n3b/7'^}o:ZDϪIUT? $@y{8t\ilwF?8ڒ~iT=Vdg'!3mdf鏜k̮^NRQ.eMۢ[Ɖ$qo=b7Gnx ;& _#CBn[CY'eJ~r!>qH  #"*5jC82ԱŬQ[V9q#ϟz[" ^Ӄ}Pݼf[nɎPT<(ʿo.}>us?{m.7/k/Wپ4{vdpr^E QS4t\͉o1xܲ˚C6Z5fӰ[jIZzYH=2 r HQ 1sZ3fCo7 gь@iڥBQmiPaZQ|r{MLNR@&A`z8;80]= 1k~dpR[t9]f˻~/QÖ>6gfےǖpx-ۿwAVTsl[xCbA{OfjL\,ouϖ艎d$d+.л6+o] zuGޑ U?ZDAW&*9yL6Yr05ym _OyBm~ g,q%i.y?[X o0͆{|,OF` 򲀸+.꓀$o:_c{>H9mx~8K EyuIw@>š~NZGt^5 `r/p[}Vۧv/h_e"+;FGGu80!ۣnF"Euh^:6 O:wzRTvㄫ˻Ϗ3euGuuU^_~ZipT1vvi\p!LAӑYpIK^~k~ I} -{6,Ͷot<74$k$S] Js7W'<]G2!3 dBy@8Jǡ;XCvL ٨[*W)vO m?'7%R.WD٥ϭo?b'oN7_kYJ ,3+r]5GGVc;qb xuqCj7UiZ:FBbF^g\4c9{"QQt[?aiL;@_D Hd,Wf'DA54 d"!dn?')&r`[hf_oMPG`Ýs;O|ڼeLWFN ϞρTF~]: 4Bmqj}tgE )a d9m؛EKٴwlfS'6c\)0Y]Νg_0 Ѐ-{9 ǻɏ)̽"p䐦o\`5G;0_ïVe׭@Vwq-rŠ%p`uz4fD|!rGgpwGznQRq=c{sq9(mXgwn~7m54YÏ#]t1Zh-mj`y6 ]$42qt:[c-S:tu͘Kh:K[vapΆy_j\v4G_1mq}A| wL,<9qtGGN6S珰z^ :T٨6RVܴNsm\l~^Ǹfڬò-ۻl|ݢŃ~A*7+H"_B&dU.ԥ`/~b ~sCv96"j۲qTn>X*.ޮ] uå_KT/FY(z[MaD^>x_5 #';4@=QJxg,^|p^P &NHqGxE5]-{4\aj 4 JpAk h-eF+qsmm{QrxRE{r^;$B1q+,/[4C7лMg`~,`´eC#/bL~ϯ]o[W@anǮ0;v$&l g/ VcH7:݌ bTAjRG(=>λfpr f,KJe A=HQ E؈EL馠Iߐ|p ŵRT󳾂/7N!P>{^>|m~oZd -u\{ypl( ]k, ^a zAhѢ7t/W_\g5& |dL'_Ctsn wjno2^q t!D'26K|BpvB,iv ǡTE3t#nc/,w[m|FxG!EQ#\{/`/7=膰|e #zƾπxAlQ/LM:j)=wm#I| Ѹ4ų6l"=gu:I~<yR{lv%|OǮ &U0T%3]RY09HOgO^xtT*(X!T@lka!s̈́s;7715O_<˧>w:D|| ~w‹ڢdHN:cLan {xA3J#0(G^¢:6 l]Ʌ4xDiBmݖ73#a QӦdÀ}08K?>%<-=C4X(J*$GО}Y1:Oaު#ès%lz ҳLUŞ?릻UÖ!Ra"n8kkՕ׃—yɿ+r=C/SWΚ^+?k?R+il|lc}{ c;k}{ 㔹9ahGz 8:"-BvAIDRm4u؇ =1^:øU2ƀ4E{e'G *'@AJ@Gw4/ Q/peʶ.j/|&kfqz2Byu5FR nCP0Itҏ݋Q' >}z|mv_wP2zY. ڠ $^Wq!ӣɫTO3a jh%.Vd*&U@QAؗۘ{ EqUվ6},rUc!J\7 h\v[jHDTvo((Ā9qvGh:!p(zdWNw` 8SSEz+$ɽej, w=^#" 9a0 1*a i rĻ",pl6?ߺJEvBkP888xl/}Q Z-0V#(|8hbheXʴʏ'Zu QJ @݃?J4G9?ֽp>xh) aJoU1MwhrC6zP*B#0Ԅ kA;o1~4S7,M3FK d|Y`k#KU-)U@!JKZ`@Qx\7cu:0HNF+FXC.@fw2Bu=83f'} 񙩘#ta2HPQZFCwgg{e VVwLA/F;JG7lԋvG€A*g>X٫ө?@_FeyB5P$vXufw G7%ZKZ@shzopCX(a''NQ㤝) @RWi&>u[Cz8oԸЃVn ]"2[d~9}i6@42Z汰)Hk V~l"L^@uq6xMf:UmH>% +; L.S!1 ⩿ebt&uZ'=bi߶|Pix0터 P+"f D@<9*3H7NZ$,^j}ek d`=[66rI`j;u⌄mꪁ 5C!xg[md1?x.(>R~-ozPUR9߮lIH (p_7 T>T[:_k瘵siI0ï6oi='XzĤj߂ ߟ4!"7 Ez&Ms0r3S 0C 稻ǑԪjӪmb-Sqolٶ4<ֵ9[g5<>XH`la!|&o1A8[ڼ]2D*a{~Kx.bzLpլ%dӨH|B?lTl(>͝G0adfQky.sצxaJ/{Nү8'm]އ{N.TD:Y<چRU5 #筜ai_!DzmD0ܛy$?`tCiEؤ-. wokW5"oC۫5jh5kk_}R~Ѩ[n76/_EtS)Qۗ{0Sӄ3v}vt/[4(yD=J2Qax@+E֏fQE_wO h?XB"> >xd =0A?5^2`3Dc#,Η2 -A"=Y5\v8uqؗ,\k5ͤۀv;Ƹm(Æ756|Ep 9!˚II9QUj;6Gݸ=CPvV߇e\Bthu_Qq ϐ3w/M1 mĞp @#_6U06D[lr1fU~”塵#k9 @LJ}.9n ݯ1^dF6I-ToLC7ÂQf:7 #`J RzBm/TU%,afA#1S`WrIc5UR9h9L=x(z o}*no爤XE}u{0\BJ]4@f@J93SsD$amMHRry͌p9Ĺ&c5ǫZR&iney&(@b~j4O﹁g iϯ.yx.lC&j%L'*>s2Up~`7.1w^EEm#\oԡWktˢSXY-#Yji1왇L~ M^dЯHVv`GU$ى#fE&{Q|N#kwnX#b ϮWg)l<G2Sˉ NkԀr8/PU}} V*Ai>'Nr8Zj{4ѦFBo GB!\4?>7R^C{.c6T\zxmRg Dz$m>NmJsLk!Lo^m[憐Ov=t7orӍVpGDGv@an|NqD` NO>%|EIj()"= }d^6Xk%d55Aێx3q~],9K X"MH7 I \MϖL"Ͱ}41a4*Ì-aY3"۾:ysGʧr(>[vXxB:f5y axmm]zi;Y@RWo*` M6tmVw/?azlH^]|T+7vuW79ET{k;j5-+*18eXruq(bb_:"\Cg穽BV:KvN1c|Tn7Fh]3#UKrAh.վOȤv-Ӊ5aD hMh3N+vs,9bc? kx{HEhK.U*X|MF=)7"E߉rMD!B{lc`Bk9tM6$`{sF8  0%`؀v\iW352bCaӝ-ԱϿ}0\;Z}6ٵynmߋ8-/#!! '6=b4&,p6e~wMZ(4Ʊih2ѓVc _|nB3wɅ V=0TUG |2>p-c?-VM?DŽtMk?._ϓ C4GG AOJgmJۿ}Y^*Ύ8b5p>ݟ(933?4dw~0:t* Ƞ:/! l $ `8!qA&dh|\.$6)0@hgŤˀ^ ѿ1>/?H~Gg@Z3?6heY۵?C)aIKQE;?AT7 *\CFi(TqT!NqI:GmvO_١ؼb6v<9]Oq|l|ƯYOϰ}8uxu,ٝ볂^O_,mgpu&OW:!1،+8oO}ٱ;|uIBꋝF<4 GLOst&8p{(%ybЏրy?N|Q[U1Z|˭cVJ2h®t,cJ#N\+gxeBwݻ%P\=A{'xp\CuIVnW3Jb)C ~;biaoee *rMKf& U!5vJ0Cc$OA2D.ľ 汉d S\nƧgw6Z:e&Gq]TFM7]I>`=笹շ|I@6RY H|w%J*~|t)v@1 k+CEdh[\"D 㵻K<C 1KZQjz^4E}max'S< m8 A$/c\:QrVXA|jˍ)L507̍{a3w |  t@(lɚypS=: OͪYu=ayWphj y-@E}.!/utP`w 5e 柠N<< Qc:@lX.H1+P*`G% ciºrh~!}UYP$jzrVI } 0a ]:JOsOBCWW05:E )B5.+.c7 z[}=? AHle& ~AE*:\<{9;߸?@G':lJ AAdޭVBWq0x1f 9( U p, ̫z24^dYvhC芉8hw>rW*W0~e V@Kc%n{W;ll|ӟqzuۢ&X6tں'OC\UjjL>n4Y9==GdГCPMb<}Pmm)&UzW-U8xhna(/lAe-'L D?.(i3)JܦIJȲddDܖ0~:~ǫgO0ĨT[5R\>N>9f5vE5+3vgyU`0w#Ǯw['}9SLO30t9;H>Ǎ]hkF-ތƅ))Qk6C]2x{lV콆W[bx'I[DG/6K a<vijۻݔKa n~W Dy!_jdaF mVuIB 龁a xZQ4:/['Ӕxx (,\T='Qܱ^4el;!_-x)r-ռDh=wuf#1d" ~z;?P+ʄݾ_D+];nN>4%<[dsRcgKQP} #Z]b|";"0a6%&DT:tE fצ<"*-şZSYDMupQ0 '3c3 _(OmИ8PI]xǾ뾶Ű$ LSS:4CsN &^fO-gÁEêڎI$1Dn(*Pva]o=(MeHEIP^z* (QR8hoW}9k,'ɐHXYrh]c !Tw{_YʃG2Ό_l=H໚$0dQέ#t}<~;p 7:ʄGRy)_< shs4 g'~d_?{֜ǰӆlVa,$}_*6]s0?PK3@ }Yc҉^xTp^5Q ˠ*@WjaK&y <@5!_FY2O JE䲳o߻κKD+nod(`^}>~OO$[F!J?<yQ_]Z: UƫR0']s=AL !!+h~GG-e)&%G$ zeO.EpwZ],LGAo*q'lD`mlE9x;wp@H"C \ۓE~41/A14?m3DRu::K6CUrvת7M_t X/ә J/KÁ'3|cD|a >\M\Yy58;6GLފ6C^'^m}/4ܾ9vu!#ݱCHz>}zf,^7LB蠝6> E d3Jh@J %mDjgK,2}W A``2g-H9XkiF.Ϫ=Q*Lo4 }2Dpq"T(w*qf$r/K=:#knZbn~@>ĔSaq R 1<1r}w͒tE   JT"vP;aqG['8UbtBVQ&<]p\) "^] 5]a6S@ei"ܱcM)8?zl]\lq 8t;EE5A*x %)mUtZ3CQ{H1][HY~^tc3B/6-玩9ʭ2ϙs e5F#d= Sˌv 0Ck/&^JTǖi!Xguý7a ~Q`V ɨIRP$ު`u}7jտpo"nbw;QbRᗿ;Ĉ{+0zk;sRRynpCO9>Q֔EUp^abX5 $l2+?:%: ߳e4C%Y $n_vu o :BR?*?-ݾ񬹻U>Y4hp.selvRSұ]~znbs0*GmҞZ)X>6;djm!ѱhE] q?p_@B>ý9-<)9iѩ[`| Nn8mP93i`,8= Bj`0vo|m0uݦ] 4meLjrzx@j~K@dKFZn>3+}u=T ׁy8C7*GbA¾Q@AK55/#{eM[5EϠfdiS:>Ҝ[iSqZ9/xXȶ2pq[1X<󉇸RH!&+`jL_R{a H6Gׇ=>1b)$C7t* O_5ψ =v\33Ftuahҡo1)/n\I @q.G;J@O߆䌲!r:w;NWoӓD?C<wq]̟}ڠi)!, `"C!r9:I)0\|`nvmP2j20.` Jڶ |Qo!#'}=s`D6&#,rz @@P-Fd=T1nYݝږ:ǿPChC\@=99 "x7-?'[\>xu͛]'UT)[?m^I6U $)SEd!ۊ^ʆI3X.4ԀOa j,ُN>iRPi5 IH8^t@oH̢p+B" J{G#|Lޑ(%v._L֠,N[)1KJp"Y؊4*+aehP )S%FjlGȿsGM9:mS/Von!5M$@C@\Td[f,bqkȥ/߷ȜaSDG)_wDU_ &f]y=?j֪WYҋV^ظH&h`gfm7~L!˯쭶Yoz &E1ѰiEpwnad @.hs9׉Y; Z#Sۑqc ? qتbb8va Xcf/ Y c ôtǛ.oQSVzkvp J3дLf76߳ҒNF}xyV*Qaz6.nQu[~qz?,-JebE ?6ܩB*2jV U EulPPL|%?%eTuqb 㟞(m]x݂x>ǯ d 0+B2̀uX^;_F>a$!0qQJjkV"ඪ z{e_4\zI +y{?Jk9M`#ɗS]>ki3G9% <1~ 1xD:@#< pI.PP.Uxj2Mj|+e@%b}_R:c &S:؀BrH|+8T |̓"`3Xe%rtũPV -$RTw/#IB|oo_MҧȲJ>f)_|`& tWɹB+X[cip9o_~1Q̴kcZ-<, 'ӱ8\1Zy}`Oal9aʩn]DX(v>=hqr5:$ gF 77Dw02?l1{Q-'W8Pf`nvwi&* XF'SSB1:qrê~E1'CDN~w8|$p)\AnNn` 3ˮs-߂&cee/0*'i$ }z"E׹TP/0Cݭc`auEZ! Ÿ=Ƽ8ʽ+ެvD W5N|a^1%$b%YH$ 1JPR1wQڹPL̔Y Q<dGqGi^oG}-:TL|)PSآ$^z{M 6Y]{'oEJL?M1GKhh(fe*WyP`ԡ) ?|)^?Ax׾ Y^@JyÇDD|ܒ~dkrwdSmu+⌫#V}#{>7ǡ̱@ AM;\W~N覟 n8UX;89q:S6aӆV6H=\uR=eU(^ҹ 8sEUVҔ gj ulD%?NČN\#T; Y`X^fAp[/զ@Uerz!$w8ܭKg.d56 | VAX.#eYEG|L8>6}vÉ>jI>?$w?<1 %CGbf QUcU^g@_2μ Ad$p{ǽ3áVCi [XS?c4ܫ=xU$btf}HiHͥ,oƉbq+ܖzV/',~8Nr|n#"?;֗>q:3 i%hbj _nOW\Oqfm>;mw;]1?b&_9PNj+cxVKX)(*\BA(E!ouG }eDP{23TnuUX@0Jn\22̀ TKt&eX3ksR@Uow$-cjsu_6^u\`pV;-p a!~ #eY_.{C֯aޢ8sQsc`.M3T0J%mQՒtIϥg*7\Dy?vб!T:UU c&gGhm~ݠ?! 9b̏${=߁sRvCI&8ufnT=&MYɹz嚗c^NGY+B% W>r(_+<`ߠ}q5I@pEW]QR2%8D1|ňϘOO6Dpp?$|Lru_,yTLU@Qif>ՙdT(w4UD9UC2qIa}W7twP2G4ؾY:cƊ360yš{9ɘ70V+21`>b41s 16%8ns >T# 5âzkrU+UnZZ&y͕&y8` \fsqT?wcUv*L֖9uR *g+'?u}c?'҂nx%JYżT.@vHUPL>OF3X^ZꢩNk~7B3YWl3_d;W)zbdwgl =hSl*IG{t\`=>}r}/̵K=jk wRo?G\*@kbGI!V3g`;.f!.4IM lfk- 默<އ؞9t-P5CiQ[KÃz)gaPC.8[ϧ0]Z1$t/Zh 28Q2 O"?L>GKUT%Տa"ߓR|YcIa%O_W$>I46~ү>"p}`5o/c +,mFw'93SK k_5b8otk(<[A?.PwB"̆Gh/%_4EKC1,1NfW ekEغX)4,Y@LvЂ3}r@WgA&ֹ}@۳L۶q}7j˶Ψ ̎۾PAUd3)|c(8ϭ.tP<۱X!|o8'`@>Nq, N n&|C϶n̗m\>JChm&Ђ1t.4&ج})|@l (١7>!' \ݔ U'w.tQbؐF_xںg., =:B1A%)I(Dh,ㇽ!50[W־~3Nґ8E5 r-CeΘ,eE!?*WQ:tpᕦds0 ^?]?:i-UZXu{ٶ۽MI-5,{x.3\nm=ޓp$-F3IU,;yrw^agVځ>Q9C^0ǐhҕےPO`ac &;3ss <45]WoL 5^ D | ݖd([tiO>Sdgy?odXM4.:wK2- 53i6IcXoxi{ƯX,m14ldlWSJjOť.)[ #MvN(f9!"~dU?|  Ϥ6#&5I`ƛcG9ɇt[{:94P(]=<@BP%vP ꟃ sKc5{[~'M5EFy#t iɴFS2JQM$Vzibۑ4 Zu [3i|z^p X<2x~iV)uT1:_/K9}{2F\J$e07Kt} Lr+D59-7?ٝ_giߗw1ƾGd(5Ոp{} >SaI~%D"Œ"V(~gL=,7=ں8jEve ]Q#G[hr2 itCw(6hvN{HAsF YQ _6mC*a`~ :xXEzsH CVMvf[0GCYt6~tbv ;Rzlhط&h h':'o0vQQ~2foEy}d&k[) EuSoO\KVYQ7ޑ$GA-EnMSv -ފJ\5?qӷ<~^(ږ߯oAqNonppv7<94o⾜dnb¦}9wC(q+h6Y쵋lƒFCXRh2>'(* YbHTPBbYne ` 5Ρ ط]oBpvQx6 ,4fe3]/B^kEMŢK6JK~X}CD>6lXO3{tJu^3vxȅAp`݀/^G2{׼{u\{TY NI7_r$Qk  uzd]qY^䙧Ud/p|HA:mTj*k&N^UyѿS/<{b1P'˸F걺aN7DURR$A)[D #/x|Ql'!:$9Hv83*;^66JH ֍.ـ ]@ٜ];ه2Quis]\E,4| p@H.z\+R-CԲjB)f XL67ҙ#/֯DoCWaH1]23#ǘ @,j1I7OC>cNf۔F0ɑG1^xR@H Q mk|%/{˨wOWEv>3 aIhxpk7*h5WKH}j)Ok[ߘr;[I=p)ֻ,괱ODI _eI܆   ձzpld=@׿ >D%QwA}btn"hmwlN$0~ |V7ookt^ѲC@Hm kAܷPS$03eRTK1 u=HXIɠ/`[]ÃL#PBᏫ G/>Ʒf3C&b'$oK%=8KH'n~ppag ށ$-h^e?kzB^}+˿Ac7:>=2~ޣ%?:$X "-h)&>xחP[+f+́L g[VB4y[pDV0,q|qS&x:X2rJ^8b3TT6AOqGīL5 ,ѳ@,X3OLj?ٸ /OQaо=>9Xx^'GL~(I>k!&4_8:ǷZ)z܂}Ywp $qpt2_~φlj?a Q+ ;پ7=YϺUG/btWY<5&FۺMeS!ōWw޾Q $ kfqN:a=Se935G" $aSdˆt" ܹ4~ܲ-I Qњ t5u14XRe}c&dF\O ,^w?EB/=a$o#ۣ+@ vعuOQ0^aDÆ|nK `C6p[H6w9 $Zqs,܊H3~ =$Rzޡ?E>ɲ1=zz?-]/0q^0tx1L] QfG\o#Q:F~^~T}4| >޷#wLɹr( [>ŇV"}קwW)i惊0vb ܺB."ކmE~Ikhe$\aN/5~B) }C,۳4RB Wo\wW_lLQcLQ=Xv%u:a*e1N^t>\8jF~;(Mg?oNch fQĒF8oid$D{DaF:}ug+n2Ooz^DZF/\x sS͎;FPۯb3D= *,XcUM\7T4@(Byǖ=+nfqwG: 9Aг&fP W6 @GK_Ċ`'a/vn7I 5O Gr 9E Ra*ru \[.Jq?QE6BB&HtO{v&zl7ԙОDb1޲ghrƆҹ]&G)yrs\b-oFbH"KŰ{T7~Lvs-NݢT! s9\u3^~x)30ANS'Nbrgot8T(}/yrJIk6b's+Nx~P%pGX9RQU픂n 0c<<($Ƨt"V Gl`%n8Z9n8}oB^&x|;ݎvoX'(&Tp:H?KK1wX:{ތp͘p3EoOI󜭜b1]]ޞM3a z {އα1+MQz9 vƊÏ+چq{&Xs:+|¶v|A\It1xu2~l8яQhA1K74jV"wx`HClx2#}7$ R1Gu%bAmuƸފ#Ʊwt'3ꙺ'Mr<3+Qx)]S,k#l<[&pskGw캂чD4 ԐEvw~3/'U,k[v$qJ8mL9~f%\ܑ$*dk") њ'18`maj e%s8ak# 6s],暒"w<*1 j?8ڧy7rV5q8\&r)lZdyDivtB7ڞ#8 Tz"7NUk_oG:Dq ݥ3ڣ;c>F8.ڸ J+rkw#|Y8P tw:Tf7,*r\\xmy%rkT 7 :1w"q%xsy~a fN$ή| U28ڙ$CJ9A6f+<y[/m_xۋ6i5|bwcUn0,.K/w%;L:w-N?\vzoXUZ E.atW͐{X}ȕ<#ָΦHz[qOcep$ö+1;E5`/5wKxd!o).Lw;d3MGs$|bܤܲ,hВqBM{v.\h؋ܬ=b8uf丹sJndy$r`璘 3$1Kvc`;2j#}/GQ)4{xY{8h{bHn6eN2>,j;|"3Tޟ4$Lه,:Urp^<Уeuo:41ȷ#T~J¬qL4εXMw3C^f#R_9`|+^:TF>&Ew\.8&ZP;B.Yܶx;a[O.c(Nmf·\&:[e:iBN~%;K+sk۽fr srquAfå~Rz6Ԇ.Q4pwJF;37&M>J )s wA)|3Y\v֕ uceGEFtz!5X q{d>/|RCqʆƳŲ\Ŏ] 1` ʫR)4n^>  ˒'eꦩmRA]ݢ }+4˸ӌa[2{ńt9#a?$GVy2a!u- 8!]JG޶x 皏) 7dX6D&0d e0aޑۓ e R9p^$/ t7ZGЋXL~li%KP$n8x_^,[[B=˗|׻x8xgXu>yZ=Lyo^*CQp.d! 0ΖLq 9tܘـ: O lbRmL~GH9>6|U;{VW͔@e\ݬEf IA=@NyJD<%P4V8VD ? pX/9n=9dmG8ף5E$ĔDDepG!XNRJ=zgpT1+?ӶG3 9$y~=7iM܃.4ݵ]%l} 'uJ2FüoeGܩLl) 0@G5~ TPVLqȿMC/ -"QD*֌kC}a={ßČ6< _RiKN;(sYX/S ;zuqXAXlz 3p&sc0&v=VV6:&ru_:92Ѻw-2+Zd^"]׌Ĩ@<}ҡ5=kԺtqr=Z=MԷPɻvϬujvƮ._9Zntr=+t|#ٹ߯t{oxA;%s<'C뷴oߔD$0juf߳oAJF d%梔Л JiNXbj>"i SJf9b "B9mc\*D-vPr#Nlh֠M |@.Dh|oa}mm>U?'vopf h7W{D+>Itl'U }Szi0WƵYNJeGH!$k o&oJ5<8:n&#n<:bfWxv]>E)xHwܻM-xPtn.s3KKvyG[{Ml!E!kqdYpԮÞ $77t'p~FK.Hve8įwoׯVBgzoGQw|(:y wq-Qg6_[1_ =l ˳_E$3dO#&! ) tI?t;b>4ќUv- QP}y{MqɄ(iDo?Ŵzz[czY}o$B tg^BP\6Nڥ^׻kM߱HOAa H"<Sj~{΋_mE +=]}PЀD>"@rTJ B1Q d:Pi((BhT35_Q!vLFpEMқH(>R"H2ij߽g _C0N@yg <{ =[dS W.&ݽgXG <|{v]:[a]O;}u_|_a1?2tk4'&A,y(YW^mPCGO#`!@ЫQA k2rύ#S+r1$&jH H?Cل84>F?ćA&@J1 y8$:ɿE%G*ޝ௪~ F ;F|"|k~uǷ?ky[E8nI ] =Lㄷd|HK_!0t_'b;ƔBd;fūeL "c'pݹ;.tylX~W^|FrnZ_rS8_ /.[.0SED_ﺛ0s;bN]X+1V$,HpuGNYذӣW2mgQ+χ+;w$s_@[2ϯ6_G`H??N7Qt Hrɐ"fB4G p8~?P wԁy+m^C¥ VȈCx_Dxi[&{@3@5}?D7z ?g2?3ZYX>s J5 zDx8u38_$,A[xzk%#KJlHomw3vW_io9 @PpOw_6ng S~Q̘G}GMm9uuaQhQ BhĚ?],mťMqˇO}KeBR<"!_0҃wmGK!5'˞K%釙:x/O2c 7ɥҸOrr C@Yq:{|W mo;Os/|xt㿻kgH4`YQӳ6壡-wϳ;Ɏv]9Kˢs+'^.&}6xC޷3[Cw qݮ8wŠ)lҙ{᪾B!0APkƞ[:!ӾsY/G6זZ#φnセA1kbõ"v7 ]E|AWx2<#_lW!ٺb>t~}GH#Ϟ,*s<h3> > Q)q[ۮ>E/жq^z%A|t95 G6ITR1,Z͹2;8kNvzmS9lkѢCDN}t_ˬ<`D(QAM% &`g/.+OY +uLqVFb #|O}SG${|Or=KHO"kd0GqGCY=vI'5`*訔:n\=8X'tJk&\ʞy&(ǡC0\xAuthy_9t OKl./qE.֎0}>UJNjq \7`{ʀM} VrC%Y]VW[FJtj XVUH2:2xqʎ(:isQAe/\]l䨋]<1Q܉UPevt77Ͽ KZfiٞthw>(s .'[dV]}T<|G7*tsd'W- 掮;KVNs:NP`A 6[b)% ;h5 7Nz-;w˻ 0-4Jb0 43@Q1f R[&)<()mKHfR1k dbaP>ZK Lt#gZ(l}b}o~P?p3>]"1v\:G!<'*K{g(=@Cv`CK JrP.dLMru\Hx ࣥ߇2V}J8vߢ&fy>zBc|~k8lj|G^A: fJDu=*??z>ekRO8!puS=o~Gcf-=wpPIñ߶.>r D᯳ͣ">u?X7 =qPo5j }47_z ,B{@dG ? |=yv<%n]wrua޽._n l\7qIpuI6Qַz1H'.8HMlPcF:bUb$H[x6!" KB$0\@c[0#p}a bAn=0mgv^yq=mQ{ aTqD~`Q&6HX0;O^ͅ3H&%t[̘E ~q]}ENJC7$ 4Td D[m >6q)0 3_jlȶAF$/?NkSHҽ"4S E]X76B`; |TLn꾴= a:^u]UyQ*yyą(~.ADY4NvhU&(~jVVL~ +.wn_^۪*6Zչfs_̈*,Iˮ| ە}Eޫ'TaϳN^p'5v%Sd7v.xc].{B투M>dkÝC POn͏itϴ忞.A"5љj"QPtTAmx 0{B#, IP2q:6%lrťSʢҿ6ԯ2,pswWQÈ(].h%7sU W#}{A>|ݸ`wҮ!%@m?%G7eWPBM#-X8b3  @|F; 9[ kw JT-=i;4̪7c٣yG -]oRۜwr IS tqRQnG |lK(>P4vlbӃ(2P CՈ?atV^~$_9?gU){>Yf z/3F[6ۦn0D3\LUPU=$R!׵ღiȯb3!b̶-ֱM:@n[ CpU_ 2(w5eԫ]xVP­F]<ў+tS m ؤqlpo}Ui]QbeXލ4TiR0c)aywΒ)`NデeHxqT}aLyk%^@j,|A/vwjphiKiד;VBZP\Q"Xj'ae]d#ӯ,sj 7cR@$\ISH8!}㨤/WeYEzמ1\WSߋRvFX%c% _|֥CS'bUUfߕJۧ7W\ui_Iwi.\C^}}4Li@U¿K|tOna]V?Ԣ9m1]&%` n/5)ycHAD}e7tq158O?a &Hu0}OŽoc{Ҳai=/8qDq nqw:a yqHA"|䎧 : :OȒOj*%jYanV:!1 8˞שy`<:)C}~7*!rvQkV䣣W47g[ i˺ck I"rn=_9T|E4)|EВaQ #Xb Ntd֙ю ʹ66 \l^9i9OJlPP&q3}@?B >E`w!-.hYc ΣLIeK+%Qcy-+guyaPIX}ll!esAhG|s&m?ᠺ0FeBm_Z`죝fέnSЕ&$#HUh{j!Qo`|WB$%&-Wp)s" M_w231#)dfuY1_rV  2 _[\8ܖ'sc{JiA- vgru:i>aݶs`"싈o : &(B+=6j{mp_Hg޷HZb/U'&b7ٻ P6oh+j;Htj\d7`Xs^)sc'.2C59dyQoG_5s2{!aVEq#KCӨӆ! Jdx1|߇JEmQq HA6`NUn ֘ "rԯQaE^nK@ Nw3xۡd6"!T}>fg߃;j,?n6O ,>]Py6םl.J>9\cM5|a=A"niqGIƧ/v>0|WIj/tFg92a$hj矦3%ﺼHzCÜ'bY1_{Kgh(-qԶTAOWjY6;rjw|Y~` 0?uy(R4V9ԐGD UgAw| C eRL X 5r  yc˼Ge 39@*X)XKM4 hSB GGbT1Afe56]!@ͨ(U,`eN/$uhppgΝuP)~?UqB)}5U7`@>.un @w6AN(Rez tp\P D (MDD {O!k/?s %))}6~@YZe4 >LZk;>1!L 3* :diJc)&IGoO I'fiφFl-A3@|Bz(с|>^{'PjD/'&n<Ce3+ gI-&=ucN,{x7tj<U@٘$',W8+P6jr/}׷ư!}uFվx=ps#32eg g;*4jѻَx0V.={7~hhM]7Eޒ29Wf) e8Bz} ~hi #mGDe ےsxq]B'.`2JLeq8g0}g˵vj =\8d(R(BnD$43R[y]iwuU/-׉@ #HT* AFa J`()(P |μN&&&qhV"XHd$yfȚ%NH" _Y IDI@CDDRHRKEQ!+ EDD@""|c_N >\0*HFPs}H~͘486UjtZ; I;K齜ЛE*c$ڧ-*&Σx"L{z[ZD7iN(8nZuP)bY} q;,f ǁfg. *oЅKlxN;}9rĴ̑v NW+]P#6=Lޓߵχt.7pKLkMkWY){QQh`<&jIθ-P¢E@?"-Ju(աsV=dX+Ϫj*ZO[a}>M*D 9v,/6qAI,وHkьa#zslG:|\~',Rf>kYoSE2N{z *g/1Ǫ8( Ͱ0g@$ƫVbCKpP]̍mxI\? 㻜CɆ/\V22n7w[Q 1"f~Ȩ~cZx97l?%>T_U??4l}-cߚ}R֤˧R1?޵Yg084F9-pboSQBp2m8-lעnra-G[Ļ#jyNҼ {NqÏ;wn{>qh*:?%wJP t܈YoT:IZ7mhL{W&B3!vOJIݰLPzHAog)M( XR Gq`~kz'UpsoG9&4\l)!' { if;I :f7 gB$"_u3{6Rk32S^c%wB7OBda+CU$ 0"_~}|-Vڜ?#4ϣ/艙90}JwC,&`BEⳬ֙i8*v|G rFz.Է_gG o%Af?W~-3%+$=+\>K9{y9Q?od!ՖNclJaBu"S\J?vAhξ\N_w,!yAUq0d`?,|dcXlm4;[/lg\s8EK:whcIAa( n[n"ȈtRWoҕ7EVW[#?J(PC[ٴGn))H=ka(m|8ʷaIB6e7;]ZA*StՍg쮉j XH49œe ~戈5#TZzvf>?ԮH|F0#sz]5vY>e~J8 =i[ s:hzVhBN<{Z"Ձ}c?T6?Qna&ѻՋA; PW)ECY.8Mg˔12O~ +`C6{4+0J~D?^foՌyưq'+V.==. /QF#K <_5w[2)"'S_wR" βu_h^VkhGK1pb-σPh e]DL" UWN&Q IZ2-:m{6yk%uh4r=a&sFp~ߝdr*! ) Pz1}pkBWN/` -}' H痳>7&{| &VL fgLx&.}%" k\|$08&y_}pgVzo]szL/v <4ug 3 m=K59J{ G&#nmy9,UO6vyc@30J]4a٦q~/zAEP pv9yxt=O|7X֨KW_|bXVrt Њ81H1qy#쭩0?7q^E5 DR4JnB,1H!`c6 mUT."<~Y"H`|(+m.6z'!H$Xcs~OsMvMee"y+Ɩ;w#![:<-2 +BXX~]<[uآ6{f"t [K|9/p@q!.nE_`SԏUߢX_y[ smz.[ʲA* VMv># _büh>ѯ6._Ϋ ~ /2Ӷ<-񚂩xbÁ;s`aBNaXH%q LbYRN JP$tlygӟn4LTh:Kdh4~Ȳ[GЃ3$ep]ڰNdg/CtyNDh(PwnP"EOY"X(!ao~ Z$9HM_bEzP-}.DI~謟,N{O#?,$ʮ UVTX s&- a3HuȪ}[cCga݄C*XӉyk}z @~ mJCs8FyPcCΙRyoM (2; z-BS_+b &yӢDACѺ @u%bJ?Jjo>~qBeLQnUT|'=4oiN#Y5GTqc5B %@bM /x="O-/d