Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jul 2009 23:44:59 +0400 (MSD)
From:      Eygene Ryabinkin <rea-fbsd@codelabs.ru>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   usb/137189: [usb][patch] create and use sysctl nodes for HID report descriptors
Message-ID:  <20090727194459.393CFB8090@phoenix.codelabs.ru>
Resent-Message-ID: <200907271950.n6RJo3Po021172@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         137189
>Category:       usb
>Synopsis:       [usb][patch] create and use sysctl nodes for HID report descriptors
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 27 19:50:03 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Eygene Ryabinkin
>Release:        FreeBSD 8.0-BETA2 amd64
>Organization:
Code Labs
>Environment:

System: FreeBSD 8.0-BETA2 amd64

>Description:

usbhidctl in 8.x can dump report descriptors only from the uhid(4)
devices.  When, for example, ums(4) or ukbd(4) grab HID devices,
there is no way to dump and decode their descriptors via usbhidctl.

>How-To-Repeat:

Run 'usbhidctl -f /dev/ums0 -d' and see how it will fail.

>Fix:

The following patch makes kernel-side changes: it introduces general
framework to create opaque sysctl nodes 'dev.<name>.<unit>.hiddesc'
that are exporting HID descriptor to the userspace.
--- 0003-UHID-implement-new-sysctl-node-hiddesc.patch begins here ---
begin 644 0003-UHID-implement-new-sysctl-node-hiddesc.patch
M1G)O;2`S-3,R931F-3EC,#<P8C%A-C(V-#%C,S8X.6(R.&8U.3%E,C9C,3@U
M($UO;B!397`@,3<@,#`Z,#`Z,#`@,C`P,0I&<F]M.B!%>6=E;F4@4GEA8FEN
M:VEN(#QR96$M9F)S9$!C;V1E;&%B<RYR=3X*1&%T93H@36]N+"`R-R!*=6P@
M,C`P.2`P.#HS-CHP-R`K,#0P,`I3=6)J96-T.B!;4$%40T@@,R\W72!52$E$
M.B!I;7!L96UE;G0@;F5W('-Y<V-T;"!N;V1E+"`B:&ED9&5S8R(*"E1H:7,@
M;F]D92!W:6QL(&=I=F4@;W5T($A)1"!D97-C<FEP=&]R(&9O<B!T:&4@9VEV
M96X@9&5V:6-E+B`@270@<VAO=6QD"F)E('5S969U;"!B;W1H(&9O<B!D96)U
M9V=I;F<@86YD(&9O<B!T:&4@=7-B:&ED8W1L*#$I('5T:6QI='D@+2T@:70@
M=VEL;`IB92!A8FQE('1O(&=E="`H86YD(&1U;7`I(')E<&]R="!D97-C<FEP
M=&]R<R!F<F]M('1H92!D979I8V5S('1H870@87)E"F-H:6QD<F5N(&]F('1H
M92!U:&ED*#0I.B!U:V)D*#0I+"!U;7,H-"D@86YD(&]T:&5R<RX*"E=E(&-A
M;B=T(&5X<&]R="!T:&ES(&1A=&$@=FEA('1H92!I;V-T;"P@8F5C875S92!U
M;7,H-"D@86YD('5K8F0H-"D*9&5V:6-E<R!A<F4@='EP:6-A;&QY('5S960@
M*&)Y(&UO=7-E9"P@6&]R9RP@971C*2P@<V\@=V4@:G5S="!C86XG=`IO<&5N
M('1H96T@=&\@<&%S<R!T:&4@9FEL92!D97-C<FEP=&]R('1O('1H92!I;V-T
M;"!C86QL+@H*1F]R('1H92!U;FEF;W)M:71Y+"!T:&4@=6AI9"@T*2!I='-E
M;&8@86QS;R!G86EN960@=&AI<R!S>7-C=&PN"@I3:6=N960M;V9F+6)Y.B!%
M>6=E;F4@4GEA8FEN:VEN(#QR96$M9F)S9$!C;V1E;&%B<RYR=3X*+2TM"B!S
M>7,O9&5V+W5S8B]I;G!U="]U:&ED+F,@?"`@("`U("LK*RLK"B!S>7,O9&5V
M+W5S8B]I;G!U="]U:V)D+F,@?"`@(#,T("LK*RLK*RLK*RLK*RLK*RLK*RLK
M*RLK*RTM+2TM+2TM+2T*('-Y<R]D978O=7-B+VEN<'5T+W5M<RYC("!\("`@
M,S(@*RLK*RLK*RLK*RLK*RLK*RLK*RLK+2TM+2TM+2TM+2T*('-Y<R]D978O
M=7-B+W5S8E]H:60N8R`@("!\("`@,S4@*RLK*RLK*RLK*RLK*RLK*RLK*RLK
M*RLK*RLK*RLK*RLK*RL*('-Y<R]D978O=7-B+W5S8FAI9"YH("`@("!\("`@
M(#$@*PH@-2!F:6QE<R!C:&%N9V5D+"`X-B!I;G-E<G1I;VYS*"LI+"`R,2!D
M96QE=&EO;G,H+2D*"F1I9F8@+2UG:70@82]S>7,O9&5V+W5S8B]I;G!U="]U
M:&ED+F,@8B]S>7,O9&5V+W5S8B]I;G!U="]U:&ED+F,*:6YD97@@-#$Q865B
M-BXN,C0S,C0Y,2`Q,#`V-#0*+2TM(&$O<WES+V1E=B]U<V(O:6YP=70O=6AI
M9"YC"BLK*R!B+W-Y<R]D978O=7-B+VEN<'5T+W5H:60N8PI`0"`M-S4V+#8@
M*S<U-BPQ,2!`0"!U:&ED7V%T=&%C:"AD979I8V5?="!D978I"B`):68@*&5R
M<F]R*2!["B`)"6=O=&\@9&5T86-H.PH@"7T**PHK"2\J(%-Y<V-T;"!S='5F
M9B`J+PHK"6AI9%]I;G-T86QL7VAI9&1E<V-?<WES8W1L7VAA;F1L97(H9&5V
M+`HK"2`@("!S8RT^<V-?<F5P9&5S8U]P='(L('-C+3YS8U]R97!D97-C7W-I
M>F4I.PHK"B`)<F5T=7)N("@P*3L)"0DO*B!S=6-C97-S("HO"B`*(&1E=&%C
M:#H*9&EF9B`M+6=I="!A+W-Y<R]D978O=7-B+VEN<'5T+W5K8F0N8R!B+W-Y
M<R]D978O=7-B+VEN<'5T+W5K8F0N8PII;F1E>"`R.34T-F$U+BYC,F,Y9F%C
M(#$P,#8T-`HM+2T@82]S>7,O9&5V+W5S8B]I;G!U="]U:V)D+F,**RLK(&(O
M<WES+V1E=B]U<V(O:6YP=70O=6MB9"YC"D!`("TQ-SDL-B`K,3<Y+#D@0$`@
M<W1R=6-T('5K8F1?<V]F=&,@>PH@"75I;G0X7W0)<V-?:69A8V5?;F\["B`)
M=6EN=#A?="!S8U]K8F1?:60["B`)=6EN=#A?="!S8U]L961?:60["BL**PEV
M;VED("IH:61?<F1E<V,["BL)=6EN=#$V7W0@:&ED7W)S:7IE.PH@?3L*(`H@
M(V1E9FEN90E+15E?15)23U()("`P>#`Q"D!`("TW,C8L,3$@*S<R.2PQ,2!`
M0"!U:V)D7V%T=&%C:"AD979I8V5?="!D978I"B`)<W1R=6-T('5S8E]A='1A
M8VA?87)G("IU86$@/2!D979I8V5?9V5T7VEV87)S*&1E=BD["B`):6YT,S)?
M="!U;FET(#T@9&5V:6-E7V=E=%]U;FET*&1E=BD["B`):V5Y8F]A<F1?="`J
M:V)D(#T@)G-C+3YS8U]K8F0["BT)=F]I9"`J:&ED7W!T<B`]($Y53$P["B`)
M=7-B7V5R<F]R7W0@97)R.PH@"75I;G0S,E]T(&9L86=S.PH@"75I;G0Q-E]T
M(&X["BT)=6EN=#$V7W0@:&ED7VQE;CL**PHK"7-C+3YH:61?<F1E<V,@/2!.
M54Q,.PH@"B`);71X7V%S<V5R="@F1VEA;G0L($U!7T]73D5$*3L*(`I`0"`M
M-S<X+#(P("LW.#$L,C`@0$`@=6MB9%]A='1A8V@H9&5V:6-E7W0@9&5V*0H@
M"4M"1%]04D]"15]$3TY%*&MB9"D["B`*(`DO*B!F:6=U<F4@;W5T(&EF('1H
M97)E(&ES(&%N($E$(&)Y=&4@:6X@=&AE(&1A=&$@*B\*+0EE<G(@/2!U<V)D
M7W)E<5]G971?:&ED7V1E<V,H=6%A+3YD979I8V4L($Y53$PL("9H:61?<'1R
M+`HM"2`@("`F:&ED7VQE;BP@35]414U0+"!U86$M/FEN9F\N8DEF86-E26YD
M97@I.PHK"65R<B`]('5S8F1?<F5Q7V=E=%]H:61?9&5S8RAU86$M/F1E=FEC
M92P@3E5,3"P@)G-C+3YH:61?<F1E<V,L"BL)("`@("9S8RT^:&ED7W)S:7IE
M+"!-7U530D1%5BP@=6%A+3YI;F9O+F))9F%C94EN9&5X*3L*(`EI9B`H97)R
M(#T](#`I('L*(`D)=6EN=#A?="!T96UP7VED.PH@"B`)"2\J(&EN=F5S=&EG
M871E(&EF('1H:7,@:7,@86X@07!P;&4@2V5Y8F]A<F0@*B\*+0D):68@*&AI
M9%]L;V-A=&4H:&ED7W!T<BP@:&ED7VQE;BP**PD):68@*&AI9%]L;V-A=&4H
M<V,M/FAI9%]R9&5S8RP@<V,M/FAI9%]R<VEZ92P*(`D)("`@($A)1%]54T%'
M13(H2%507T-/3E-53452+"!(54=?05!03$5?14I%0U0I+`H@"0D@("`@:&ED
M7VEN<'5T+"`P+"`F<V,M/G-C7VQO8U]A<'!L95]E:F5C="P@)F9L86=S+`H@
M"0D@("`@)G-C+3YS8U]K8F1?:60I*2!["B`)"0EI9B`H9FQA9W,@)B!(24]?
M5D%224%"3$4I"B`)"0D)<V,M/G-C7V9L86=S('P](%5+0D1?1DQ!1U]!4%!,
M15]%2D5#5"!\(`H@"0D)"2`@("!52T)$7T9,04=?05!03$5?4U=!4#L*+0D)
M"6EF("AH:61?;&]C871E*&AI9%]P='(L(&AI9%]L96XL"BL)"0EI9B`H:&ED
M7VQO8V%T92AS8RT^:&ED7W)D97-C+"!S8RT^:&ED7W)S:7IE+`H@"0D)("`@
M($A)1%]54T%'13(H,'A&1D9&+"`P>#`P,#,I+`H@"0D)("`@(&AI9%]I;G!U
M="P@,"P@)G-C+3YS8U]L;V-?87!P;&5?9FXL("9F;&%G<RP*(`D)"2`@("`F
M=&5M<%]I9"DI('L*0$`@+3@P-RPQ-"`K.#$P+#$U($!`('5K8F1?871T86-H
M*&1E=FEC95]T(&1E=BD*(`D)"2`J($%S<W5M92!T:&4@9FER<W0@2$E$($E$
M(&-O;G1A:6YS('1H90H@"0D)("H@:V5Y8F]A<F0@9&%T80H@"0D)("HO"BT)
M"0EH:61?<F5P;W)T7W-I>F4H:&ED7W!T<BP@:&ED7VQE;BP**PD)"6AI9%]R
M97!O<G1?<VEZ92AS8RT^:&ED7W)D97-C+"!S8RT^:&ED7W)S:7IE+`H@"0D)
M("`@(&AI9%]I;G!U="P@)G-C+3YS8U]K8F1?:60I.PH@"0E]"B`*(`D)+RH@
M:6YV97-T:6=A=&4@:68@=V4@;F5E9"!A;B!)1"UB>71E(&9O<B!T:&4@;&5D
M<R`J+PHM"0EH:61?<F5P;W)T7W-I>F4H:&ED7W!T<BP@:&ED7VQE;BP@:&ED
M7V]U='!U="P@)G-C+3YS8U]L961?:60I.PHM"BT)"69R964H:&ED7W!T<BP@
M35]414U0*3L**PD):&ED7W)E<&]R=%]S:7IE*'-C+3YH:61?<F1E<V,L('-C
M+3YH:61?<G-I>F4L"BL)"2`@("!H:61?;W5T<'5T+"`F<V,M/G-C7VQE9%]I
M9"D["BL)?2!E;'-E('L**PD)<V,M/FAI9%]R9&5S8R`]($Y53$P["B`)?0H@
M"B`)+RH@:6=N;W)E(&EF(%-%5$E$3$4@9F%I;',L(&AE;F-E(&ET(&ES(&YO
M="!C<G5C:6%L("HO"D!`("TX-#$L-B`K.#0U+#$Q($!`('5K8F1?871T86-H
M*&1E=FEC95]T(&1E=BD*(`EI9B`H8F]O='9E<F)O<V4I('L*(`D)9V5N:V)D
M7V1I86<H:V)D+"!B;V]T=F5R8F]S92D["B`)?0HK"BL)+RH@4WES8W1L('-T
M=69F("HO"BL):&ED7VEN<W1A;&Q?:&ED9&5S8U]S>7-C=&Q?:&%N9&QE<BAD
M978L"BL)("`@('-C+3YH:61?<F1E<V,L('-C+3YH:61?<G-I>F4I.PHK"B`)
M+RH@;&]C:R!K97EB;V%R9"!M=71E>"`J+PH@"B`);71X7VQO8VLH)D=I86YT
M*3L*0$`@+3@U-RPV("LX-C8L."!`0"!U:V)D7V%T=&%C:"AD979I8V5?="!D
M978I"B`*(&1E=&%C:#H*(`EU:V)D7V1E=&%C:"AD978I.PHK"6EF("AS8RT^
M:&ED7W)D97-C*0HK"0EF<F5E*'-C+3YH:61?<F1E<V,L($U?55-"1$56*3L*
M(`ER971U<FX@*$5.6$E/*3L)"0DO*B!E<G)O<B`J+PH@?0H@"D!`("TY,#(L
M-B`K.3$S+#D@0$`@=6MB9%]D971A8V@H9&5V:6-E7W0@9&5V*0H@"75S8F1?
M=')A;G-F97)?=6YS971U<"AS8RT^<V-?>&9E<BP@54M"1%].7U1204Y31D52
M*3L*(`H@"75S8E]C86QL;W5T7V1R86EN*"9S8RT^<V-?8V%L;&]U="D["BL)
M"BL):68@*'-C+3YH:61?<F1E<V,I"BL)"69R964H<V,M/FAI9%]R9&5S8RP@
M35]54T)$158I.PH@"B`)1%!224Y41B@B)7,Z(&1I<V-O;FYE8W1E9%QN(BP*
M(`D@("`@9&5V:6-E7V=E=%]N86UE=6YI="AD978I*3L*9&EF9B`M+6=I="!A
M+W-Y<R]D978O=7-B+VEN<'5T+W5M<RYC(&(O<WES+V1E=B]U<V(O:6YP=70O
M=6US+F,*:6YD97@@8S1C8S$P,RXN9C8S-V%C,2`Q,#`V-#0*+2TM(&$O<WES
M+V1E=B]U<V(O:6YP=70O=6US+F,**RLK(&(O<WES+V1E=B]U<V(O:6YP=70O
M=6US+F,*0$`@+3$T,RPV("LQ-#,L.2!`0"!S=')U8W0@=6US7W-O9G1C('L*
M(`EU:6YT.%]T"7-C7V)U='1O;G,["B`)=6EN=#A?=`ES8U]I:60["B`)=6EN
M=#A?=`ES8U]T96UP6S8T73L**PHK"79O:60@*FAI9%]R9&5S8SL**PEU:6YT
M,39?="!H:61?<G-I>F4["B!].PH@"B!S=&%T:6,@=F]I9"!U;7-?<'5T7W%U
M975E7W1I;65O=70H=F]I9"`J7U]S8RD["D!`("TT.#(L,34@*S0X-2PQ-2!`
M0"!U;7-?871T86-H*&1E=FEC95]T(&1E=BD*(`ES=')U8W0@=7-B7V%T=&%C
M:%]A<F<@*G5A82`](&1E=FEC95]G971?:79A<G,H9&5V*3L*(`ES=')U8W0@
M=6US7W-O9G1C("IS8R`](&1E=FEC95]G971?<V]F=&,H9&5V*3L*(`ES=')U
M8W0@=6US7VEN9F\@*FEN9F\["BT)=F]I9"`J9%]P='(@/2!.54Q,.PH@"6EN
M="!I<VEZ93L*(`EI;G0@97)R.PHM"75I;G0Q-E]T(&1?;&5N.PH@"75I;G0X
M7W0@:3L*(`EU:6YT.%]T(&H["B`*(`E$4%))3E1&3B@Q,2P@(G-C/25P7&XB
M+"!S8RD["B`**PES8RT^:&ED7W)D97-C(#T@3E5,3#L**PH@"61E=FEC95]S
M971?=7-B7V1E<V,H9&5V*3L*(`H@"6UT>%]I;FET*"9S8RT^<V-?;71X+"`B
M=6US(&QO8VLB+"!.54Q,+"!-5%A?1$5&('P@35187U)%0U524T4I.PI`0"`M
M-3$T+#$U("LU,3<L,3@@0$`@=6US7V%T=&%C:"AD979I8V5?="!D978I"B`)
M"4104DE.5$8H(F5R<F]R/25S7&XB+"!U<V)D7V5R<G-T<BAE<G(I*3L*(`D)
M9V]T;R!D971A8V@["B`)?0HM"65R<B`]('5S8F1?<F5Q7V=E=%]H:61?9&5S
M8RAU86$M/F1E=FEC92P@3E5,3"P@)F1?<'1R+`HM"2`@("`F9%]L96XL($U?
M5$5-4"P@=6%A+3YI;F9O+F))9F%C94EN9&5X*3L**PEE<G(@/2!U<V)D7W)E
M<5]G971?:&ED7V1E<V,H=6%A+3YD979I8V4L($Y53$PL"BL)("`@("9S8RT^
M:&ED7W)D97-C+"`F<V,M/FAI9%]R<VEZ92P**PD@("`@35]54T)$158L('5A
M82T^:6YF;RYB269A8V5);F1E>"D["B`*(`EI9B`H97)R*2!["BL)"7-C+3YH
M:61?<F1E<V,@/2!.54Q,.PH@"0ED979I8V5?<')I;G1F*&1E=BP@(F5R<F]R
M(')E861I;F<@<F5P;W)T(&1E<V-R:7!T:6]N7&XB*3L*(`D)9V]T;R!D971A
M8V@["B`)?0H@"BT):7-I>F4@/2!H:61?<F5P;W)T7W-I>F4H9%]P='(L(&1?
M;&5N+"!H:61?:6YP=70L("9S8RT^<V-?:6ED*3L**PEI<VEZ92`](&AI9%]R
M97!O<G1?<VEZ92AS8RT^:&ED7W)D97-C+"!S8RT^:&ED7W)S:7IE+"!H:61?
M:6YP=70L"BL)("`@("9S8RT^<V-?:6ED*3L*(`H@"2\J"B`)("H@5&AE($UI
M8W)O<V]F="!7:7)E;&5S<R!.;W1E8F]O:R!/<'1I8V%L($UO=7-E('-E96US
M('1O(&)E(&EN('=O<G-E"D!`("TU-3,L-R`K-34Y+#@@0$`@=6US7V%T=&%C
M:"AD979I8V5?="!D978I"B`)?2!E;'-E('L*(`D)+RH@4V5A<F-H('1H92!(
M240@9&5S8W)I<'1O<B!A;F0@86YN;W5N8V4@9&5V:6-E("HO"B`)"69O<B`H
M:2`](#`[(&D@/"!535-?24Y&3U]-05@[(&DK*RD@>PHM"0D)=6US7VAI9%]P
M87)S92AS8RP@9&5V+"!D7W!T<BP@9%]L96XL(&DI.PHK"0D)=6US7VAI9%]P
M87)S92AS8RP@9&5V+"!S8RT^:&ED7W)D97-C+`HK"0D)("`@('-C+3YH:61?
M<G-I>F4L(&DI.PH@"0E]"B`)?0H@"D!`("TU-C<L."`K-3<T+#8@0$`@=6US
M7V%T=&%C:"AD979I8V5?="!D978I"B`)"2`@("`B=&AA;B!I;G1E<G)U<'0@
M<VEZ92P@)60@8GET97,A7&XB+"!I<VEZ92P*(`D)("`@('5S8F1?>&9E<E]M
M87A?9G)A;65L96XH<V,M/G-C7WAF97);54U37TE.5%)?1%1=*2D["B`)?0HM
M"69R964H9%]P='(L($U?5$5-4"D["BT)9%]P='(@/2!.54Q,.PH@"B`C:68@
M55-"7T1%0E5'"B`)9F]R("AJ(#T@,#L@:B`\(%5-4U])3D9/7TU!6#L@:BLK
M*2!["D!`("TV,C$L,3(@*S8R-BPQ-"!`0"!U;7-?871T86-H*&1E=FEC95]T
M(&1E=BD*(`EI9B`H97)R*2!["B`)"6=O=&\@9&5T86-H.PH@"7T**PHK"2\J
M(%-Y<V-T;"!S='5F9B`J+PHK"6AI9%]I;G-T86QL7VAI9&1E<V-?<WES8W1L
M7VAA;F1L97(H9&5V+`HK"2`@("!S8RT^:&ED7W)D97-C+"!S8RT^:&ED7W)S
M:7IE*3L**PH@"7)E='5R;B`H,"D["B`*(&1E=&%C:#H*+0EI9B`H9%]P='(I
M('L*+0D)9G)E92AD7W!T<BP@35]414U0*3L*+0E]"B`)=6US7V1E=&%C:"AD
M978I.PH@"7)E='5R;B`H14Y/345-*3L*('T*0$`@+38T-BPV("LV-3,L.2!`
M0"!U;7-?9&5T86-H*&1E=FEC95]T('-E;&8I"B`*(`EM='A?9&5S=')O>2@F
M<V,M/G-C7VUT>"D["B`**PEI9B`H<V,M/FAI9%]R9&5S8RD**PD)9G)E92AS
M8RT^:&ED7W)D97-C+"!-7U530D1%5BD["BL*(`ER971U<FX@*#`I.PH@?0H@
M"F1I9F8@+2UG:70@82]S>7,O9&5V+W5S8B]U<V)?:&ED+F,@8B]S>7,O9&5V
M+W5S8B]U<V)?:&ED+F,*:6YD97@@-#<U-&(X,RXN,V4V8SEA-"`Q,#`V-#0*
M+2TM(&$O<WES+V1E=B]U<V(O=7-B7VAI9"YC"BLK*R!B+W-Y<R]D978O=7-B
M+W5S8E]H:60N8PI`0"`M.#,T+#,@*S@S-"PS."!`0"!U<V)D7W)E<5]G971?
M:&ED7V1E<V,H<W1R=6-T('5S8E]D979I8V4@*G5D978L('-T<G5C="!M='@@
M*FUT>"P*(`E]"B`)<F5T=7)N("A54T)?15)27TY/4DU!3%]#3TU03$5424].
M*3L*('T**PHK+RHM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TJ"BL@*B`@
M("!H:61?<WES8W1L7VAA;F1L97)?:&ED9&5S8PHK("H**R`J(%-Y<V-T;"@S
M*2!H86YD;&5R(&9O<B!T:&4@9&5V:6-E)W,@2$E$(&1E<V-R:7!T;W(N("!-
M96%N('1O(&)E('5S960**R`J(&)Y(&%L;"!(240@8VAI;&1R96X@9')I=F5R
M<R`H:68@=&AE>2!W86YT('-U8V@@<WES8W1L*2X**R`J+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM*B\**W-T871I8R!I;G0**VAI9%]S>7-C=&Q?:&%N
M9&QE<E]H:61D97-C*%-94T-43%](04Y$3$527T%21U,I"BM["BL):6YT(&5R
M<CL**PHK"4M!4U-%4E0H87)G,2`A/2!.54Q,+"`H(DA)1"!D97-C<FEP=&]R
M('!T<B!I<R!.54Q,("(**PD@(")I;G-I9&4@)VAI9&1E<V,G('-Y<V-T;"!H
M86YD;&5R(BDI.PHK"65R<B`](%-94T-43%]/550H<F5Q+"!A<F<Q+"!A<F<R
M*3L**PER971U<FX@*&5R<BD["BM]"BL**R\J+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM*@HK("H@("`@:&ED7VEN<W1A;&Q?<WES8W1L7VAA;F1L97)?
M:&ED9&5S8PHK("H**R`J($EN<W1A;&QS('-Y<V-T;"!H86YD;&5R(&9O<B!T
M:&4@9&5V:6-E)W,@(FAI9&1E<V,B(&QE868N"BL@*BTM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2HO"BMV;VED"BMH:61?:6YS=&%L;%]H:61D97-C7W-Y
M<V-T;%]H86YD;&5R*&1E=FEC95]T(&1E=BP@=F]I9"`J9&5S8RP@<VEZ95]T
M('-I>F4I"BM["BL):68@*&1E<V,@/3T@3E5,3"D**PD)<F5T=7)N.PHK"BL)
M4UE30U1,7T%$1%]04D]#*&1E=FEC95]G971?<WES8W1L7V-T>"AD978I+`HK
M"2`@("!365-#5$Q?0TA)3$1214XH9&5V:6-E7V=E=%]S>7-C=&Q?=')E92AD
M978I*2P**PD@("`@3TE$7T%55$\L(")H:61D97-C(BP@0U1,5%E015]35%))
M3D=\0U1,1DQ!1U]21"P**PD@("`@9&5S8RP@*&EN="ES:7IE+"!H:61?<WES
M8W1L7VAA;F1L97)?:&ED9&5S8RP**PD@("`@(D\B+"`B2$E$(')E<&]R="!D
M97-C<FEP=&]R(&9O<B!D979I8V4B*3L**WT*9&EF9B`M+6=I="!A+W-Y<R]D
M978O=7-B+W5S8FAI9"YH(&(O<WES+V1E=B]U<V(O=7-B:&ED+F@*:6YD97@@
M-&,U9C,Q,RXN93-F-C$P-2`Q,#`V-#0*+2TM(&$O<WES+V1E=B]U<V(O=7-B
M:&ED+F@**RLK(&(O<WES+V1E=B]U<V(O=7-B:&ED+F@*0$`@+3(S-2PU("LR
M,S4L-B!`0"!S=')U8W0@=7-B7VAI9%]D97-C<FEP=&]R("IH:61?9V5T7V1E
M<V-R:7!T;W)?9G)O;5]U<V(H"B!U<V)?97)R;W)?="!U<V)D7W)E<5]G971?
M:&ED7V1E<V,H<W1R=6-T('5S8E]D979I8V4@*G5D978L('-T<G5C="!M='@@
M*FUT>"P*(`D@("`@=F]I9"`J*F1E<V-P+"!U:6YT,39?="`J<VEZ97`L('-T
M<G5C="!M86QL;V-?='EP92`J;65M+`H@"2`@("!U:6YT.%]T(&EF86-E7VEN
M9&5X*3L**W9O:60@:&ED7VEN<W1A;&Q?:&ED9&5S8U]S>7-C=&Q?:&%N9&QE
M<BAD979I8V5?="!D978L('9O:60@*F1E<V,L('-I>F5?="!S:7IE*3L*("-E
M;F1I9@D)"0D)+RH@7TM%4DY%3"`J+PH@(V5N9&EF"0D)"0DO*B!?55-"7TA)
51%](7R`J+PHM+2`*,2XV+C,N,0H*
`
end
--- 0003-UHID-implement-new-sysctl-node-hiddesc.patch ends here ---

This patch handles user-level stuff: libusbhid is extended with the new
function that obtains HID report descriptor from all available places
(currently, from the sysctl and iocal calls).  usbhidctl is modified to
use this new API function.
--- 0004-libusbhid-use-new-sysctl-node-hiddesc-to-get-HID-des.patch begins here ---
begin 644 0004-libusbhid-use-new-sysctl-node-hiddesc-to-get-HID-des.patch
M1G)O;2`X96(V-F4V.#9B,C1B-V1F9&8S831C83$W-38U,34U,&,V93EF,F%F
M($UO;B!397`@,3<@,#`Z,#`Z,#`@,C`P,0I&<F]M.B!%>6=E;F4@4GEA8FEN
M:VEN(#QR96$M9F)S9$!C;V1E;&%B<RYR=3X*1&%T93H@36]N+"`R-R!*=6P@
M,C`P.2`Q,3HT.#HT-B`K,#0P,`I3=6)J96-T.B!;4$%40T@@-"\W72!L:6)U
M<V)H:60Z('5S92!N97<@<WES8W1L(&YO9&4@(FAI9&1E<V,B('1O(&=E="!(
M240@9&5S8W)I<'1O<@H*3F5W(&9U;F-T:6]N+"!H:61?9&5V;F%M95]G971?
M<F5P;W)T7V1E<V,L('=I;&P@=7-E(&)O=&@@879A:6QA8FQE"FUE8VAA;FES
M;7,@=&\@9V5T('1H92!D979I8V4G<R!(240@9&5S8W)I<'1O<CH@:70@=VEL
M;"!F:7)S="!T<GD@=&\*=7-E('-Y<V-T;"!A;F0@=VEL;"!F86QL(&)A8VL@
M=&\@=&AE(&AI9%]G971?<F5P;W)T7V1E<V,@:68@<WES8W1L"F1O97-N)W0@
M97AI<W1S(&]R('!R;W9I9&5S(&YO(&1A=&$N"@I!;'-O('5S92!T:&ES(&YE
M=R!!4$D@8V%L;"!I;B!T:&4@=7-B:&ED8W1L.B!T:&ES('=I;&P@86QL;W<@
M=&\@9'5M<`I(240@9&5S8W)I<'1O<G,@9G)O;2!T:&4@8VAI;&1R96X@;V8@
M=6AI9"@T*2P@<W5C:"!A<R!U;7,H-"D@86YD"G5K8F0H-"DN("!3:6YC92!T
M:&5S92!D<FEV97)S(&EN:&EB:70@8W)E871I;VX@;V8@=&AE('5H:60H-"D@
M9&5V:6-E"FYO9&5S+"!U<V)H:61C=&P@=&AA="!U<V5S(&]N;'D@:&ED7V=E
M=%]R97!O<G1?9&5S8R!I;B!I=',@8W5R<F5N=`IF;W)M("AD97-C<FEP=&]R
M(&ES(')E=')I979E9"!V:6$@:6]C=&PI(&ES;B=T(&%B;&4@=&\@9V5T(&1A
M=&$@9G)O;0I(240@8VAI;&1R96XZ"@H@+2!T:&5Y(&IU<W0@:&%V92!N;R!I
M;V-T;"!I;7!L96UE;G1A=&EO;CL*"B`M(&EF('1H97D@=V]U;&0@:&%V92!I
M="P@=&AE>2!A<F4@='EP:6-A;&QY(&%L<F5A9'D@;W!E;F5D(&)Y(&UO=7-E
M9"P*("`@6&]R9R!O<B!S;VUE(&]T:&5R(&%P<&QI8V%T:6]N+"!S;R!U<V)H
M:61C=&P@=V]N)W0@8F4@86)L92!T;R!O<&5N"B`@(&ET(&%G86EN+@H*4VEG
M;F5D+6]F9BUB>3H@17EG96YE(%)Y86)I;FMI;B`\<F5A+69B<V1`8V]D96QA
M8G,N<G4^"BTM+0H@;&EB+VQI8G5S8FAI9"]D97-C<BYC("`@("`@?"`@,38X
M("LK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RLK*RT*
M(&QI8B]L:6)U<V)H:60O=7-B:&ED+C,@("`@('P@("`Q,B`K*RL*(&QI8B]L
M:6)U<V)H:60O=7-B:&ED+F@@("`@('P@("`@,2`K"B!S>7,O9&5V+W5S8B]U
M<V)?:6]C=&PN:"`@("!\("`@(#,@*PH@=7-R+F)I;B]U<V)H:61C=&PO=7-B
M:&ED+F,@?"`@(#$W("LK*RTM"B`U(&9I;&5S(&-H86YG960L(#$Y,"!I;G-E
M<G1I;VYS*"LI+"`Q,2!D96QE=&EO;G,H+2D*"F1I9F8@+2UG:70@82]L:6(O
M;&EB=7-B:&ED+V1E<V-R+F,@8B]L:6(O;&EB=7-B:&ED+V1E<V-R+F,*:6YD
M97@@,F-E,6)F,"XN,&,Y.60V-2`Q,#`V-#0*+2TM(&$O;&EB+VQI8G5S8FAI
M9"]D97-C<BYC"BLK*R!B+VQI8B]L:6)U<V)H:60O9&5S8W(N8PI`0"`M,S`L
M.2`K,S`L,3(@0$`*(%]?1D)31$E$*"(D1G)E94)31"0B*3L*(`H@(VEN8VQU
M9&4@/'-Y<R]T>7!E<RYH/@HK(VEN8VQU9&4@/'-Y<R]S>7-C=&PN:#X*(`H@
M(VEN8VQU9&4@/&%S<V5R="YH/@HK(VEN8VQU9&4@/&-T>7!E+F@^"B`C:6YC
M;'5D92`\97)R;F\N:#X**R-I;F-L=61E(#QF8VYT;"YH/@H@(VEN8VQU9&4@
M/'-T9&QI8BYH/@H@(VEN8VQU9&4@/'-T<FEN9RYH/@H@(VEN8VQU9&4@/'5N
M:7-T9"YH/@I`0"`M-S,L-B`K-S8L,38T($!`(&AI9%]G971?<F5P;W)T7VED
M*&EN="!F9"D*(`ER971U<FX@*')E="D["B!]"B`**R\J"BL@*B!(96QP97(@
M9F]R('1H92!H:61?9&5V;F%M95]G971?<F5P;W)T7V1E<V,@=&AA="!W:6QL
M(&]P96X@=&AE"BL@*B!D979I8V4@86YD(')E=')I979E(')E<&]R="!D97-C
M<FEP=&]R('9I82!H:61?9V5T7W)E<&]R=%]D97-C*"DN"BL@*B\**W-T871I
M8R!R97!O<G1?9&5S8U]T"BM?:&ED7V1E=FYA;65?9V5T7W)E<&]R=%]D97-C
M*&-O;G-T(&-H87(@*F1E=BD**WL**PEI;G0@9F0["BL)<F5P;W)T7V1E<V-?
M="!R971V86P["BL**PEF9"`](&]P96XH9&5V+"!/7U)$5U(I.PHK"6EF("AF
M9"`\(#`I"BL)"7)E='5R;B!.54Q,.PHK"7)E='9A;"`](&AI9%]G971?<F5P
M;W)T7V1E<V,H9F0I.PHK"6-L;W-E*&9D*3L**PHK"7)E='5R;B!R971V86P[
M"BM]"BL**R\J"BL@*B!(96QP97(@=&AA="!V86QI9&%T97,@=&AE(&UE;6]R
M>2!C:'5N:R!T;R!B92!T:&4@=F%L:60@2$E$(&1E<V-R:7!T;W(N"BL@*@HK
M("H@4F5T=7)N<R`Q(&EF('9A;&ED871I;VX@<W5C8V5E9',L(#`@;W1H97)W
M:7-E+@HK("HO"BMS=&%T:6,@:6YT"BM?:7-?=F%L:61?:&ED7V1E<V,H=6YS
M:6=N960@8VAA<B`J9&%T82P@=6EN=#$V7W0@;&5N*0HK>PHK"2\J(&-H96-K
M('-I>F4@*B\**PEI9B`H;&5N(#T](#`I"BL)"7)E='5R;B`P.PHK"BL)+RH@
M8VAE8VL@14Y$7T-/3$Q%0U1)3TX@*B\**PEI9B`H*&1A=&$I6VQE;B`M(#%=
M("$](#!X0S`I"BL)"7)E='5R;B`P.PHK"BL)<F5T=7)N(#$["BM]"BL**R\J
M"BL@*B!/8G1A:6X@=&AE(&YA;64@;V8@=&AE('-Y<V-T;"!N;V1E('1H870@
M8V]R<F5S<&]N9',@=&\@82!G:79E;@HK("H@9&5V:6-E('!A=&@N"BL@*B!"
M87-I8V%L;'DL"BL@*B`@('-Y<V-T;%]N86UE(#T@(F1E=BX\;F%M93XN/'5N
M:70^("L@(BYH:61D97-C(@HK("H**R`J(%)E='5R;G,@3E5,3"!F;W(@86YY
M(&9A:6QU<F5S+"!O=&AE<G=I<V4@=&AE(&UA;&QO8R=E9"!P;VEN=&5R"BL@
M*B!I<R!R971U<FYE9#L@:70@;75S="!B92!F<F5E9"!A9G1E<B!U<V4N"BL@
M*@HK("H@3F]T97,Z(&EN(&]R9&5R('1O('-E;&5C="!T:&4@<FEG:'0@<WES
M8W1L('!A=&@L('=E)W)E(&5X=')A8W1I;F<**R`J('1H92!L87-T(&-O;7!O
M;F5N="!O9B!T:&4@9&5V:6-E('!A=&@L('-L:6-I;F<@:70@:6YT;R!N86UE
M(&%N9"!U;FET"BL@*B!N=6UB97(@86YD('1R86YS9F]R;6EN9R!I="!T;R!T
M:&4@<WES8W1L(&YO9&4@;F%M92X**R`J+PHK<W1A=&EC(&-H87(@*@HK7VAI
M9%]D979N86UE7W1O7W-Y<V-T;%]N86UE*&-O;G-T(&-H87(@*F1E=BD**WL*
M*PEC;VYS="!C:&%R("IS;&%S:"P@*FYA;65U;FET.PHK"6-H87(@*G-Y<V-T
M;%]N86UE.PHK"7-I>F5?="!S>7-C=&Q?;G-I>F4L(&DL(&H["BL):6YT('-E
M96Y?9&EG:70["BL**PES;&%S:"`]('-T<G)C:'(H9&5V+"`G+R<I.PHK"6YA
M;65U;FET(#T@*'-L87-H(#\@<VQA<V@@*R`Q(#H@9&5V*3L**PHK"6EF("AS
M=')L96XH;F%M975N:70I(#T](#`I"BL)"7)E='5R;B!.54Q,.PHK"BL)+RH*
M*R`)("H@5V4@=VEL;"!S<&QI8V4@;F%M92!A;F0@=6YI="!O;B!T:&4@9FQY
M+B`@5V4@:&%V90HK(`D@*B!T=V\@<VEZ96]F)W,@=&AA="!H879E(&%D9&ET
M:6]N86P@8GET92!I;B!L96YG=&@**R`)("H@8V]M:6YG(&9R;VT@)UPP)R!A
M="!T:&4@96YD.@HK(`D@*B`M(&9I<G-T(&%C8V]U;G1S(&9O<B!T:&4@861D
M:71I;VYA;"!D;W0@=&AA="!W:6QL(&)E"BL@"2`J("`@:6YS97)T960@8F5T
M=V5E;B!T:&4@;F%M92!A;F0@=6YI=#L**R`)("H@+2!S96-O;F0@86-C;W5N
M=',@9F]R('1H92!T<F%I;&EN9R`G7#`G+@HK(`D@*B\**PES>7-C=&Q?;G-I
M>F4@/0HK"2`@("!S:7IE;V8H(F1E=BXB*2`K('-T<FQE;BAN86UE=6YI="D@
M*R!S:7IE;V8H(BYH:61D97-C(BD["BL)<WES8W1L7VYA;64@/2`H8VAA<B`J
M*6-A;&QO8RAS:7IE;V8H8VAA<BDL('-Y<V-T;%]N<VEZ92D["BL):68@*"%S
M>7-C=&Q?;F%M92D**PD)<F5T=7)N($Y53$P["BL**PES=')L8W!Y*'-Y<V-T
M;%]N86UE+"`B9&5V+B(L('-Y<V-T;%]N<VEZ92D["BL**PES965N7V1I9VET
M(#T@,#L**PEF;W(@*&D@/2`P+"!J(#T@<W1R;&5N*'-Y<V-T;%]N86UE*3L@
M;F%M975N:71;:5T@(3T@)UPP)SL@:2LK+"!J*RLI('L**PD):68@*&ES9&EG
M:70H;F%M975N:71;:5TI("8F("%S965N7V1I9VET*2!["BL)"0ES965N7V1I
M9VET(#T@,3L**PD)"7-Y<V-T;%]N86UE6VI=(#T@)RXG.PHK"0D):BLK.PHK
M"0E]"BL)"7-Y<V-T;%]N86UE6VI=(#T@;F%M975N:71;:5T["BL)?0HK"7-Y
M<V-T;%]N86UE6VI=(#T@)UPP)SL**PHK"7-T<FQC870H<WES8W1L7VYA;64L
M("(N:&ED9&5S8R(L('-Y<V-T;%]N<VEZ92D["BL**PER971U<FX@<WES8W1L
M7VYA;64["BM]"BL**R\J"BL@*B!/8G1A:6YS('1H92!R97!O<G0@9&5S8W)I
M<'1O<B!V:6$@86QL(&%V86EL86)L92!M96%N<RX@($-U<G)E;G1L>0HK("H@
M=7-E9"!M96-H86YI<VUS(&%R93H**R`J("T@<WES8W1L('9A;'5E(&9R;VT@
M9&5V+CQD979N86UE/BX\9&5V=6YI=#XN:&ED9&5S8SL**R`J("T@:6]C=&P@
M=FEA(&AI9%]G971?<F5P;W)T7V1E<V,H*2X**R`J"BL@*B!!<F=U;65N=',Z
M"BL@*B`M(&1E=CH@9G5L;'D@<75A;&EF:65D(&1E=FEC92!N86UE+@HK("HO
M"BMR97!O<G1?9&5S8U]T"BMH:61?9&5V;F%M95]G971?<F5P;W)T7V1E<V,H
M8V]N<W0@8VAA<B`J9&5V*0HK>PHK"79O:60@*F1E<V-?9&%T82`](#`["BL)
M<VEZ95]T(&1E<V-?<VEZ92`](#`["BL)8VAA<B`J<WES8W1L7VYO9&4@/2`P
M.PHK"6EN="!E<G(@/2`P.PHK"7)E<&]R=%]D97-C7W0@<F5P(#T@3E5,3#L*
M*PHK"6EF("AD978@/3T@3E5,3"D**PD)<F5T=7)N($Y53$P["BL**PES>7-C
M=&Q?;F]D92`](%]H:61?9&5V;F%M95]T;U]S>7-C=&Q?;F%M92AD978I.PHK
M"6EF("AS>7-C=&Q?;F]D92`]/2!.54Q,*0HK"0EG;W1O(&)A9#L**PHK"2\J
M($1E=&5R;6EN92!T:&4@<VEZ92!O9B!T:&4@<F5P;W)T(&1E<V-R:7!T;W(N
M("HO"BL)97)R(#T@<WES8W1L8GEN86UE*'-Y<V-T;%]N;V1E+"!.54Q,+"`F
M9&5S8U]S:7IE+"!.54Q,+"`P*3L**PEI9B`H97)R*0HK"0EG;W1O(&)A9#L*
M*PEI9B`H9&5S8U]S:7IE(#T](#`@?'P@9&5S8U]S:7IE(#X@54=$7TU!6%-)
M6D4I"BL)"6=O=&\@8F%D.PHK"BL)9&5S8U]D871A(#T@;6%L;&]C*&1E<V-?
M<VEZ92D["BL):68@*&1E<V-?9&%T82`]/2!.54Q,*0HK"0EG;W1O(&)A9#L*
M*PHK"65R<B`]('-Y<V-T;&)Y;F%M92AS>7-C=&Q?;F]D92P@9&5S8U]D871A
M+"`F9&5S8U]S:7IE+"!.54Q,+"`P*3L**PEI9B`H97)R*0HK"0EG;W1O(&)A
M9#L**PHK"69R964H<WES8W1L7VYO9&4I.PHK"7-Y<V-T;%]N;V1E(#T@3E5,
M3#L**PHK"2\J($-H96-K(&1E<V-R:7!T;W(@=F%L:61I='D@*B\**PEI9B`H
M(5]I<U]V86QI9%]H:61?9&5S8RAD97-C7V1A=&$L(&1E<V-?<VEZ92DI"BL)
M"6=O=&\@8F%D.PHK"BL)<F5P(#T@:&ED7W5S95]R97!O<G1?9&5S8RAD97-C
M7V1A=&$L(&1E<V-?<VEZ92D["BL**PEF<F5E*&1E<V-?9&%T82D["BL)9&5S
M8U]D871A(#T@3E5,3#L**PHK"7)E='5R;B!R97`["BMB860Z"BL):68@*'-Y
M<V-T;%]N;V1E*0HK"0EF<F5E*'-Y<V-T;%]N;V1E*3L**PEI9B`H9&5S8U]D
M871A*0HK"0EF<F5E*&1E<V-?9&%T82D["BL)<F5T=7)N(%]H:61?9&5V;F%M
M95]G971?<F5P;W)T7V1E<V,H9&5V*3L**WT**PH@<F5P;W)T7V1E<V-?=`H@
M:&ED7V=E=%]R97!O<G1?9&5S8RAI;G0@9F0I"B!["D!`("TX-"PW("LR-#4L
M-R!`0"!H:61?9V5T7W)E<&]R=%]D97-C*&EN="!F9"D*(`H@"2\J(&=E="!A
M8W1U86P@;&5N9W1H(&9I<G-T("HO"B`)=6=D+G5G9%]D871A(#T@3E5,3#L*
M+0EU9V0N=6=D7VUA>&QE;B`](#8U-3,U.PHK"75G9"YU9V1?;6%X;&5N(#T@
M54=$7TU!6%-)6D4["B`):68@*&EO8W1L*&9D+"!54T)?1T547U)%4$]25%]$
M15-#+"`F=6=D*2`\(#`I('L*("-I9F1E9B!(241?0T]-4$%4-PH@"0DO*B!C
M;W5L9"!N;W0@<F5A9"!D97-C<FEP=&]R("HO"D!`("TQ,3(L.2`K,C<S+#@@
M0$`@:&ED7V=E=%]R97!O<G1?9&5S8RAI;G0@9F0I"B`)"7)E='5R;B`H3E5,
M3"D["B`)?0H@"BT)+RH@8VAE8VL@14Y$7T-/3$Q%0U1)3TX@*B\*+0EI9B`H
M*"AU;G-I9VYE9"!C:&%R("HI=6=D+G5G9%]D871A*5MU9V0N=6=D7V%C=&QE
M;B`M,5T@(3T@,'A#,"D@>PHM"0DO*B!I;G9A;&ED(&5N9"!B>71E("HO"BL)
M+RH@0VAE8VL@9&5S8W)I<'1O<B!V86QI9&ET>2`J+PHK"6EF("@A7VES7W9A
M;&ED7VAI9%]D97-C*&1A=&$L('5G9"YU9V1?86-T;&5N*2D@>PH@"0EF<F5E
M*&1A=&$I.PH@"0ER971U<FX@*$Y53$PI.PH@"7T*9&EF9B`M+6=I="!A+VQI
M8B]L:6)U<V)H:60O=7-B:&ED+C,@8B]L:6(O;&EB=7-B:&ED+W5S8FAI9"XS
M"FEN9&5X(&(T.34Q9C(N+C,R,C=F9#<@,3`P-C0T"BTM+2!A+VQI8B]L:6)U
M<V)H:60O=7-B:&ED+C,**RLK(&(O;&EB+VQI8G5S8FAI9"]U<V)H:60N,PI`
M0"`M,S(L-B`K,S(L-R!`0`H@+E-H($Y!344*("Y.;2!U<V)H:60@+`H@+DYM
M(&AI9%]G971?<F5P;W)T7V1E<V,@+`HK+DYM(&AI9%]D979N86UE7V=E=%]R
M97!O<G1?9&5S8R`L"B`N3FT@:&ED7V=E=%]R97!O<G1?:60@+`H@+DYM(&AI
M9%]U<V5?<F5P;W)T7V1E<V,@+`H@+DYM(&AI9%]D:7-P;W-E7W)E<&]R=%]D
M97-C("P*0$`@+34R+#8@*S4S+#@@0$`*("Y);B!U<V)H:60N:`H@+D9T(')E
M<&]R=%]D97-C7W0*("Y&;B!H:61?9V5T7W)E<&]R=%]D97-C(")I;G0@9FEL
M92(**RY&="!R97!O<G1?9&5S8U]T"BLN1FX@:&ED7V1E=FYA;65?9V5T7W)E
M<&]R=%]D97-C(")C;VYS="!C:&%R("ID978B"B`N1G0@:6YT"B`N1FX@:&ED
M7V=E=%]R97!O<G1?:60@(FEN="!F:6QE(@H@+D9T(&EN=`I`0"`M,3$S+#8@
M*S$Q-BPQ-2!`0"!!(')E<&]R="!D97-C<FEP=&]R(&-A;B!B92!O8G1A:6YE
M9"!B>2!C86QL:6YG"B!W:71H(&$@9FEL92!D97-C<FEP=&]R(&]B=&%I;F5D
M(&)Y(&]P96YI;F<@80H@+EAR('5H:60@-`H@9&5V:6-E+@HK3W(@<F5P;W)T
M(&1E<V-R:7!T;W(@8V%N(&)E(&]B=&%I;F5D(&)Y(&-A;&QI;F<**RY&;B!H
M:61?9&5V;F%M95]G971?<F5P;W)T7V1E<V,**W=I=&@@82!F=6QL>2UQ=6%L
M:69I960@<&%T:"!T;R!T:&4@9&5V:6-E.R!T:&ES(&9U;F-T:6]N(&%L;&]W
M<R!Q=65R>6EN9PHK;V8@=&AE(')E<&]R="!D97-C<FEP=&]R<R!F<F]M('1H
M90HK+EAR('5H:60@-`HK;W(@:71S(&-H:6QD<F5N('-U8V@@87,**RY8<B!U
M:V)D(#0**V%N9`HK+EAR('5M<R`T("X*($%L=&5R;F%T:79E;'D@82!D871A
M(&)U9F9E<B!C;VYT86EN:6YG('1H92!R97!O<G0@9&5S8W)I<'1O<B!C86X@
M8F4*('!A<W-E9"!I;G1O"B`N1FX@:&ED7W5S95]R97!O<G1?9&5S8R`N"F1I
M9F8@+2UG:70@82]L:6(O;&EB=7-B:&ED+W5S8FAI9"YH(&(O;&EB+VQI8G5S
M8FAI9"]U<V)H:60N:`II;F1E>"!B.#<U,6-D+BYF-3(R,65D(#$P,#8T-`HM
M+2T@82]L:6(O;&EB=7-B:&ED+W5S8FAI9"YH"BLK*R!B+VQI8B]L:6)U<V)H
M:60O=7-B:&ED+F@*0$`@+3@U+#8@*S@U+#<@0$`@7U]"14=)3E]$14-,4PH@
M"B`O*B!/8G1A:6YI;F<@82!R97!O<G0@9&5S8W)I<'1O<BP@9&5S8W(N8SH@
M*B\*(')E<&]R=%]D97-C7W0@:&ED7V=E=%]R97!O<G1?9&5S8RAI;G0@9FEL
M92D["BMR97!O<G1?9&5S8U]T(&AI9%]D979N86UE7V=E=%]R97!O<G1?9&5S
M8RAC;VYS="!C:&%R("ID978I.PH@<F5P;W)T7V1E<V-?="!H:61?=7-E7W)E
M<&]R=%]D97-C*'5N<VEG;F5D(&-H87(@*F1A=&$L('5N<VEG;F5D(&EN="!S
M:7IE*3L*('9O:60@:&ED7V1I<W!O<V5?<F5P;W)T7V1E<V,H<F5P;W)T7V1E
M<V-?="D["B!I;G0@:&ED7V=E=%]R97!O<G1?:60H:6YT(&9I;&4I.PID:69F
M("TM9VET(&$O<WES+V1E=B]U<V(O=7-B7VEO8W1L+F@@8B]S>7,O9&5V+W5S
M8B]U<V)?:6]C=&PN:`II;F1E>"!F.3`Q.&4R+BXQ861A-C<T(#$P,#8T-`HM
M+2T@82]S>7,O9&5V+W5S8B]U<V)?:6]C=&PN:`HK*RL@8B]S>7,O9&5V+W5S
M8B]U<V)?:6]C=&PN:`I`0"`M-3DL-B`K-3DL.2!`0"!S=')U8W0@=7-B7V%L
M=%]I;G1E<F9A8V4@>PH@"75I;G0X7W0)=6%I7V%L=%]I;F1E>#L*('T["B`*
M*R\J($UA>&EM86P@=F%L=64@;V8@=&AE('9A<FEA8FQE<R!U9V1?>VUA>&QE
M;BP@86-T;&5N+"!O9F9S971]+B`J+PHK(V1E9FEN90E51T1?34%84TE:10DV
M-34S-0HK"B!S=')U8W0@=7-B7V=E;E]D97-C<FEP=&]R('L*(`EV;VED("`@
M*G5G9%]D871A.PH@"75I;G0Q-E]T('5G9%]L86YG7VED.PID:69F("TM9VET
M(&$O=7-R+F)I;B]U<V)H:61C=&PO=7-B:&ED+F,@8B]U<W(N8FEN+W5S8FAI
M9&-T;"]U<V)H:60N8PII;F1E>"`T.#4T,3AF+BXU93`T,34U(#$P,#8T-`HM
M+2T@82]U<W(N8FEN+W5S8FAI9&-T;"]U<V)H:60N8PHK*RL@8B]U<W(N8FEN
M+W5S8FAI9&-T;"]U<V)H:60N8PI`0"`M,C8R+#<@*S(V,BPW($!`(&1U;7!D
M871A*&EN="!F+"!R97!O<G1?9&5S8U]T(')D+"!I;G0@;&]O<"D*(&EN=`H@
M;6%I;BAI;G0@87)G8RP@8VAA<B`J*F%R9W8I"B!["BT):6YT(&8["BL):6YT
M(&8@/2`M,3L*(`ER97!O<G1?9&5S8U]T('(["B`)8VAA<B!D979N86U;,3`P
M72P@*F1E=B`](#`["B`):6YT(&-H.PI`0"`M,S(Q+#$Q("LS,C$L-R!`0"!M
M86EN*&EN="!A<F=C+"!C:&%R("HJ87)G=BD*(`H@"6AI9%]I;FET*'1A8FQE
M*3L*(`HM"68@/2!O<&5N*&1E=BP@3U]21%=2*3L*+0EI9B`H9B`\(#`I"BT)
M"65R<B@Q+"`B)7,B+"!D978I.PHM"BT)<B`](&AI9%]G971?<F5P;W)T7V1E
M<V,H9BD["BL)<B`](&AI9%]D979N86UE7V=E=%]R97!O<G1?9&5S8RAD978I
M.PH@"6EF("AR(#T](#`I"B`)"65R<G@H,2P@(E530E]'151?4D503U)47T1%
M4T,B*3L*(`I`0"`M,S,S+#@@*S,R.2PQ-2!`0"!M86EN*&EN="!A<F=C+"!C
M:&%R("HJ87)G=BD*(`D)<')I;G1F*")297!O<G0@9&5S8W)I<'1O<CI<;B(I
M.PH@"0ED=6UP:71E;7,H<BD["B`)?0HM"6EF("AN;F%M97,@(3T@,"!\?"!A
M;&PI"BL**PEI9B`H;FYA;65S("$](#`@?'P@86QL*2!["BL)"68@/2!O<&5N
M*&1E=BP@3U]21%=2*3L**PD):68@*&8@/"`P*2!["BL)"0EE<G(H,2P@(B5S
M(BP@9&5V*3L**PD)?0H@"0ED=6UP9&%T82AF+"!R+"!L;V]P*3L**PD)8VQO
M<V4H9BD["BL)?0H@"B`):&ED7V1I<W!O<V5?<F5P;W)T7V1E<V,H<BD["B`)
697AI="@P*3L*+2T@"C$N-BXS+C$*"@``
`
end
--- 0004-libusbhid-use-new-sysctl-node-hiddesc-to-get-HID-des.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090727194459.393CFB8090>