linux/drivers/hid/hid-wacom.c
<<
n va6.3/spa 6.3/form 6.3a n va6. href="../linux+v32.67/drivers/hid/hid-wacom.c">n va6.3img src="../.static/gfx/right.png" alt=">>">n 3/spa n 3spa class="lxr_search">n va ="+search" method="post" onsubmit="return do_search(this);">n va6.3input typn> hidden" namn> navtarget" ption> ">n va6.3input typn> text" namn> search" id> search">n va6.3butt submit">Searchn va6.Prefs 6.3/a>n 3/spa va6. .3/div va6. .3form ac > ="ajax+*" method="post" onsubmit="return false;">n 3input typn> hidden" namn> ajax_lookup" id> ajax_lookup" ption> ">nva6. .3/form nva6. .3div class="headingbott
search_results" class="search_results" 6 va6. .3/div 3div id> content"> 3div id> file_contents"
bf/dc/1d3c8776c2d7abdfb8b2f59b3588b6a718c0_3/0" 
L1" class="line" namn>
L1">. .13/a>3spa
 class="comment">/*3/spa
  
L2" class="line" namn>
L2">. .23/a>3spa
 class="comment"> *  Biontooth Wacom Tablet support3/spa
  
L3" class="line" namn>
L3">. .33/a>3spa
 class="comment"> *3/spa
  
L4" class="line" namn>
L4">. .43/a>3spa
 class="comment"> *  Copyright (c) 1999 Andreas Gal3/spa
  
L5" class="line" namn>
L5">. .53/a>3spa
 class="comment"> *  Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>3/spa
  
L6" class="line" namn>
L6">. .63/a>3spa
 class="comment"> *  Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc3/spa
  
L7" class="line" namn>
L7">. .73/a>3spa
 class="comment"> *  Copyright (c) 2006-2007 Jiri Kosina3/spa
  
L8" class="line" namn>
L8">. .83/a>3spa
 class="comment"> *  Copyright (c) 2007 Paul Walmsley3/spa
  
L9" class="line" namn>
L9">. .93/a>3spa
 class="comment"> *  Copyright (c) 2008 Jiri Slaby <jirislaby@gmail.com>3/spa
  
L10" class="line" namn>
L10">. .10"a>3spa
 class="comment"> *  Copyright (c) 2006 Andrew Zabolotny <zap@homelink.ru>3/spa
  
L11" class="line" namn>
L11">. 113/a>3spa
 class="comment"> *  Copyright (c) 2009 Bastien Nocera <hadess@hadess.net>3/spa
  
L12" class="line" namn>
L12">. 123/a>3spa
 class="comment"> *  Copyright (c) 2011.Przemysław Firszt <przemo@firszt.eu>3/spa
  
L13" class="line" namn>
L13">. 133/a>3spa
 class="comment"> */3/spa
  
L14" class="line" namn>
L14">. 143/a> 
L15" class="line" namn>
L15">. 153/a>3spa
 class="comment">/*3/spa
  
L16" class="line" namn>
L16">. 163/a>3spa
 class="comment"> * This program is free software; you ca
 redistribute it and/or modify it3/spa
  
L17" class="line" namn>
L17">. 173/a>3spa
 class="comment"> * under the terms of the GNU General Public License as published by the Free3/spa
  
L18" class="line" namn>
L18">. 183/a>3spa
 class="comment"> * Software Founda  >
; either vers2
)3/spa
  
L19" class="line" namn>
L19">. 193/a>3spa
 class="comment"> * any later vers2
L20" class="line" namn>
L20">. 210"a>3spa
 class="comment"> */3/spa
  
L21" class="line" namn>
L21">. 213/a> 
L22" class="line" namn>
L22">. 223/a>#define.3a href="+code=pr_fmt" class="sref">pr_fmt3/a>(3a href="+code=fmt" class="sref">fmt3/a>).3a href="+code=KBUILD_MODNAME" class="sref">KBUILD_MODNAME3/a> 3spa
 class="string">": "3/spa
 .3a href="+code=fmt" class="sref">fmt3/a> 
L23" class="line" namn>
L23">. 233/a> 
L24" class="line" namn>
L24">. 243/a>#include <linux/device.h3/a>> 
L25" class="line" namn>
L25">. 253/a>#include <linux/hid.h3/a>> 
L26" class="line" namn>
L26">. 263/a>#include <linux/module.h3/a>> 
L27" class="line" namn>
L27">. 273/a>#include <linux/leds.h3/a>> 
L28" class="line" namn>
L28">. 283/a>#include <linux/slab.h3/a>> 
L29" class="line" namn>
L29">. 293/a>#include <linux/power_supply.h3/a>> 
L30" class="line" namn>
L30">. 303/a> 
L31" class="line" namn>
L31">. 313/a>#include "3a href="drivers/hid/hid-ids.h" class="fref">hid-ids.h3/a>" 
L32" class="line" namn>
L32">. 323/a> 
L33" class="line" namn>
L33">. 333/a>#define.3a href="+code=PAD_DEVICE_ID" class="sref">PAD_DEVICE_ID3/a>   0x0F 
L34" class="line" namn>
L34">. 343/a> 
L35" class="line" namn>
L35">. 353/a>#define.3a href="+code=WAC_CMD_LED_CONTROL" class="sref">WAC_CMD_LED_CONTROL3/a>     0x20 
L36" class="line" namn>
L36">. 363/a> 
L37" class="line" namn>
L37">. 373/a>struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> { 
L38" class="line" namn>
L38">. 383/a>       .3a href="+code=__u16" class="sref">__u163/a> 3a href="+code=tool" class="sref">tool3/a>; 
L39" class="line" namn>
L39">. 393/a>       .3a href="+code=__u16" class="sref">__u163/a> 3a href="+code=butstate" class="sref">butstate3/a>; 
L40" class="line" namn>
L40">. 403/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=whlstate" class="sref">whlstate3/a>; 
L41" class="line" namn>
L41">. 413/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=features" class="sref">features3/a>; 
L42" class="line" namn>
L42">. 423/a>       .3a href="+code=__u32" class="sref">__u323/a>.3a href="+code=id" class="sref">id3/a>; 
L43" class="line" namn>
L43">. 433/a>       .3a href="+code=__u32" class="sref">__u323/a>.3a href="+code=serial" class="sref">serial3/a>; 
L44" class="line" namn>
L44">. 443/a>       .unsigned char.3a href="+code=high_speed" class="sref">high_speed3/a>; 
L45" class="line" namn>
L45">. 453/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=battery_capacity" class="sref">battery_capacity3/a>; 
L46" class="line" namn>
L46">. 463/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=power_raw" class="sref">power_raw3/a>; 
L47" class="line" namn>
L47">. 473/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=ps_connected" class="sref">ps_connected3/a>; 
L48" class="line" namn>
L48">. 483/a>       .struct.3a href="+code=power_supply" class="sref">power_supply3/a> 3a href="+code=battery" class="sref">battery3/a>; 
L49" class="line" namn>
L49">. 493/a>       .struct.3a href="+code=power_supply" class="sref">power_supply3/a> 3a href="+code=ac" class="sref">ac3/a>; 
L50" class="line" namn>
L50">. 503/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=led_selector" class="sref">led_selector3/a>; 
L51" class="line" namn>
L51">. 513/a>       .struct.3a href="+code=led_classdev" class="sref">led_classdev3/a> *3a href="+code=leds" class="sref">leds3/a>[4]; 
L52" class="line" namn>
L52">. 523/a>}; 
L53" class="line" namn>
L53">. 533/a> 
L54" class="line" namn>
L54">. 543/a>3spa
 class="comment">/*percent of battery capacity for Graphire3/spa
  
L55" class="line" namn>
L55">. 553/a>3spa
 class="comment">  8th ption means AC online and show 100% capacity */3/spa
  
L56" class="line" namn>
L56">. 563/a>static.unsigned short.3a href="+code=batcap_gr" class="sref">batcap_gr3/a>[8] = { 1, 15, 25, 35, 50, 70, 100, 100 }; 
L57" class="line" namn>
L57">. 573/a>3spa
 class="comment">/*percent of battery capacity for Intuos4 WL, AC has a separate bit*/3/spa
  
L58" class="line" namn>
L58">. 583/a>static.unsigned short.3a href="+code=batcap_i4" class="sref">batcap_i43/a>[8] = { 1, 15, 30, 45, 60, 70, 85, 100 }; 
L59" class="line" namn>
L59">. 593/a> 
L60" class="line" namn>
L60">. 603/a>static.enum.3a href="+code=power_supply_property" class="sref">power_supply_property3/a> 3a href="+code=wacom_battery_props" class="sref">wacom_battery_props3/a>[] = { 
L61" class="line" namn>
L61">. 613/a>       .3a href="+code=POWER_SUPPLY_PROP_PRESENT" class="sref">POWER_SUPPLY_PROP_PRESENT3/a>, 
L62" class="line" namn>
L62">. 623/a>       .3a href="+code=POWER_SUPPLY_PROP_CAPACITY" class="sref">POWER_SUPPLY_PROP_CAPACITY3/a>, 
L63" class="line" namn>
L63">. 633/a>       .3a href="+code=POWER_SUPPLY_PROP_SCOPE" class="sref">POWER_SUPPLY_PROP_SCOPE3/a>, 
L64" class="line" namn>
L64">. 643/a>}; 
L65" class="line" namn>
L65">. 653/a> 
L66" class="line" namn>
L66">. 663/a>static.enum.3a href="+code=power_supply_property" class="sref">power_supply_property3/a> 3a href="+code=wacom_ac_props" class="sref">wacom_ac_props3/a>[] = { 
L67" class="line" namn>
L67">. 673/a>       .3a href="+code=POWER_SUPPLY_PROP_PRESENT" class="sref">POWER_SUPPLY_PROP_PRESENT3/a>, 
L68" class="line" namn>
L68">. 683/a>       .3a href="+code=POWER_SUPPLY_PROP_ONLINE" class="sref">POWER_SUPPLY_PROP_ONLINE3/a>, 
L69" class="line" namn>
L69">. 693/a>       .3a href="+code=POWER_SUPPLY_PROP_SCOPE" class="sref">POWER_SUPPLY_PROP_SCOPE3/a>, 
L70" class="line" namn>
L70">. 703/a>}; 
L71" class="line" namn>
L71">. 713/a> 
L72" class="line" namn>
L72">. 723/a>static.void 3a href="+code=wacom_leds_set_brightness" class="sref">wacom_leds_set_brightness3/a>(struct.3a href="+code=led_classdev" class="sref">led_classdev3/a> *3a href="+code=led_dev" class="sref">led_dev3/a>, 
L73" class="line" namn>
L73">. 733/a>       .........................................enum.3a href="+code=led_brightness" class="sref">led_brightness3/a> 3a href="+code=ption" class="sref">ption3/a>) 
L74" class="line" namn>
L74">. 743/a>{ 
L75" class="line" namn>
L75">. 753/a>       .struct.3a href="+code=device" class="sref">device3/a> *3a href="+code=dev" class="sref">dev3/a> =.3a href="+code=led_dev" class="sref">led_dev3/a>->3a href="+code=dev" class="sref">dev3/a>->3a href="+code=parent" class="sref">parent3/a>; 
L76" class="line" namn>
L76">. 763/a>       .struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class="sref">hdev3/a>; 
L77" class="line" namn>
L77">. 773/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a>; 
L78" class="line" namn>
L78">. 783/a>       .unsigned char.*3a href="+code=buf" class="sref">buf3/a>; 
L79" class="line" namn>
L79">. 793/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=led" class="sref">led3/a> =.0; 
L80" class="line" namn>
L80">. 803/a>       .int.3a href="+code=i" class="sref">i3/a>; 
L81" class="line" namn>
L81">. 813/a> 
L82" class="line" namn>
L82">. 823/a>       .3a href="+code=hdev" class="sref">hdev3/a> =.3a href="+code=container_of" class="sref">container_of3/a>(3a href="+code=dev" class="sref">dev3/a>,.struct.3a href="+code=hid_device" class="sref">hid_device3/a>,.3a href="+code=dev" class="sref">dev3/a>); 
L83" class="line" namn>
L83">. 833/a>       .3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=hid_get_drvda a" class="sref">hid_get_drvda a3/a>(3a href="+code=hdev" class="sref">hdev3/a>); 
L84" class="line" namn>
L84">. 843/a>       .for (3a href="+code=i" class="sref">i3/a> =.0;.3a href="+code=i" class="sref">i3/a> < 4; ++3a href="+code=i" class="sref">i3/a>) { 
L85" class="line" namn>
L85">. 853/a>       .       .if (3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>] ==.3a href="+code=led_dev" class="sref">led_dev3/a>) 
L86" class="line" namn>
L86">. 863/a>       .       .       .3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=led_selector" class="sref">led_selector3/a> =.3a href="+code=i" class="sref">i3/a>; 
L87" class="line" namn>
L87">. 873/a>       .} 
L88" class="line" namn>
L88">. 883/a> 
L89" class="line" namn>
L89">. 893/a>       .3a href="+code=led" class="sref">led3/a> =.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=led_selector" class="sref">led_selector3/a> | 0x04; 
L90" class="line" namn>
L90">. 903/a>       .3a href="+code=buf" class="sref">buf3/a> =.3a href="+code=kzalloc" class="sref">kzalloc3/a>(9,.3a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL3/a>); 
L91" class="line" namn>
L91">. 913/a>       .if (3a href="+code=buf" class="sref">buf3/a>) { 
L92" class="line" namn>
L92">. 923/a>       .       .3a href="+code=buf" class="sref">buf3/a>[0] =.3a href="+code=WAC_CMD_LED_CONTROL" class="sref">WAC_CMD_LED_CONTROL3/a>; 
L93" class="line" namn>
L93">. 933/a>       .........3a href="+code=buf" class="sref">buf3/a>[1] =.3a href="+code=led" class="sref">led3/a>; 
L94" class="line" namn>
L94">. 943/a>       .........3a href="+code=buf" class="sref">buf3/a>[2] =.3a href="+code=ption" class="sref">ption3/a>; 
L95" class="line" namn>
L95">. 953/a>       .       .3a href="+code=hdev" class="sref">hdev3/a>->3a href="+code=hid_output_raw_report" class="sref">hid_output_raw_report3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3a href="+code=buf" class="sref">buf3/a>, 9,.3a href="+code=HID_FEATURE_REPORT" class="sref">HID_FEATURE_REPORT3/a>); 
L96" class="line" namn>
L96">. 963/a>       .       .3a href="+code=kfree" class="sref">kfree3/a>(3a href="+code=buf" class="sref">buf3/a>); 
L97" class="line" namn>
L97">. 973/a>       .} 
L98" class="line" namn>
L98">. 983/a> 
L99" class="line" namn>
L99">. 993/a>       .return; 
L100" class="line" namn>
L100">.1003/a>} 
L101" class="line" namn>
L101">.1013/a> 
L102" class="line" namn>
L102">.1023/a>static.enum.3a href="+code=led_brightness" class="sref">led_brightness3/a> 3a href="+code=wacom_leds_get_brightness" class="sref">wacom_leds_get_brightness3/a>(struct.3a href="+code=led_classdev" class="sref">led_classdev3/a> *3a href="+code=led_dev" class="sref">led_dev3/a>) 
L103" class="line" namn>
L103">.1033/a>{ 
L104" class="line" namn>
L104">.1043/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a>; 
L105" class="line" namn>
L105">.1053/a>       .struct.3a href="+code=device" class="sref">device3/a> *3a href="+code=dev" class="sref">dev3/a> =.3a href="+code=led_dev" class="sref">led_dev3/a>->3a href="+code=dev" class="sref">dev3/a>->3a href="+code=parent" class="sref">parent3/a>; 
L106" class="line" namn>
L106">.1063/a>       .int.3a href="+code=ption" class="sref">ption3/a> =.0; 
L107" class="line" namn>
L107">.1073/a>       .int.3a href="+code=i" class="sref">i3/a>; 
L108" class="line" namn>
L108">.1083/a> 
L109" class="line" namn>
L109">.1093/a>       .3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=hid_get_drvda a" class="sref">hid_get_drvda a3/a>(3a href="+code=container_of" class="sref">container_of3/a>(3a href="+code=dev" class="sref">dev3/a>,.struct.3a href="+code=hid_device" class="sref">hid_device3/a>,.3a href="+code=dev" class="sref">dev3/a>)); 
L110" class="line" namn>
L110">.1103/a> 
L111" class="line" namn>
L111">.1113/a>       .for (3a href="+code=i" class="sref">i3/a> =.0;.3a href="+code=i" class="sref">i3/a> < 4; ++3a href="+code=i" class="sref">i3/a>) { 
L112" class="line" namn>
L112">.1123/a>       .       .if (3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>] ==.3a href="+code=led_dev" class="sref">led_dev3/a>) { 
L113" class="line" namn>
L113">.1133/a>       .................3a href="+code=ption" class="sref">ption3/a> =.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>]->3a href="+code=brightness" class="sref">brightness3/a>; 
L114" class="line" namn>
L114">.1143/a>       .................break; 
L115" class="line" namn>
L115">.1153/a>       .       .} 
L116" class="line" namn>
L116">.1163/a>       .} 
L117" class="line" namn>
L117">.1173/a> 
L118" class="line" namn>
L118">.1183/a>       .return 3a href="+code=ption" class="sref">ption3/a>; 
L119" class="line" namn>
L119">.1193/a>} 
L120" class="line" namn>
L120">.1203/a> 
L121" class="line" namn>
L121">.1213/a> 
L122" class="line" namn>
L122">.1223/a>static.int.3a href="+code=wacom_initialize_leds" class="sref">wacom_initialize_leds3/a>(struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class="sref">hdev3/a>) 
L123" class="line" namn>
L123">.1233/a>{ 
L124" class="line" namn>
L124">.1243/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=hid_get_drvda a" class="sref">hid_get_drvda a3/a>(3a href="+code=hdev" class="sref">hdev3/a>); 
L125" class="line" namn>
L125">.1253/a>       .struct.3a href="+code=led_classdev" class="sref">led_classdev3/a> *3a href="+code=led" class="sref">led3/a>; 
L126" class="line" namn>
L126">.1263/a>       .struct.3a href="+code=device" class="sref">device3/a> *3a href="+code=dev" class="sref">dev3/a> =.&3a href="+code=hdev" class="sref">hdev3/a>->3a href="+code=dev" class="sref">dev3/a>; 
L127" class="line" namn>
L127">.1273/a>       .3a href="+code=size_t" class="sref">size_t3/a> 3a href="+code=namnsz" class="sref">namnsz3/a> =.3a href="+code=strlen" class="sref">strlen3/a>(3a href="+code=dev_namn" class="sref">dev_namn3/a>(3a href="+code=dev" class="sref">dev3/a>)) +.12; 
L128" class="line" namn>
L128">.1283/a>       .char.*3a href="+code=namn" class="sref">namn3/a>; 
L129" class="line" namn>
L129">.1293/a>       .int.3a href="+code=i" class="sref">i3/a>,.3a href="+code=ret" class="sref">ret3/a>; 
L130" class="line" namn>
L130">.1303/a> 
L131" class="line" namn>
L131">.1313/a>       .3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=led_selector" class="sref">led_selector3/a> =.0; 
L132" class="line" namn>
L132">.1323/a> 
L133" class="line" namn>
L133">.1333/a>       .for (3a href="+code=i" class="sref">i3/a> =.0;.3a href="+code=i" class="sref">i3/a> < 4; 3a href="+code=i" class="sref">i3/a>++) { 
L134" class="line" namn>
L134">.1343/a>       .........3a href="+code=led" class="sref">led3/a> =.3a href="+code=kzalloc" class="sref">kzalloc3/a>(sizeof(struct.3a href="+code=led_classdev" class="sref">led_classdev3/a>) +.3a href="+code=namnsz" class="sref">namnsz3/a>,.3a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL3/a>); 
L135" class="line" namn>
L135">.1353/a>       .       .if (!3a href="+code=led" class="sref">led3/a>) { 
L136" class="line" namn>
L136">.1363/a>       .       .       .3a href="+code=hid_warn" class="sref">hid_warn3/a>(3a href="+code=hdev" class="sref">hdev3/a>, 
L137" class="line" namn>
L137">.1373/a>       .       .       ..       .3spa
 class="string">"can't allocate memory for LED selector\n"3/spa
 ); 
L138" class="line" namn>
L138">.1383/a>       .       .       .3a href="+code=ret" class="sref">ret3/a> =.-3a href="+code=ENOMEM" class="sref">ENOMEM3/a>; 
L139" class="line" namn>
L139">.1393/a>       .................goto.3a href="+code=err" class="sref">err3/a>; 
L140" class="line" namn>
L140">.1403/a>       .........} 
L141" class="line" namn>
L141">.1413/a> 
L142" class="line" namn>
L142">.1423/a>       .       .3a href="+code=namn" class="sref">namn3/a> =.(void *)&3a href="+code=led" class="sref">led3/a>[1]; 
L143" class="line" namn>
L143">.1433/a>       .........3a href="+code=snprintf" class="sref">snprintf3/a>(3a href="+code=namn" class="sref">namn3/a>,.3a href="+code=namnsz" class="sref">namnsz3/a>,.3spa
 class="string">"%s:selector:%d"3/spa
 ,.3a href="+code=dev_namn" class="sref">dev_namn3/a>(3a href="+code=dev" class="sref">dev3/a>),.3a href="+code=i" class="sref">i3/a>); 
L144" class="line" namn>
L144">.1443/a>       .........3a href="+code=led" class="sref">led3/a>->3a href="+code=namn" class="sref">namn3/a> =.3a href="+code=namn" class="sref">namn3/a>; 
L145" class="line" namn>
L145">.1453/a>       .       .3a href="+code=led" class="sref">led3/a>->3a href="+code=brightness" class="sref">brightness3/a> =.0; 
L146" class="line" namn>
L146">.1463/a>       .       .3a href="+code=led" class="sref">led3/a>->3a href="+code=max_brightness" class="sref">max_brightness3/a> =.127; 
L147" class="line" namn>
L147">.1473/a>       .       .3a href="+code=led" class="sref">led3/a>->3a href="+code=brightness_get" class="sref">brightness_get3/a> =.3a href="+code=wacom_leds_get_brightness" class="sref">wacom_leds_get_brightness3/a>; 
L148" class="line" namn>
L148">.1483/a>       .       .3a href="+code=led" class="sref">led3/a>->3a href="+code=brightness_set" class="sref">brightness_set3/a> =.3a href="+code=wacom_leds_set_brightness" class="sref">wacom_leds_set_brightness3/a>; 
L149" class="line" namn>
L149">.1493/a> 
L150" class="line" namn>
L150">.1503/a>       .........3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>] =.3a href="+code=led" class="sref">led3/a>; 
L151" class="line" namn>
L151">.1513/a> 
L152" class="line" namn>
L152">.1523/a>       .       .3a href="+code=ret" class="sref">ret3/a> =.3a href="+code=led_classdev_register" class="sref">led_classdev_register3/a>(3a href="+code=dev" class="sref">dev3/a>,.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>]); 
L153" class="line" namn>
L153">.1533/a> 
L154" class="line" namn>
L154">.1543/a>       .........if (3a href="+code=ret" class="sref">ret3/a>) { 
L155" class="line" namn>
L155">.1553/a>       .       .........3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>] =.3a href="+code=NULL" class="sref">NULL3/a>; 
L156" class="line" namn>
L156">.1563/a>       .       .       .3a href="+code=kfree" class="sref">kfree3/a>(3a href="+code=led" class="sref">led3/a>); 
L157" class="line" namn>
L157">.1573/a>       .       .       .3a href="+code=hid_warn" class="sref">hid_warn3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3spa
 class="string">"can't register LED\n"3/spa
 ); 
L158" class="line" namn>
L158">.1583/a>       .       .       .goto.3a href="+code=err" class="sref">err3/a>; 
L159" class="line" namn>
L159">.1593/a>       .........} 
L160" class="line" namn>
L160">.1603/a>       .} 
L161" class="line" namn>
L161">.1613/a> 
L162" class="line" namn>
L162">.1623/a>3a href="+code=err" class="sref">err3/a>: 
L163" class="line" namn>
L163">.1633/a>       .return 3a href="+code=ret" class="sref">ret3/a>; 
L164" class="line" namn>
L164">.1643/a>} 
L165" class="line" namn>
L165">.1653/a> 
L166" class="line" namn>
L166">.1663/a>static.void 3a href="+code=wacom_destroy_leds" class="sref">wacom_destroy_leds3/a>(struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class="sref">hdev3/a>) 
L167" class="line" namn>
L167">.1673/a>{ 
L168" class="line" namn>
L168">.1683/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=hid_get_drvda a" class="sref">hid_get_drvda a3/a>(3a href="+code=hdev" class="sref">hdev3/a>); 
L169" class="line" namn>
L169">.1693/a>       .struct.3a href="+code=led_classdev" class="sref">led_classdev3/a> *3a href="+code=led" class="sref">led3/a>; 
L170" class="line" namn>
L170">.1703/a>       .int.3a href="+code=i" class="sref">i3/a>; 
L171" class="line" namn>
L171">.1713/a> 
L172" class="line" namn>
L172">.1723/a>       .for (3a href="+code=i" class="sref">i3/a> =.0;.3a href="+code=i" class="sref">i3/a> < 4; ++3a href="+code=i" class="sref">i3/a>) { 
L173" class="line" namn>
L173">.1733/a>       .........if (3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>]) { 
L174" class="line" namn>
L174">.1743/a>       .................3a href="+code=led" class="sref">led3/a> =.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>]; 
L175" class="line" namn>
L175">.1753/a>       .       .........3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=leds" class="sref">leds3/a>[3a href="+code=i" class="sref">i3/a>] =.3a href="+code=NULL" class="sref">NULL3/a>; 
L176" class="line" namn>
L176">.1763/a>       .       .       .3a href="+code=led_classdev_unregister" class="sref">led_classdev_unregister3/a>(3a href="+code=led" class="sref">led3/a>); 
L177" class="line" namn>
L177">.1773/a>       .       .       .3a href="+code=kfree" class="sref">kfree3/a>(3a href="+code=led" class="sref">led3/a>); 
L178" class="line" namn>
L178">.1783/a>       .       .} 
L179" class="line" namn>
L179">.1793/a>       .} 
L180" class="line" namn>
L180">.1803/a> 
L181" class="line" namn>
L181">.1813/a>} 
L182" class="line" namn>
L182">.1823/a> 
L183" class="line" namn>
L183">.1833/a>static.int.3a href="+code=wacom_battery_get_property" class="sref">wacom_battery_get_property3/a>(struct.3a href="+code=power_supply" class="sref">power_supply3/a> *3a href="+code=psy" class="sref">psy3/a>, 
L184" class="line" namn>
L184">.1843/a>       .........................enum.3a href="+code=power_supply_property" class="sref">power_supply_property3/a> 3a href="+code=psp" class="sref">psp3/a>, 
L185" class="line" namn>
L185">.1853/a>       .       .................un2power_supply_propval3/a> *3a href="+code=val" class="sref">val3/a>) 
L186" class="line" namn>
L186">.1863/a>{ 
L187" class="line" namn>
L187">.1873/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=container_of" class="sref">container_of3/a>(3a href="+code=psy" class="sref">psy3/a>, 
L188" class="line" namn>
L188">.1883/a>       .       .       .................struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a>,.3a href="+code=battery" class="sref">battery3/a>); 
L189" class="line" namn>
L189">.1893/a>       .int.3a href="+code=ret" class="sref">ret3/a> =.0; 
L190" class="line" namn>
L190">.1903/a> 
L191" class="line" namn>
L191">.1913/a>       .switch (3a href="+code=psp" class="sref">psp3/a>) { 
L192" class="line" namn>
L192">.1923/a>       .case.3a href="+code=POWER_SUPPLY_PROP_PRESENT" class="sref">POWER_SUPPLY_PROP_PRESENT3/a>: 
L193" class="line" namn>
L193">.1933/a>       .........3a href="+code=val" class="sref">val3/a>->3a href="+code=intval" class="sref">intval3/a> =.1; 
L194" class="line" namn>
L194">.1943/a>       .........break; 
L195" class="line" namn>
L195">.1953/a>       .case.3a href="+code=POWER_SUPPLY_PROP_SCOPE" class="sref">POWER_SUPPLY_PROP_SCOPE3/a>: 
L196" class="line" namn>
L196">.1963/a>       .       .3a href="+code=val" class="sref">val3/a>->3a href="+code=intval" class="sref">intval3/a> =.3a href="+code=POWER_SUPPLY_SCOPE_DEVICE" class="sref">POWER_SUPPLY_SCOPE_DEVICE3/a>; 
L197" class="line" namn>
L197">.1973/a>       .       .break; 
L198" class="line" namn>
L198">.1983/a>       .case.3a href="+code=POWER_SUPPLY_PROP_CAPACITY" class="sref">POWER_SUPPLY_PROP_CAPACITY3/a>: 
L199" class="line" namn>
L199">.1993/a>       .........3a href="+code=val" class="sref">val3/a>->3a href="+code=intval" class="sref">intval3/a> =.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=battery_capacity" class="sref">battery_capacity3/a>; 
L200" class="line" namn>
L200">.2003/a>       .........break; 
L201" class="line" namn>
L201">.2013/a>       .default: 
L202" class="line" namn>
L202">.2023/a>       .       .3a href="+code=ret" class="sref">ret3/a> =.-3a href="+code=EINVAL" class="sref">EINVAL3/a>; 
L203" class="line" namn>
L203">.2033/a>       .........break; 
L204" class="line" namn>
L204">.2043/a>       .} 
L205" class="line" namn>
L205">.2053/a>       .return 3a href="+code=ret" class="sref">ret3/a>; 
L206" class="line" namn>
L206">.2063/a>} 
L207" class="line" namn>
L207">.2073/a> 
L208" class="line" namn>
L208">.2083/a>static.int.3a href="+code=wacom_ac_get_property" class="sref">wacom_ac_get_property3/a>(struct.3a href="+code=power_supply" class="sref">power_supply3/a> *3a href="+code=psy" class="sref">psy3/a>, 
L209" class="line" namn>
L209">.2093/a>       .........................enum.3a href="+code=power_supply_property" class="sref">power_supply_property3/a> 3a href="+code=psp" class="sref">psp3/a>, 
L210" class="line" namn>
L210">.2103/a>       .........................un2power_supply_propval3/a> *3a href="+code=val" class="sref">val3/a>) 
L211" class="line" namn>
L211">.2113/a>{ 
L212" class="line" namn>
L212">.2123/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=container_of" class="sref">container_of3/a>(3a href="+code=psy" class="sref">psy3/a>,.struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a>,.3a href="+code=ac" class="sref">ac3/a>); 
L213" class="line" namn>
L213">.2133/a>       .int.3a href="+code=ret" class="sref">ret3/a> =.0; 
L214" class="line" namn>
L214">.2143/a> 
L215" class="line" namn>
L215">.2153/a>       .switch (3a href="+code=psp" class="sref">psp3/a>) { 
L216" class="line" namn>
L216">.2163/a>       .case.3a href="+code=POWER_SUPPLY_PROP_PRESENT" class="sref">POWER_SUPPLY_PROP_PRESENT3/a>: 
L217" class="line" namn>
L217">.2173/a>       .       .3spa
 class="comment">/* fall through */3/spa
  
L218" class="line" namn>
L218">.2183/a>       .case.3a href="+code=POWER_SUPPLY_PROP_ONLINE" class="sref">POWER_SUPPLY_PROP_ONLINE3/a>: 
L219" class="line" namn>
L219">.2193/a>       .........3a href="+code=val" class="sref">val3/a>->3a href="+code=intval" class="sref">intval3/a> =.3a href="+code=wda a" class="sref">wda a3/a>->3a href="+code=ps_connected" class="sref">ps_connected3/a>; 
L220" class="line" namn>
L220">.2203/a>       .........break; 
L221" class="line" namn>
L221">.2213/a>       .case.3a href="+code=POWER_SUPPLY_PROP_SCOPE" class="sref">POWER_SUPPLY_PROP_SCOPE3/a>: 
L222" class="line" namn>
L222">.2223/a>       .       .3a href="+code=val" class="sref">val3/a>->3a href="+code=intval" class="sref">intval3/a> =.3a href="+code=POWER_SUPPLY_SCOPE_DEVICE" class="sref">POWER_SUPPLY_SCOPE_DEVICE3/a>; 
L223" class="line" namn>
L223">.2233/a>       .........break; 
L224" class="line" namn>
L224">.2243/a>       .default: 
L225" class="line" namn>
L225">.2253/a>       .       .3a href="+code=ret" class="sref">ret3/a> =.-3a href="+code=EINVAL" class="sref">EINVAL3/a>; 
L226" class="line" namn>
L226">.2263/a>       .       .break; 
L227" class="line" namn>
L227">.2273/a>       .} 
L228" class="line" namn>
L228">.2283/a>       .return 3a href="+code=ret" class="sref">ret3/a>; 
L229" class="line" namn>
L229">.2293/a>} 
L230" class="line" namn>
L230">.2303/a> 
L231" class="line" namn>
L231">.2313/a>static.void 3a href="+code=wacom_set_features" class="sref">wacom_set_features3/a>(struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class="sref">hdev3/a>,.3a href="+code=u8" class="sref">u83/a> 3a href="+code=speed" class="sref">speed3/a>) 
L232" class="line" namn>
L232">.2323/a>{ 
L233" class="line" namn>
L233">.2333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3a href="+code=hid_get_drvda a" class="sref">hid_get_drvda a3/a>(3a href="+code=hdev" class="sref">hdev3/a>); 
L234" class="line" namn>
L234">.2343/a>       .int.3a href="+code=limit" class="sref">limit3/a>,.3a href="+code=ret" class="sref">ret3/a>; 
L235" class="line" namn>
L235">.2353/a>       .3a href="+code=__u8" class="sref">__u83/a> 3a href="+code=rep_da a" class="sref">rep_da a3/a>[2]; 
L236" class="line" namn>
L236">.2363/a> 
L237" class="line" namn>
L237">.c"driversivers/hid/hid-wacom.c#L234" id>
L234" clag1 href="drivers/hid/h8od/a>e=ps_connected" 8od/a>ass="sref">psp3/a>) { 
L138" class=2line"23amn>
L218">.2183/a>       .case.3USBR_SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHe=ps_connected"USBR_SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHPLY_PROP_SCOPE3/a>: 
L139" class=2line"2namn>
L139">.1393/a>  ref">__u83/a> 3a href="+code=rep_da a" class="sref"sref"0x03 ref">i3/a> =.0;.3a href="+code=rep_da a" class="sref"1ref"0x0ef">ret3/a> =.0; 
L140" class=2line"2namn>
L140">.1403/a>  a>       .int.3a href="+code=limit" class="sef"3f">ret3/a> =.0; 
L141" class=2line"241mn>
L140">.1403/a>  dosref">psp3/a>) { 
L142" class=2line"2namn>
L142">.1423/a>  253/a>       .       .3a href="+code=ret" class="srivers/hid/hid-wacom.c#L234" id>
L234" clag1 href="drivers/hid/h href="+code=hid_output_raw_report" class="sref">hid_output_raw_report3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3a href="+code=rep_da a" class="sref, 2"sref">psp3/a>, 
L143" class=2line"2namn>
L143">.1433/a>  L142">.1423/a>  253/a>       .       .3a href="+code=HID_FEATURE_REPORT" class="sref">HID_FEATURE_REPORT3/a>); 
L144" class=2line"2namn>
L144">.1443/a>  } while   .........if (3a href="+code=ret" class=s="sre0ref">def">d a>       .int.3a href="+code=limit" class="s--  hre 0URE_REPORT3/a>); 
L145" class=2line"24amn>
L165">.1653/a> 
L146" class=2line"2namn>
L146">.1463/a>       .........if (3a href="+code=ret" class=  href"0"sref">psp3/a>) { 
L147" class=2line"2namn>
L147">.1473/a>  463/a>       .........if (3a href="+code=speed" class="s="sr0ref">speed3/a>) 
L148" class=2line"2namn>
L148">.1483/a>  423/a>  253/a>       .       .3a href="+code=rep_da a" class="sref"sref"0x05RE_REPORT3/a>); 
L149" class=2line"24amn>
L209">.2093/a>       ...elseE_REPORT3/a>); 
L150" class=2line"2namn>
L150">.1503/a>  423/a>  253/a>       .       .3a href="+code=rep_da a" class="sref"sref"0x06RE_REPORT3/a>); 
L151" class=2line"2namn>
L151">.1513/a> 
L152" class=2line"2namn>
L152">.1523/a>  253/a>       .       .3a href="+code=rep_da a" class="sref"1ref"0x0ef">ret3/a> =.0; 
L153" class=2line"25amn>
L113">.1133/a>       .................3a href="+code=limit" class="sef"3f">ret3/a> =.0; 
L154" class=2line"2namn>
L154">.1543/a>          dosref">psp3/a>) { 
L155" class=2line"2namn>
L155">.1553/a>       .  253/a>       .       .3a href="+code=ret" class="srivers/hid/hid-wacom.c#L234" id>
L234" clag1 href="drivers/hid/h href="+code=hid_output_raw_report" class="sref">hid_output_raw_report3/a>(3a href="+code=hdev" class="sef">psp3/a>) { 
L156" class=2line"2namn>
L156">.1563/a>       .  523/a>  253/a>       .       .3a href="+code=rep_da a" class="sref, 2"      .       .3a href="+code=HID_FEATURE_REPORT" class="sref">HID_FEATURE_REPORT3/a>); 
L157" class=2line"2namn>
L157">.1573/a>       .  } while   .........if (3a href="+code=ret" class=s="sre0ref">def">d a>       .int.3a href="+code=limit" class="s--  hre 0URE_REPORT3/a>); 
L158" class=2line"25amn>
L108">.1083/a> 
L159" class=2line"2namn>
L159">.1593/a>               .........if (3a href="+code=ret" class=  href"0"sref">psp3/a>) { 
L160" class=2line"26amn>
L150">.1503/a>  423/a>  253/a>       .       .3a href="+code=wda a" class="sref">wda a3/a>->3high_a href="+code=speed"high_a hreass="srivers/hid/hid-wa href="+code=speed" class="sRE_REPORT3/a>); 
L161" class=2line"261mn>
L140">.1403/a>                  993/a>       .return; 
L162" class=2line"26amn>
L152">.1523/a>  253/a>  L229">.2293/a>} 
L163" class=2line"26amn>
L113">.1133/a>  L229">.2293/a>} 
L164" class=2line"26amn>
L214">.2143/a> 
L165" class=2line"26amn>
L225">.2253/a>       .       .3spa
 clasall through */3/spa
  
L166" class=2line"2namn>
     .       .3spa
 cl1523/a>  253/a>  * Note that    the f"> queries fail, iting">s not gh ard failureall through */3/spa
  
L167" class=2line"2namn>
     .       .3spa
 cl1523/a>  253/a>  * and it is safe to  clainueall through */3/spa
  
L168" class=2line"2namn>
     .       .3spa
 cl1523/a>  253/a>  *fall through */3/spa
  
L169" class=2line"26amn>
L139">.1393/a>  ref">__u83/a> 3h href="+code=hid_warn" class="sref">hid_warn3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3spa
 class="failed to poke ss="sr, .3spand 37;s:s, err 37;s:st register LED\sef">psp3/a>) { 
L170" class=2line"27amn>
L150">.1503/a>  423/a>  2     .       .3a href="+code=rep_da a" class="sref"srref">limit3/a>,.3a href="+code=ret" class=URE_REPORT3/a>); 
L171" class=2line"271mn>
L140">.1403/a>       .       .break; 
L172" class=2line"27amn>
L192">.1923/a>       .case.3USBR_SUPPL_ID_WACOM_INTUOS4_BLUETOOTHe=ps_connected"USBR_SUPPL_ID_WACOM_INTUOS4_BLUETOOTHPLY_PROP_SCOPE3/a>: 
L173" class=2line"2namn>
L173">.1733/a>       .........if (3a href="+code=speed" class="s="sr1ref">speed3/a>) 
L174" class=2line"2namn>
L174">.1743/a>       .................3a href="+code=wda a" class="sref">wda a3/a>->3ode=wacom_set_features"ef">wacom_seref">d= ~0x2ef">ret3/a> =.0; 
L175" class=2line"2namn>
L175">.1753/a>  elseE_REPORT3/a>); 
L176" class=2line"2namn>
L176">.1763/a>       .       .       .3a href="+code=wda a" class="sref">wda a3/a>->3ode=wacom_set_features"ef">wacom_ser|f"0x2ef">ret3/a> =.0; 
L177" class=2line"27amn>
L207">.2073/a> 
L178" class=2line"2namn>
L178">.1783/a>  ref">__u83/a> 3a href="+code=rep_da a" class="sref"sref"0x03f">ret3/a> =.0; 
L179" class=2line"27amn>
L139">.1393/a>  ref">__u83/a> 3a href="+code=rep_da a" class="sref"1s="sref">i3/a>] =.3a href="+code=wda a" class="sref">wda a3/a>->3ode=wacom_set_features"ef">wacom_sef">ret3/a> =.0; 
L180" class=2line"2namn>
L180">.1803/a> 
L181" class=2line"281mn>
L140">.1403/a>       .       .3a href="+code=ret" class="srivers/hid/hid-wacom.c#L234" id>
L234" clag1 href="drivers/hid/h href="+code=hid_output_raw_report" class="sref">hid_output_raw_report3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3a href="+code=rep_da a" class="sref, 2"sref">psp3/a>, 
L182" class=2line"28amn>
L152">.1523/a>  253/a>  L140">.1403/a>       .       .3a href="+code=HID_FEATURE_REPORT" class="sref">HID_FEATURE_REPORT3/a>); 
L183" class=2line"28amn>
L173">.1733/a>       .........if (3a href="+code=ret" class=  href"0"E_REPORT3/a>); 
L184" class=2line"2namn>
L184">.1843/a>       ...     .       .3a href="+code=wda a" class="sref">wda a3/a>->3high_a href="+code=speed"high_a hreass="srivers/hid/hid-wa href="+code=speed" class="sRE_REPORT3/a>); 
L185" class=2line"2namn>
L185">.1853/a>       .       .break; 
L186" class=2line"28amn>
L116">.1163/a>       .} 
L187" class=2line"28amn>
L207">.2073/a> 
L188" class=2line"28amn>
L228">.2283/a>.       .break; 
L189" class=2line"28amn>
L229">.2293/a>} 
L190" class=2line"2namn>
L190">.1903/a> 
L191" class=2line"29amn>
L231">.ivers/hid/hid-waa href="+code=size_t"  class="sref">size_t3/a> 3 class=how_a href="+code=speed" class=how_a hreput_r263/a>       .struct.3a href="+code=device" class="sref">device3/a> *3a href="+code=dev" class="sref">psp3/a>, 
L192" class=2line"29amn>
L152">.1523/a>  253/a>  L140">.1263/a>       .struct.3a href_at3spbutf="+code=device" class_at3spbutfmn>
L190">.1903/a> 
L193" class=2line"2namn>
L193">.1933/a>                  f">device3/a> *3at3s="+code=device"at3ssref, 283/a>       .char.*3bude=container_of"budFEATUL190">.1903/a> 
L194" class=2line"2namn>
ref">psp3/a>) { 
L195" class=2line"2namn>
L195">.1333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sref">wda a3/a> =.3ref"ef="+code=hid_get_drvda a"ref"ef="+code=hput_raw_report3/a>(3a href="+code=dev" class=".       .break; 
L196" class=2line"29amn>
L236">.2363/a> 
L197" class=2line"2namn>
L197">.1283/a>       .return 3a href="+code=snprintf" class="sref">snprintf3/a>(3bude=container_of"budFEATsref">hdev3/a>,.3PAGE_SIZLY_SCOPE_DEVICE" AGE_SIZLss="sref">hdev3/a>,.3spa
 class="37;s:it register LED\s.     .       .3a href="+code=wda a" class="sref">wda a3/a>->3high_a href="+code=speed"high_a hreass=".       .break; 
L198" class=2line"2namn>
L229">.2293/a>} 
L199" class=2line"29amn>
L149">.1493/a> 
L200" class=3line"3namn>
L231">.ivers/hid/hid-waa href="+code=size_t"  class="sref">size_t3/a> 3 class=tore_a href="+code=speed" class=tore_a hreput_r263/a>       .struct.3a href="+code=device" class="sref">device3/a> *3a href="+code=dev" class="sref">psp3/a>, 
L201" class=3line"301mn>
L140">.1403/a>                  263/a>       .struct.3a href_at3spbutf="+code=device" class_at3spbutfmn>
 f">device3/a> *3at3s="+code=device"at3ssref,sref">psp3/a>, 
L192" class=3line"3namn>
L202">.2023/a>                  const 283/a>       .char.*3bude=container_of"budFEATs.     .       .3a href="+code=size_t" class="sref">size_t3/a> 3counf="+code=size_t"counfFEATUL190">.1903/a> 
L203" class=3line"30amn>
L123">.1233/a>{ 
L204" class=3line"3namn>
L204">.2_features3/a>(struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class="ref">wda a3/a> =.3a href="+code=container_of" class="sref">container_of3/a>(3a href="+code=dev" class="s_features3/a>(struct.3a href="+code=hid_device" class="sref">d"3/spa
 ,.3a href="+code=dev" class=".       .break; 
L205" class=3line"3namn>
L205">.2343/a>       .int.3new_a href="+code=speed"new_a hres="sRE_REPORT3/a>); 
L206" class=3line"30amn>
L236">.2363/a> 
L207" class=3line"30amn>
L197">.1     .........if (3ascan"+code=snprintf" scan"sref">snprintf3/a>(3bude=container_of"budFEATsref">hdev3/a>,.3spa
 class="37;s:1selector:%d&/a> =.(void *)&3new_a href="+code=speed"new_a hres="s ) !sr1ref">speed3/a>) 
L208" class=3line"30amn>
L178">.1783/a>  283/a> ef">ret3/a> =.-3a href="+code=EINVAL" class="sref">EINVAL3/a>; 
L209" class=3line"30amn>
L149">.1493/a> 
L210" class=3line"3namn>
L210">.2     .........if (3new_a href="+code=speed"new_a hres="s "sr0 ||/a>       .int.3new_a href="+code=speed"new_a hres="s="sr1rsref">psp3/a>) { 
L211" class=3line"311mn>
L140">.1403/a>       .       .3a href="+code=wacom_set_features" class="sref">wacom_setaw_report3/a>(3a href="+code=hdev" class="sref">hdev3/a>,.3new_a href="+code=speed"new_a hres="s".       .break; 
L212" class=3line"31amn>
L202">.2023/a>  283/a>       .return 3atrnle"+code=hid_warn"atrnle"sref">snprintf3/a>(3bude=container_of"budFEATsref">hdev3/a>,.3PAGE_SIZLY_SCOPE_DEVICE" AGE_SIZLss="".       .break; 
L213" class=3line"3namn>
L213">.2} elseE_REPORT3/a>); 
L214" class=3line"31amn>
L184">.1843/a>  283/a> ef">ret3/a> =.-3a href="+code=EINVAL" class="sref">EINVAL3/a>; 
L215" class=3line"3namn>
L229">.2293/a>} 
L216" class=3line"31amn>
L236">.2363/a> 
L217" class=3line"3namn>
L231">.ivers/hid/hid-w_SUPPL_ATTR="+code=EINVAL"_SUPPL_ATTRsref">snprintf3/a>(3a href="+code=speed" class="ssref">hdev3/a>,.3S_IRUGOf="+code=speed"S_IRUGOm_ser|ref">hdev3/a>,.3S_IWUSR="+code=EINVAL"S_IWUSRm_ser|ref">hdev3/a>,.3S_IWGRP="+code=EINVAL"S_IWGRPsref,sref">psp3/a>, 
L218" class=3line"31amn>
L178">.1783/a>  ref">__u83/a> 3 class=how_a href="+code=speed" class=how_a hreput_s.     .       .3aclass=tore_a href="+code=speed" class=tore_a hreput_".       .break; 
L219" class=3line"31amn>
L149">.1493/a> 
L220" class=3line"32amn>
L231">.2083/a>static.int.3a hrefgr_parsehid_output_raw_report"a hrefgr_parsehid_output_r263/a>       .struct.3a href="+code=hid_device" class="sref">hid_device3/a> *3a href="+code=hdev" class=",sref">psp3/a>, 
L221" class=3line"321mn>
L140">.1403/a>          333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="s,sref">psp3/a>, 
L222" class=3line"3namn>
L222">.2223/a>          333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_s.unsigned 283/a>       .char.*3de=hid_get_drvda a"rlass="sref">speed3/a>) 
L223" class=3line"32amn>
L123">.1233/a>{ 
L224" class=3line"3namn>
L224">.22083/a>static.int.3toof="+code=intval"toofput_s.     .       .3x="+code=intval"xput_s.     .       .3href="+code=psy"yss="sref">hdev3/a>,.3awref="+code=ret" w="sref">EINVAL3/a>; 
L225" class=3line"32amn>
L165">.1653/a> 
L226" class=3line"3namn>
L226">.2/a>static.int.3toof="+code=intval"toofput_"sref">ret3/a> =.0; 
L227" class=3line"3namn>
L227">.2     .       .3spa
 classGet X&/a> = Y positions *fall through */3/spa
  
L228" class=3line"3namn>
L228">.2     .       .3x="+code=intval"xput_"sref">ret3/a> =.3a 16_to_cpu="+code=intval"a 16_to_cpuput_r*">snprintf3/a>(3__a 16="+code=intval"__a 16ef">wa)&/a> =.(void *)&3de=hid_get_drvda a"rlass="s[2s="sref">i3/a>]); 
L229" class=3line"329mn>
L228">.2     .       .3href="+code=psy"yss=""sref">ret3/a> =.3a 16_to_cpu="+code=intval"a 16_to_cpuput_r*">snprintf3/a>(3__a 16="+code=intval"__a 16ef">wa)&/a> =.(void *)&3de=hid_get_drvda a"rlass="s[4s="sref">i3/a>]); 
L230" class=3line"3namn>
L230">.2303/a> 
L231" class=3line"331mn>
L227">.2     .       .3spa
 classGet curra
  toof-waa
 ifier *fall through */3/spa
  
L232" class=3line"33amn>
L222">.2     .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x90"sr2     .       .3spa
 classIf pen is in the in/act
   area *fall through */3/spa
  
L233" class=3line"33amn>
L193">.1933/a>  "drivers  .........if (3de=hid_get_drvda a"rlass="s[1]&/gt; hre 5)&/a> = 3rsref">psp3/a>) { 
L234" class=3line"33amn>
L184">.1843/a>  923/a0:2     .       .3spa
 classPen *fall through */3/spa
  
L235" class=3line"33amn>
L155">.1553/a>       .  /a>static.int.3toof="+code=intval"toofput_"sr/a>static.int.3BTN_TOOL_PEN="+code=intval"BTN_TOOL_PEN="sref">EINVAL3/a>; 
L236" class=3line"33amn>
L176">.1763/a>       .       .       .break; 
L237" class=3line"33amn>
L207">.2073/a> 
L138" class=3line"33amn>
L178">.1783/a>  923/a1:2     .       .3spa
 classRubber *fall through */3/spa
  
L139" class=3line"3namn>
L139">.1393/a>       .  /a>static.int.3toof="+code=intval"toofput_"sr/a>static.int.3BTN_TOOL_RUBBER="+code=EINVAL"BTN_TOOL_RUBBER="sref">EINVAL3/a>; 
L140" class=3line"3namn>
L140">.1403/a>       .       .       .break; 
L141" class=3line"34amn>
L151">.1513/a> 
L142" class=3line"3namn>
L142">.1423/a>  923/a2:2     .       .3spa
 classMou3/adrih wheel *fall through */3/spa
  
L143" class=3line"3namn>
L143">.1433/a>  923/a3:2     .       .3spa
 classMou3/adrihout wheel *fall through */3/spa
  
L144" class=3line"3namn>
L144">.1443/a>       .  /a>static.int.3toof="+code=intval"toofput_"sr/a>static.int.3BTN_TOOL_MOUSLY_SCOPE_DEVICE"BTN_TOOL_MOUSL="sref">EINVAL3/a>; 
L145" class=3line"34amn>
L155">.1553/a>       .       .       .break; 
L146" class=3line"3namn>
L146">.1463/a>  L229">.2293/a>} 
L147" class=3line"34amn>
L207">.2073/a> 
L148" class=3line"3namn>
L148">.1483/a>       .       .3spa
 classRese  toof-wf out of act
   table  area *fall through */3/spa
  
L149" class=3line"34amn>
L209">.2093/a>      !  .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x10)ref">speed3/a>) 
L150" class=3line"3namn>
L150">.1503/a>  423/a>  /a>static.int.3toof="+code=intval"toofput_"sref">ret3/a> =.0; 
L151" class=3line"351mn>
L227">.2L229">.2293/a>} 
L152" class=3line"35amn>
L182">.1823/a> 
L153" class=3line"35amn>
L113">.1     .       .3spa
 classIf toof-changed, notify in"sr subsystem *fall through */3/spa
  
L154" class=3line"3namn>
L154">.1     .........if (3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"!sr/a>static.int.3toof="+code=intval"toofput_rsref">psp3/a>) { 
L155" class=3line"3namn>
L155">.1553/a>       .........if (3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_rsref">psp3/a>) { 
L156" class=3line"3namn>
L156">.1563/a>       .       .       .3spa
 classComple ely rese  old toof-L231e *fall through */3/spa
  
L157" class=3line"3namn>
L157">.1573/a>       .       .........if (3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"=sr/a>static.int.3BTN_TOOL_MOUSLY_SCOPE_DEVICE"BTN_TOOL_MOUSL="srrsref">psp3/a>) { 
L158" class=3line"35amn>
L148">.1483/a>  423/a>  253/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_LEF_FEATURE_REPORT"BTN_LEF_put_s.0URE_REPORT3/a>); 
L159" class=3line"3namn>
L159">.1593/a>          253/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_RIGH_FEATURE_REPORT"BTN_RIGH_put_s.0URE_REPORT3/a>); 
L160" class=3line"36amn>
L150">.1503/a>  423/a>  253/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_MIDDLLY_SCOPE_DEVICE"BTN_MIDDLLput_s.0URE_REPORT3/a>); 
L161" class=3line"361mn>
L140">.1403/a>                       .       .3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s,sref">psp3/a>, 
L162" class=3line"36amn>
L152">.1523/a>  253/a>                       .       .3in"sreabo"ef="max="+code=intval"in"sreabo"ef="maxsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s)URE_REPORT3/a>); 
L163" class=3line"36amn>
L113">.1133/a>          } elsesref">psp3/a>) { 
L164" class=3line"36amn>
L184">.1843/a>       ...........     .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.0URE_REPORT3/a>); 
L165" class=3line"36amn>
L225">.2253/a>       ...........     .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUSe=ps_connected"BTN_STYLUSput_s.0URE_REPORT3/a>); 
L166" class=3line"36amn>
L156">.1563/a>       .  523/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUS2e=ps_connected"BTN_STYLUS2put_s.0URE_REPORT3/a>); 
L167" class=3line"36amn>
L157">.1573/a>       .  523/a>       .       .3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s.0URE_REPORT3/a>); 
L168" class=3line"36amn>
L148">.1483/a>  423/a>  L229">.2293/a>} 
L169" class=3line"36amn>
L139">.1393/a>  523/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_s.0URE_REPORT3/a>); 
L170" class=3line"37amn>
L150">.1503/a>  423/a>       .       .3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L171" class=3line"371mn>
L140">.1403/a>  L229">.2293/a>} 
L172" class=3line"37amn>
L222">.2223/a>       .       .3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"=r/a>static.int.3toof="+code=intval"toofput_RE_REPORT3/a>); 
L173" class=3line"3namn>
L173">.1733/a>       .........if (3toof="+code=intval"toofput_rE_REPORT3/a>); 
L174" class=3line"3namn>
L174">.1743/a>       .................3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3toof="+code=intval"toofput_s.1URE_REPORT3/a>); 
L175" class=3line"3namn>
L175">.1L229">.2293/a>} 
L176" class=3line"37amn>
L236">.2363/a> 
L177" class=3line"37amn>
L197">.1     .........if (3toof="+code=intval"toofput_rsref">psp3/a>) { 
L178" class=3line"3namn>
L178">.1783/a>  ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_XY_SCOPE_DEVICE"ABS_Xput_s.     .       .3x="+code=intval"xput_URE_REPORT3/a>); 
L179" class=3line"37amn>
L139">.1393/a>  ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Y_PROP_CAPACITY"ABS_Yput_s./a>static.int.3href="+code=psy"yss="URE_REPORT3/a>); 
L180" class=3line"3namn>
L180">.1803/a> 
L181" class=3line"381mn>
L140">.1403/a>  "drivers  .........if (3de=hid_get_drvda a"rlass="s[1]&/gt; hre 5)&/a> = 3rsref">psp3/a>) { 
L182" class=3line"38amn>
L152">.1523/a>  923/a2:2     .       .3spa
 classMou3/adrih wheel *fall through */3/spa
  
L183" class=3line"38amn>
L173">.1733/a>       .................3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_MIDDLLY_SCOPE_DEVICE"BTN_MIDDLLput_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x04URE_REPORT3/a>); 
L184" class=3line"3namn>
L184">.1843/a>       ...     .       .3awref="+code=ret" w="sr"=r  .........if (3de=hid_get_drvda a"rlass="s[6]&/a> = 0x01) ? -1 PROP_SCOPE3/a>: 
L185" class=3line"3namn>
L185">.1853/a>                    .........if (3de=hid_get_drvda a"rlass="s[6]&/a> = 0x02) ? 1 Pref">ret3/a> =.0; 
L186" class=3line"38amn>
L176">.1763/a>       .       .       .3in"sreid_out_ref="+code=intval" c"sreid_out_refsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3REL_WHEEf="+code=EINVAL"REL_WHEEfput_s./a>static.int.3awref="+code=ret" w="srURE_REPORT3/a>); 
L187" class=3line"38amn>
L157">.1573/a>       .       .       .3spa
 class="comment">/* fall through */3/spa
  
L188" class=3line"38amn>
L108">.1083/a> 
L189" class=3line"38amn>
L139">.1393/a>  923/a3:2     .       .3spa
 classMou3/adrihout wheel *fall through */3/spa
  
L190" class=3line"39amn>
L150">.1503/a>  423/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_LEF_FEATURE_REPORT"BTN_LEF_put_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x01URE_REPORT3/a>); 
L191" class=3line"391mn>
L140">.1403/a>               .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_RIGH_FEATURE_REPORT"BTN_RIGH_put_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x02URE_REPORT3/a>); 
L192" class=3line"39amn>
L152">.1523/a>  253/a>       .       .3spa
 classCompute distance between mou3/aand table  *fall through */3/spa
  
L193" class=3line"3namn>
L193">.1933/a>               .       .3awref="+code=ret" w="sr"=r44 -   .........if (3de=hid_get_drvda a"rlass="s[6]&/gt; hre 2URE_REPORT3/a>); 
L194" class=3line"39amn>
L184">.1843/a>       ...     .........if (3awref="+code=ret" w="sr"="sre0rE_REPORT3/a>); 
L195" class=3line"39amn>
L225">.2253/a>       ...........     .       .3awref="+code=ret" w="sr"=ref">ret3/a> =.0; 
L196" class=3line"39amn>
L176">.1763/a>       .  elses     .........if (3awref="+code=ret" w="sr"=hre 31ref">speed3/a>) 
L197" class=3line"39amn>
L157">.1573/a>       .  523/a>       .       .3awref="+code=ret" w="sr"=r31f">ret3/a> =.0; 
L198" class=3line"39amn>
L148">.1483/a>  423/a>  ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s,./a>static.int.3awref="+code=ret" w="srURE_REPORT3/a>); 
L199" class=3line"39amn>
L139">.1393/a>  523/a>       .       .break; 
L200" class=4line"40amn>
L180">.1803/a> 
L201" class=4line"401mn>
L140">.1403/a>  243/a>       .default: 
L192" class=4line"4namn>
L202">.2023/a>          ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s     .default: 
L193" class=4line"40amn>
L143">.1433/a>  L142">.1423/a>  253/a>       .       .3de=hid_get_drvda a"rlass="s[6]&| (s  .........if (3__u16="+code=intval"__u16ef">)   .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x08))"="sr="sre5)URE_REPORT3/a>); 
L204" class=4line"40amn>
L174">.1743/a>       .................3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x01URE_REPORT3/a>); 
L205" class=4line"40amn>
L155">.1553/a>       .  /a>static.int.3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUSe=ps_connected"BTN_STYLUSput_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x02URE_REPORT3/a>); 
L206" class=4line"40amn>
L176">.1763/a>       .       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUS2e=ps_connected"BTN_STYLUS2put_s.  .........if (3toof="+code=intval"toofput_"=sr/a>static.int.3BTN_TOOL_PEN="+code=intval"BTN_TOOL_PEN="sr)ref">def">d a>       .int.3de=hid_get_drvda a"rlass="s[1]&/a> = 0x04URE_REPORT3/a>); 
L207" class=4line"40amn>
L157">.1573/a>       .       .       .break; 
L198" class=4line"40amn>
L178">.1783/a>  L229">.2293/a>} 
L209" class=4line"40amn>
L149">.1493/a> 
L210" class=4line"41amn>
L140">.1403/a>  a>       .int.3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L211" class=4line"411mn>
L227">.2L229">.2293/a>} 
L212" class=4line"41amn>
L182">.1823/a> 
L213" class=4line"41amn>
L113">.1     .       .3spa
 classRd_out the L231e o  the two buttons at the top o  the table all through */3/spa
  
L214" class=4line"41amn>
     .       .3spa
 cl1523/a>  * as two extra fingerpad kehs (buttons 4&/a> = 5). *fall through */3/spa
  
L215" class=4line"41amn>
L155">.1     .       .3awref="+code=ret" w="sr"=ra>       .int.3de=hid_get_drvda a"rlass="s[7]&/a> = 0x03f">ret3/a> =.0; 
L216" class=4line"41amn>
L176">.1     .........if (3awref="+code=ret" w="sr"!sr/a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3butL231ef="+code=wda a"butL231eput_rsref">psp3/a>) { 
L217" class=4line"41amn>
L157">.1573/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3butL231ef="+code=wda a"butL231eput_"=ra>       .int.3awref="+code=ret" w="sref">EINVAL3/a>; 
L218" class=4line"41amn>
L178">.1783/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_0="+code=intval"BTN_0s="s,./a>static.int.3awref="+code=ret" w="sr&/a> = 0x02URE_REPORT3/a>); 
L219" class=4line"41amn>
L139">.1393/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_1="+code=intval"BTN_1s="s,./a>static.int.3awref="+code=ret" w="sr&/a> = 0x01URE_REPORT3/a>); 
L220" class=4line"42amn>
L140">.1403/a>  a>       .int.3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOOL_FINGER="+code=EINVAL"BTN_TOOL_FINGERput_s.0xf0URE_REPORT3/a>); 
L221" class=4line"421mn>
L140">.1403/a>  a>       .int.3in"sreevenf="+code=size_t"in"sreevenfsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3EV_MSCef="+code=hdev"EV_MSCput_s./a>static.int.3MSC_SERIef="+code=EINVAL"MSC_SERIefput_s.0xf0URE_REPORT3/a>); 
L222" class=4line"4namn>
L222">.2223/a>  a>       .int.3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L223" class=4line"42amn>
L213">.2}E_REPORT3/a>); 
L224" class=4line"42amn>
L214">.2143/a> 
L225" class=4line"42amn>
L155">.1     .       .3spa
 classStore curra
  battery capacityaand power supply L231e*fall through */3/spa
  
L226" class=4line"4namn>
L226">.2/a>static.int.3awref="+code=ret" w="sr"=r  .........if (3de=hid_get_drvda a"rlass="s[7]&/gt; hre 2&/a> = 0x07URE_REPORT3/a>); 
L227" class=4line"42amn>
L197">.1     .........if (3awref="+code=ret" w="sr"!sr/a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3poweref">f="+code=wda a"poweref">put_rsref">psp3/a>) { 
L228" class=4line"42amn>
L178">.1783/a>  ref">__u83/a> 3  href="+code=wda a" class="sref">wda a3/a>->3poweref">f="+code=wda a"poweref">put_"=ra>       .int.3awref="+code=ret" w="sref">EINVAL3/a>; 
L229" class=4line"42amn>
L139">.1393/a>  ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3battery_capacityf="+code=wda a"battery_capacityput_"=ra>       .int.3batcap_gs="+code=device"batcap_gss="s[a>       .int.3awref="+code=ret" w="sr]ef">EINVAL3/a>; 
L230" class=4line"43amn>
L140">.1403/a>       .........if (3awref="+code=ret" w="sr"== 7ref">speed3/a>) 
L231" class=4line"431mn>
L140">.1403/a>               .       .3  href="+code=wda a" class="sref">wda a3/a>->3ps_connectref="+code=speed"ps_connectreput_"=r1f">ret3/a> =.0; 
L232" class=4line"43amn>
L222">.2223/a>  elseE_REPORT3/a>); 
L233" class=4line"43amn>
L193">.1933/a>               .       .3  href="+code=wda a" class="sref">wda a3/a>->3ps_connectref="+code=speed"ps_connectreput_"=ref">ret3/a> =.0; 
L234" class=4line"43amn>
L184">.1}E_REPORT3/a>); 
L235" class=4line"43amn>
L155">.1283/a> 1f">ret3/a> =.0; 
L236" class=4line"43amn>
}E_REPORT3/a>); 
L237" class=4line"43amn>
L207">.2073/a> 
L138" class=4line"43amn>
L231">.void       .struct.3a hrefi4_parsehbuttonhid_output_raw_report"a hrefi4_parsehbuttonhid_outsref"333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="s,sref">psp3/a>, 
L139" class=4line"4namn>
L139">.1393/a>       .  333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_s.unsigned 283/a>       .char.*3de=hid_get_drvda a"rlass="sref">speed3/a>) 
L140" class=4line"4namn>
ref">psp3/a>) { 
L141" class=4line"441mn>
L227">.2 .........if (3__u16="+code=intval"__u16ef">ref">hdev3/a>,.3new_butL231ef="+code=wda a"new_butL231e="sref">EINVAL3/a>; 
L142" class=4line"4namn>
L142">.1 .........if (3__u8="+code=intval"__u8ef">ref">hdev3/a>,.3new_whlL231ef="+code=wda a"new_whlL231e="sref">EINVAL3/a>; 
L143" class=4line"4namn>
L143">.1 .........if (3__u8="+code=intval"__u8ef">ref">hdev3/a>,.3syn href="+code=ac"syn sref"=ref">ret3/a> =.0; 
L144" class=4line"44amn>
L214">.2143/a> 
L145" class=4line"44amn>
L155">.1     .       .3new_whlL231ef="+code=wda a"new_whlL231e="sr"=ra>       .int.3de=hid_get_drvda a"rlass="s[1]ef">EINVAL3/a>; 
L146" class=4line"44amn>
L176">.1     .........if (3new_whlL231ef="+code=wda a"new_whlL231e="sr"!sr/a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3whlL231ef="+code=wda a"whlL231e="srrsref">psp3/a>) { 
L147" class=4line"44amn>
L157">.1573/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3whlL231ef="+code=wda a"whlL231e="sr"=ra>       .int.3new_whlL231ef="+code=wda a"new_whlL231e="sref">EINVAL3/a>; 
L148" class=4line"4namn>
L148">.1483/a>       .........if (3new_whlL231ef="+code=wda a"new_whlL231e="sr"/a> = 0x80rsref">psp3/a>) { 
L149" class=4line"44amn>
L209">.2093/a>  573/a>  /a>static.int.3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.1URE_REPORT3/a>); 
L150" class=4line"4namn>
L150">.1503/a>  423/a>  /a>static.int.3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_WHEEf="+code=EINVAL"ABS_WHEEfput_s.  .........if (3new_whlL231ef="+code=wda a"new_whlL231e="sr"/a> = 0x7f)URE_REPORT3/a>); 
L151" class=4line"451mn>
L140">.1403/a>               .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOOL_FINGER="+code=EINVAL"BTN_TOOL_FINGERput_s.1URE_REPORT3/a>); 
L152" class=4line"45amn>
L222">.2223/a>  } elsesref">psp3/a>) { 
L153" class=4line"45amn>
L173">.1733/a>       .................3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.0URE_REPORT3/a>); 
L154" class=4line"45amn>
L174">.1743/a>       .................3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_WHEEf="+code=EINVAL"ABS_WHEEfput_s.0URE_REPORT3/a>); 
L155" class=4line"4namn>
L155">.1553/a>       .................3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOOL_FINGER="+code=EINVAL"BTN_TOOL_FINGERput_s.0URE_REPORT3/a>); 
L156" class=4line"4namn>
L156">.1563/a>  }E_REPORT3/a>); 
L157" class=4line"4namn>
L157">.1573/a>  ef">hdev3/a>,.3syn href="+code=ac"syn sref"=r1f">ret3/a> =.0; 
L158" class=4line"45amn>
L148">.1}E_REPORT3/a>); 
L159" class=4line"45amn>
L149">.1493/a> 
L160" class=4line"46amn>
L150">.1ef">hdev3/a>,.3new_butL231ef="+code=wda a"new_butL231e="sr"=r  .........if (3de=hid_get_drvda a"rlass="s[3]"="sr="sre1)&| ( .........if (3de=hid_get_drvda a"rlass="s[2]&/a> = 0x01URE_REPORT3/a>); 
L161" class=4line"461mn>
L140">.1     .........if (3new_butL231ef="+code=wda a"new_butL231e="sr"!sr/a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3butL231ef="+code=wda a"butL231eput_rsref">psp3/a>) { 
L162" class=4line"46amn>
L152">.1523/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3butL231ef="+code=wda a"butL231eput_"=ra>       .int.3new_butL231ef="+code=wda a"new_butL231e="sref">EINVAL3/a>; 
L163" class=4line"46amn>
L113">.1133/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_0="+code=intval"BTN_0s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x001URE_REPORT3/a>); 
L164" class=4line"46amn>
L184">.1843/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_1="+code=intval"BTN_1s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x002URE_REPORT3/a>); 
L165" class=4line"46amn>
L225">.2253/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_2e=ps_connected"BTN_2s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x004URE_REPORT3/a>); 
L166" class=4line"46amn>
L156">.1563/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_3e=ps_connected"BTN_3s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x008URE_REPORT3/a>); 
L167" class=4line"46amn>
L157">.1573/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_4e=ps_connected"BTN_4s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x010URE_REPORT3/a>); 
L168" class=4line"46amn>
L148">.1483/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_5e=ps_connected"BTN_5s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x020URE_REPORT3/a>); 
L169" class=4line"46amn>
L139">.1393/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_6="+code=intval"BTN_6s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x040URE_REPORT3/a>); 
L170" class=4line"47amn>
L150">.1503/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_7="+code=intval"BTN_7s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x080URE_REPORT3/a>); 
L171" class=4line"471mn>
L140">.1403/a>  ..............3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_8="+code=intval"BTN_8s="s,./a>static.int.3new_butL231ef="+code=wda a"new_butL231e="sr"/a> = 0x100URE_REPORT3/a>); 
L172" class=4line"47amn>
L222">.2223/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOOL_FINGER="+code=EINVAL"BTN_TOOL_FINGERput_s.1URE_REPORT3/a>); 
L173" class=4line"4namn>
L173">.1733/a>  ef">hdev3/a>,.3syn href="+code=ac"syn sref"=r1f">ret3/a> =.0; 
L174" class=4line"47amn>
L184">.1}E_REPORT3/a>); 
L175" class=4line"47amn>
L165">.1653/a> 
L176" class=4line"47amn>
L176">.1     .........if (3syn href="+code=ac"syn srefrsref">psp3/a>) { 
L177" class=4line"47amn>
L157">.1573/a>  ..............3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_MISCef="+code=hdev"ABS_MISCput_s./a>static.int.3PAD__SUPPL_IDef="+code=hdev"PAD__SUPPL_IDsrefrf">ret3/a> =.0; 
L178" class=4line"4namn>
L178">.1783/a>  ref">__u83/a> 3in"sreevenf="+code=size_t"in"sreevenfsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3EV_MSCef="+code=hdev"EV_MSCput_s./a>static.int.3MSC_SERIef="+code=EINVAL"MSC_SERIefput_s.0xffffffffrf">ret3/a> =.0; 
L179" class=4line"47amn>
L139">.1393/a>  ref">__u83/a> 3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L180" class=4line"480mn>
L184">.1}E_REPORT3/a>); 
L181" class=4line"481mn>
}E_REPORT3/a>); 
L182" class=4line"48amn>
L182">.1823/a> 
L183" class=4line"48amn>
L231">.void       .struct.3a hrefi4_parsehpenhid_output_raw_report"a hrefi4_parsehpenhid_outsref"333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="s,sref">psp3/a>, 
L184" class=4line"4namn>
L184">.1843/a>       ...333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_s.unsigned 283/a>       .char.*3de=hid_get_drvda a"rlass="sref">speed3/a>) 
L185" class=4line"4namn>
ref">psp3/a>) { 
L186" class=4line"48amn>
L226">.2/a>static.int.3__u16="+code=intval"__u16ef">ref">hdev3/a>,.3x="+code=intval"xput_s./a>static.int.3href="+code=psy"yss="s./a>static.int.3pressuref="+code=wda a"pressure="sref">EINVAL3/a>; 
L187" class=4line"48amn>
L157">.1/a>static.int.3__u8="+code=intval"__u8ef">ref">hdev3/a>,.3distanceid_get_drvda a"ristance="sref">EINVAL3/a>; 
L188" class=4line"48amn>
L228">.2     .       .3__u8="+code=intval"__u8ef">ref">hdev3/a>,.3tilt_x="+code=intval"tilt_xss="s./a>static.int.3tilt_href="+code=psy"tilt_h="sref">EINVAL3/a>; 
L189" class=4line"48amn>
L149">.1493/a> 
L190" class=4line"49amn>
L150">.1"drivers .........if (3de=hid_get_drvda a"rlass="s[1]rsref">psp3/a>) { 
L191" class=4line"491mn>
L140">.1923/a0x80:2     .       .3spa
 classOut of proximityaid_out *fall through */3/spa
  
L192" class=4line"49amn>
L152">.1523/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.0URE_REPORT3/a>); 
L193" class=4line"4namn>
L193">.1933/a>  ..............3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s.0URE_REPORT3/a>); 
L194" class=4line"49amn>
L184">.1843/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUSe=ps_connected"BTN_STYLUSput_s.0URE_REPORT3/a>); 
L195" class=4line"49amn>
L225">.2253/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUS2e=ps_connected"BTN_STYLUS2put_s.0URE_REPORT3/a>); 
L196" class=4line"49amn>
L176">.1763/a>       .       .3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_s.0URE_REPORT3/a>); 
L197" class=4line"49amn>
L157">.1573/a>  ..............3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_MISCef="+code=hdev"ABS_MISCput_s.0URE_REPORT3/a>); 
L198" class=4line"49amn>
L148">.1483/a>  ref">__u83/a> 3in"sreevenf="+code=size_t"in"sreevenfsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3EV_MSCef="+code=hdev"EV_MSCput_s./a>static.int.3MSC_SERIef="+code=EINVAL"MSC_SERIefput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3seriaf="+code=intval"seriafput_URE_REPORT3/a>); 
L199" class=4line"49amn>
L139">.1393/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"=ref">ret3/a> =.0; 
L200" class=5line"50amn>
L140">.1403/a>  a>       .int.3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L201" class=5line"501mn>
L140">.1403/a>       .       .break; 
L192" class=5line"5namn>
L202">.2923/a0xC2:2     .       .3spa
 classToof-id_out *fall through */3/spa
  
L193" class=5line"50amn>
L143">.1433/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3ief="+code=speed"ieput_"=rs  .........if (3de=hid_get_drvda a"rlass="s[2]"="sr="sre4)&| ( .........if (3de=hid_get_drvda a"rlass="s[3]&/gt; hre 4)&|ough */3/spa
  
L194" class=5line"50amn>
L174">.1743/a>       ...s  .........if (3de=hid_get_drvda a"rlass="s[7]&/a> = 0x0f)"="sr="sre20)&|ough */3/spa
  
L195" class=5line"50amn>
L155">.1553/a>       .  s  .........if (3de=hid_get_drvda a"rlass="s[8]&/a> = 0xf0)"="sr="sre12)URE_REPORT3/a>); 
L206" class=5line"50amn>
L176">.1763/a>  /a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3seriaf="+code=intval"seriafput_"=rs  .........if (3de=hid_get_drvda a"rlass="s[3]&/a> = 0x0f)"="sr="sre28) +E_REPORT3/a>); 
L197" class=5line"50amn>
L157">.1573/a>       .       .  s .........if (3de=hid_get_drvda a"rlass="s[4]"="sr="sre20)&+ s .........if (3de=hid_get_drvda a"rlass="s[5]"="sr="sre12) +E_REPORT3/a>); 
L198" class=5line"50amn>
L178">.1783/a>       .       .  s .........if (3de=hid_get_drvda a"rlass="s[6]"="sr="sre4)&+ s .........if (3de=hid_get_drvda a"rlass="s[7]&/gt; hre 4)RE_REPORT3/a>); 
L199" class=5line"50amn>
L149">.1493/a> 
L210" class=5line"51amn>
L140">.1403/a>  "drivers .........if (3a href="+code=wda a" class="sref">wda a3/a>->3ief="+code=speed"ieput_rsref">psp3/a>) { 
L211" class=5line"511mn>
L140">.1403/a>  923/a0x100802      .default: 
L212" class=5line"51amn>
L202">.2023/a>          ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"=r/a>static.int.3BTN_TOOL_PEN="+code=intval"BTN_TOOL_PEN="srRE_REPORT3/a>); 
L213" class=5line"51amn>
L173">.1733/a>       ...     .       .break; 
L214" class=5line"51amn>
L174">.1743/a>  923/a0x10080A      .default: 
L215" class=5line"51amn>
L155">.1553/a>       .................3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_"=r/a>static.int.3BTN_TOOL_RUBBER="+code=EINVAL"BTN_TOOL_RUBBER="srRE_REPORT3/a>); 
L216" class=5line"51amn>
L176">.1763/a>       .       .       .break; 
L217" class=5line"51amn>
L157">.1573/a>  }E_REPORT3/a>); 
L218" class=5line"51amn>
L178">.1783/a>       .       .break; 
L219" class=5line"51amn>
L139">.1243/a>  2     .       .3spa
 classPosition/pressure-id_out *fall through */3/spa
  
L220" class=5line"52amn>
L140">.1403/a>  a>       .int.3x="+code=intval"xput_"=ra>       .int.3de=hid_get_drvda a"rlass="s[2]"="sr="sre9&|  .........if (3de=hid_get_drvda a"rlass="s[3]&/"sr="sre1&| (s .........if (3de=hid_get_drvda a"rlass="s[9]&/a> = 0x02) /gt; hre 1URE_REPORT3/a>); 
L221" class=5line"521mn>
L140">.1403/a>  a>       .int.3href="+code=psy"yss=""=ra>       .int.3de=hid_get_drvda a"rlass="s[4]"="sr="sre9&|  .........if (3de=hid_get_drvda a"rlass="s[5]&/"sr="sre1&| ( .........if (3de=hid_get_drvda a"rlass="s[9]&/a> = 0x01URE_REPORT3/a>); 
L222" class=5line"5namn>
L222">.2223/a>  a>       .int.3pressuref="+code=wda a"pressure="sr"=r  .........if (3de=hid_get_drvda a"rlass="s[6]&/"sr="sre3)&| (s .........if (3de=hid_get_drvda a"rlass="s[7]&/a> = 0xC0)&/gt; hre 5)E_REPORT3/a>); 
L223" class=5line"52amn>
L173">.1733/a>       ...| ( .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x01URE_REPORT3/a>); 
L224" class=5line"52amn>
L184">.1843/a>       .       .3distanceid_get_drvda a"ristance="sr"=r  .........if (3de=hid_get_drvda a"rlass="s[9]&/gt; hre 2U&/a> = 0x3fRE_REPORT3/a>); 
L225" class=5line"52amn>
L225">.2253/a>       .       .3tilt_x="+code=intval"tilt_xss=""=rs  .........if (3de=hid_get_drvda a"rlass="s[7]"="sr="sre1)&/a> = 0x7e)&| ( .........if (3de=hid_get_drvda a"rlass="s[8]&/gt; hre 7URE_REPORT3/a>); 
L226" class=5line"52amn>
L176">.1763/a>  /a>static.int.3tilt_href="+code=psy"tilt_h="sr"=ra>       .int.3de=hid_get_drvda a"rlass="s[8]&/a> = 0x7fRE_REPORT3/a>); 
L227" class=5line"52amn>
L207">.2073/a> 
L228" class=5line"52amn>
L178">.1783/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.a>       .int.3pressuref="+code=wda a"pressure="sr" hre 1URE_REPORT3/a>); 
L229" class=5line"52amn>
L149">.1493/a> 
L230" class=5line"53amn>
L140">.1403/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUSe=ps_connected"BTN_STYLUSput_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x02URE_REPORT3/a>); 
L231" class=5line"531mn>
L140">.1403/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3BTN_STYLUS2e=ps_connected"BTN_STYLUS2put_s. .........if (3de=hid_get_drvda a"rlass="s[1]&/a> = 0x04)RE_REPORT3/a>); 
L232" class=5line"53amn>
L222">.2223/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_s.1URE_REPORT3/a>); 
L233" class=5line"53amn>
L193">.1933/a>  ..............3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Xef="+code=hdev"ABS_Xput_s./a>static.int.3x="+code=intval"xput_URE_REPORT3/a>); 
L234" class=5line"53amn>
L184">.1843/a>       .       .3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Yef="+code=hdev"ABS_Yput_s./a>static.int.3href="+code=psy"yss="URE_REPORT3/a>); 
L235" class=5line"53amn>
L225">.2253/a>       .       .3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s.a>       .int.3pressuref="+code=wda a"pressure="srURE_REPORT3/a>); 
L236" class=5line"53amn>
L176">.1763/a>       .       .3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s,./a>static.int.3distanceid_get_drvda a"ristance="srURE_REPORT3/a>); 
L237" class=5line"53amn>
L157">.1573/a>  ..............3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_TILT_Xef="+code=hdev"ABS_TILT_Xput_s./a>static.int.3tilt_x="+code=intval"tilt_xss="URE_REPORT3/a>); 
L138" class=5line"53amn>
L178">.1783/a>  ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_TILT_Yef="+code=hdev"ABS_TILT_Yput_s./a>static.int.3tilt_href="+code=psy"tilt_h="srURE_REPORT3/a>); 
L139" class=5line"5namn>
L139">.1393/a>  ref">__u83/a> 3in"sreid_out_abom_set_features"in"sreid_out_abosref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_MISCef="+code=hdev"ABS_MISCput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3ief="+code=speed"ieput_rRE_REPORT3/a>); 
L140" class=5line"54amn>
L140">.1403/a>  ref">__u83/a> 3in"sreevenf="+code=size_t"in"sreevenfsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3EV_MSCef="+code=hdev"EV_MSCput_s./a>static.int.3MSC_SERIef="+code=EINVAL"MSC_SERIefput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3seriaf="+code=intval"seriafput_rRE_REPORT3/a>); 
L141" class=5line"541mn>
L140">.1403/a>  ref">__u83/a> 3in"sreid_out_kehref="+code=psy"in"sreid_out_kehsref">snprintf3/a>(3in"sref="+code=hdev"in"srput_s./a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3toof="+code=intval"toofput_s.1URE_REPORT3/a>); 
L142" class=5line"54amn>
L222">.2223/a>  a>       .int.3in"sresyn href="+code=ac"in"sresyn sref">snprintf3/a>(3in"sref="+code=hdev"in"srput_URE_REPORT3/a>); 
L143" class=5line"54amn>
L193">.1933/a>       .       .break; 
L144" class=5line"54amn>
L184">.1}E_REPORT3/a>); 
L145" class=5line"54amn>
L165">.1653/a> 
L146" class=5line"54amn>
L176">.1283/a>.       .break; 
L147" class=5line"54amn>
}E_REPORT3/a>); 
L148" class=5line"5namn>
E_REPORT3/a>); 
L149" class=5line"54amn>
L231">.void       .struct.3a hrefi4_parsehid_output_raw_report"a hrefi4_parsehid_outsref"333/a>       .struct.3="d_deviceid_get_drvda a"="d_devicemn>
L>       .char.*3h href="+code=hdev"h href">,sref">psp3/a>, 
L150" class=5line"5namn>
L150">.1503/a>  423/a>  333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="s,sref">psp3/a>, 
L151" class=5line"551mn>
L140">.1403/a>          333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_s.unsigned 283/a>       .char.*3de=hid_get_drvda a"rlass="sref">speed3/a>) 
L152" class=5line"55amn>
ref">psp3/a>) { 
L153" class=5line"55amn>
L173">.1"drivers .........if (3de=hid_get_drvda a"rlass="s[0]rsref">psp3/a>) { 
L154" class=5line"55amn>
L174">.1923/a0x00:2     .       .3spa
 classEmptyaid_out *fall through */3/spa
  
L155" class=5line"5namn>
L155">.1553/a>       .       .break; 
L156" class=5line"5namn>
L156">.1923/a0x02:2     .       .3spa
 classPenaid_out *fall through */3/spa
  
L157" class=5line"5namn>
L157">.1573/a>  ef">hdev3/a>,.3a hrefi4_parsehpenhid_output_raw_report"a hrefi4_parsehpenhid_outsref"com_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="sr.       .break; 
L158" class=5line"55amn>
L178">.1783/a>       .       .break; 
L159" class=5line"559mn>
L156">.1923/a0x03:2     .       .3spa
 classFea3/aessRd_out *fall through */3/spa
  
L160" class=5line"56amn>
L140">.1403/a>  ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3fea3/aesf="+code=wda a"fea3/aes="sr"=ra>       .int.3de=hid_get_drvda a"rlass="s[2]ef">EINVAL3/a>; 
L161" class=5line"561mn>
L140">.1403/a>       .       .break; 
L162" class=5line"56amn>
L202">.2923/a0x0C:2     .       .3spa
 classButtonaid_out *fall through */3/spa
  
L163" class=5line"56amn>
L113">.1133/a>  ..............3a hrefi4_parsehbuttonhid_output_raw_report"a hrefi4_parsehbuttonhid_outsref"com_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="sr.       .break; 
L164" class=5line"56amn>
L184">.1843/a>       .       .break; 
L165" class=5line"56amn>
L225">.2243/a>         .break; 
L166" class=5line"56amn>
L156">.1563/a>  ..............3="d_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"Unknownaid_out: %d,%d\n"all thrs. .........if (3de=hid_get_drvda a"rlass="s[0]s. .........if (3de=hid_get_drvda a"rlass="s[1]r.       .break; 
L167" class=5line"56amn>
L157">.1573/a>       .       .break; 
L168" class=5line"56amn>
L148">.1}E_REPORT3/a>); 
L169" class=5line"56amn>
}E_REPORT3/a>); 
L170" class=5line"57amn>
E_REPORT3/a>); 
L171" class=5line"571mn>
L231">.in>       .struct.3a hrefraweevenf="+code=size_t"a hrefraweevenfsref"333/a>       .struct.3="d_deviceid_get_drvda a"="d_devicemn>
L>       .char.*3h href="+code=hdev"h href">, 333/a>       .struct.3="d_id_output_raw_report"="d_id_outmn>
L>       .char.*3id_output_raw_report"id_outmn>
,sref">psp3/a>, 
L172" class=5line"57amn>
L222">.2223/a>       .       .3u8="+code=intval"u8ef">r>       .char.*3iawede=hid_get_drvda a"iawede=hef">, in>       .struct.3sizeid_get_drvda a"sizes="sref">speed3/a>) 
L173" class=5line"5namn>
ref">psp3/a>) { 
L174" class=5line"57amn>
L184">.1333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="s"=ra>       .int.3="d_gere rv href="+code=wda a"="d_gere rv hresref"com_da a3/a> *3h href="+code=hdev"h href">r.       .break; 
L175" class=5line"575mn>
L184">.1333/a>       .struct.3="d_in"sref="+code=hdev"="d_in"srmn>
L>       .char.*3hidin"sref="+code=hdev"="din"srmn>
.       .break; 
L176" class=5line"57amn>
L176">.1333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_.       .break; 
L177" class=5line"57amn>
L157">.1unsigned 283/a>       .char.*3de=hid_get_drvda a"rlass="s"=rsunsigned 283/a>)       .struct.3iawede=hid_get_drvda a"iawede=hef">.       .break; 
L178" class=5line"5namn>
L178">.1in>       .struct.3ief="+code=hdev"ief">.       .break; 
L179" class=5line"57amn>
L139">.1      .struct.3__u8="+code=intval"__u8ef">ref">hdev3/a>,.3poweref">f="+code=wda a"poweref">put_.       .break; 
L180" class=5line"58amn>
E_REPORT3/a>); 
L181" class=5line"581mn>
L140">.1    !"com_da a3/a> *3h href="+code=hdev"h href">ref">wda a3/a>->3="+imref="+code=speed"="+imremn>
L/a> = wda a3/a>->3HID_CLAIMED_INPUTf="+code=speed"HID_CLAIMED_INPUTef">rref">speed3/a>) 
L182" class=5line"58amn>
L222">.2223/a>  283/a> ef">ret3/a> =.0; 
L183" class=5line"58amn>
">ret3/a> =.0; 
L184" class=5line"5namn>
L184">.1       .char.*3hidin"sref="+code=hdev"="din"srmn>
"=ra>       .int.3list_enfrhref="+code=psy"list_enfrhsref"com_da a3/a> *3h href="+code=hdev"h href">ref">wda a3/a>->3in"srom_set_features"in"srs="sr.wda a3/a>->3nexref="+code=hdev"nexref">, 333/a>       .struct.3="d_in"sref="+code=hdev"="d_in"srmn>
s. .........if (3listref="+code=psy"listef">r.       .break; 
L185" class=5line"58amn>
L155">.1     .       .3in"sref="+code=hdev"in"srput_"=ra>       .int.3="din"sref="+code=hdev"="din"srmn>
ref">wda a3/a>->3in"sref="+code=hdev"in"srput_.       .break; 
L186" class=5line"58amn>
       .break; 
L187" class=5line"58amn>
L157">.1"drivers .........if (3h href="+code=hdev"h href">ref">wda a3/a>->3prod/a>f="+code=wda a"prod/a>ef">rsref">psp3/a>) { 
L188" class=5line"58amn>
L228">.2923/awda a3/a>->3USB__SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHe=ps_connected"USB__SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHmn>
        .break; 
L189" class=5line"58amn>
L139">.1393/a>       .........if (3de=hid_get_drvda a"rlass="s[0] ==a0x03rsref">psp3/a>) { 
L190" class=5line"59amn>
L150">.1503/a>  423/a>  283/a>       .struct.3a hrefgr_parsehid_output_raw_report"a hrefgr_parsehid_outsref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="sr.       .break; 
L191" class=5line"591mn>
L140">.1403/a>  } elsesref">psp3/a>) { 
L192" class=5line"59amn>
L152">.1523/a>  L184">.1       .char.*3hid_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"Unknownaid_out: %d,%d size:%d\n"all thrsef">psp3/a>) { 
L193" class=5line"5namn>
L193">.1933/a>  L152">.1523/a>  L184">.1       .char.*3de=hid_get_drvda a"rlass="s[0]s. .........if (3de=hid_get_drvda a"rlass="s[1]s. .........if (3sizeid_get_drvda a"sizes="sr.       .break; 
L194" class=5line"59amn>
L184">.1843/a>  423/a>  283/a> ef">ret3/a> =.0; 
L195" class=5line"59amn>
L225">.2253/a>  }E_REPORT3/a>); 
L196" class=5line"59amn>
L176">.1763/a>       .       .break; 
L197" class=5line"59amn>
L157">.1923/awda a3/a>->3USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHe=ps_connected"USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHmn>
        .break; 
L198" class=5line"59amn>
L148">.1483/a>  ref">__u83/a> 3ief="+code=hdev"ief">"=r1f">ret3/a> =.0; 
L199" class=5line"59amn>
L149">.1493/a> 
L200" class=6line"60amn>
L140">.1403/a>  "drivers .........if (3de=hid_get_drvda a"rlass="s[0]rsref">psp3/a>) { 
L201" class=6line"601mn>
L140">.1403/a>  923/a0x04        .break; 
L192" class=6line"60amn>
L202">.2023/a>          ref">__u83/a> 3a hrefi4_parsehid_output_raw_report"a hrefi4_parsehid_outsref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="s + ref">__u83/a> 3ief="+code=hdev"ief">r.       .break; 
L193" class=6line"60amn>
L143">.1433/a>  483/a>  ref">__u83/a> 3ief="+code=hdev"ief">"+=r1ef">ret3/a> =.0; 
L194" class=6line"60amn>
L174">.1743/a>       ...     .       .3spa
 classfall through *fall through */3/spa
  
L195" class=6line"60amn>
L155">.1553/a>  923/a0x03:ough */3/spa
  
L196" class=6line"60amn>
L176">.1763/a>          ref">__u83/a> 3a hrefi4_parsehid_output_raw_report"a hrefi4_parsehid_outsref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="s + ref">__u83/a> 3ief="+code=hdev"ief">r.       .break; 
L197" class=6line"60amn>
L157">.1573/a>       .  ref">__u83/a> 3ief="+code=hdev"ief">"+=r1ef">ret3/a> =.0; 
L198" class=6line"60amn>
L178">.1783/a>       .  ref">__u83/a> 3a hrefi4_parsehid_output_raw_report"a hrefi4_parsehid_outsref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda a" class="s,       .struct.3in"sref="+code=hdev"in"srput_s./a>static.int.3de=hid_get_drvda a"rlass="s + ref">__u83/a> 3ief="+code=hdev"ief">r.       .break; 
L199" class=6line"60amn>
L139">.1393/a>       .  ref">__u83/a> 3poweref">f="+code=wda a"poweref">put_"=ra>       .int.3de=hid_get_drvda a"rlass="s[ref">__u83/a> 3ief="+code=hdev"ief">+10]ef">EINVAL3/a>; 
L210" class=6line"61amn>
L140">.1403/a>               .........if (3poweref">f="+code=wda a"poweref">put_"!sr/a>static.int.3a href="+code=wda a" class="sref">wda a3/a>->3poweref">f="+code=wda a"poweref">put_rsref">psp3/a>) { 
L211" class=6line"611mn>
L140">.1403/a>  783/a>       .  ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3poweref">f="+code=wda a"poweref">put_"=ra>       .int.3poweref">f="+code=wda a"poweref">put_.       .break; 
L212" class=6line"61amn>
L202">.2023/a>               .  ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3battery_capacithref="+code=psy"battery_capacithput_"=ra>       .int.3batcapfi4ref="+code=psy"batcapfi4s="s[ref">__u83/a> 3poweref">f="+code=wda a"poweref">put_"/a> = 0x07]ef">EINVAL3/a>; 
L213" class=6line"61amn>
L173">.1733/a>       ...     .  ref">__u83/a> 3a href="+code=wda a" class="sref">wda a3/a>->3ps_connectref="+code=speed"ps_connectreput_"=ra>       .int.3poweref">f="+code=wda a"poweref">put_"/a> = 0x08ef">EINVAL3/a>; 
L214" class=6line"61amn>
L174">.1743/a>          }E_REPORT3/a>); 
L215" class=6line"61amn>
L165">.1653/a> 
L216" class=6line"61amn>
L176">.1763/a>       .       .       .break; 
L217" class=6line"61amn>
L157">.1573/a>  243/a>         .break; 
L218" class=6line"61amn>
L178">.1783/a>       .  ref">__u83/a> 3hid_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"Unknownaid_out: %d,%d size:%d\n"all thrsef">psp3/a>) { 
L219" class=6line"61amn>
L139">.1393/a>       .  783/a>       .  ref">__u83/a> 3de=hid_get_drvda a"rlass="s[0]s. .........if (3de=hid_get_drvda a"rlass="s[1]s. .........if (3sizeid_get_drvda a"sizes="sr.       .break; 
L220" class=6line"62amn>
L140">.1403/a>          283/a> ef">ret3/a> =.0; 
L221" class=6line"621mn>
L140">.1403/a>  }E_REPORT3/a>); 
L222" class=6line"6namn>
L222">.2}E_REPORT3/a>); 
L223" class=6line"62amn>
L173">.1283/a> 1f">ret3/a> =.0; 
L224" class=6line"62amn>
}E_REPORT3/a>); 
L225" class=6line"62amn>
L165">.1653/a> 
L226" class=6line"62amn>
L231">.in>       .struct.3a hrefin"sremappref="+code=speed"a hrefin"sremappresref"333/a>       .struct.3="d_deviceid_get_drvda a"="d_devicemn>
L>       .char.*3h href="+code=hdev"h href">, 333/a>       .struct.3="d_in"sref="+code=hdev"="d_in"srmn>
L>       .char.*3hief="+code=hdev"="ef">,L165">.1653/a> 
L227" class=6line"62amn>
L157">.1"33/a>       .struct.3="d_fielef="+code=speed"="d_fielemn>
L>       .char.*3fielef="+code=speed"fielemn>
, 333/a>       .struct.3="d_usageid_get_drvda a"="d_usagemn>
L>       .char.*3usageid_get_drvda a"usagemn>
s.unsigned long *>       .char.*3biref="+code=hdev"biref">,L165">.1653/a> 
L228" class=6line"62amn>
L178">.1783/a>                                                  in> >       .char.*3max="+code=intval"maxs="srL165">.1653/a> 
L229" class=6line"62amn>
ref">psp3/a>) { 
L230" class=6line"63amn>
L140">.1333/a>       .struct.3in"sre href="+code=hdev"in"sre href">wacom_da a3/a> *3in"sref="+code=hdev"in"srput_"=ra>       .int.3="ef="+code=hdev"="ef">ref">wda a3/a>->3in"sref="+code=hdev"in"srput_.       .break; 
L231" class=6line"631mn>
       .break; 
L232" class=6line"63amn>
L222">.2wda a3/a>->3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3INPUT_PROP_POINTER="+code=EINVAL"INPUT_PROP_POINTERs="s,       .struct.3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3propbiref="+code=hdev"propbirs="sr.       .break; 
L233" class=6line"63amn>
">ret3/a> =.0; 
L234" class=6line"63amn>
L184">.1     .       .3spa
 classBasics *fall through */3/spa
  
L235" class=6line"63amn>
L155">.1     .       .3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3evbiref="+code=hdev"evbirs="s[0] |=r/a>static.int.3BITf="+code=speed"BITsref"com_da a3/a> *3EV_KEYef="+code=hdev"EV_KEYput_rs|  .........if (3BITf="+code=speed"BITsref"com_da a3/a> *3EV_ABSe=ps_connected"EV_ABSput_rs|  .........if (3BITf="+code=speed"BITsref"com_da a3/a> *3EV_REf="+code=EINVAL"EV_REfs="sr.       .break; 
L236" class=6line"63amn>
       .break; 
L237" class=6line"63amn>
L157">.1/a>static.int.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3REf_WHEEf="+code=EINVAL"REf_WHEEfs="s,       .struct.3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3relbiref="+code=hdev"relbirs="sr.       .break; 
L138" class=6line"63amn>
E_REPORT3/a>); 
L139" class=6line"63amn>
L139">.1      .struct.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_TOOL_PEN="+code=intval"BTN_TOOL_PEN="sr,       .struct.3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L140" class=6line"64amn>
L140">.1      .struct.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_TOUCHe=ps_connected"BTN_TOUCHput_s.a>       .int.3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L141" class=6line"641mn>
L140">.1      .struct.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_STYLUSe=ps_connected"BTN_STYLUSput_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L142" class=6line"64amn>
L222">.2wda a3/a>->3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_STYLUS2e=ps_connected"BTN_STYLUS2put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L143" class=6line"64amn>
L193">.1wda a3/a>->3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_LEFTf="+code=speed"BTN_LEFTput_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L144" class=6line"64amn>
L184">.1wda a3/a>->3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_RIGHTf="+code=speed"BTN_RIGHTput_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L145" class=6line"64amn>
L155">.1     .       .3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_MIDDLEf="+code=speed"BTN_MIDDLEput_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L146" class=6line"64amn>
       .break; 
L147" class=6line"64amn>
L157">.1/    .       .3spa
 classPad *fall through */3/spa
  
L148" class=6line"648mn>
L155">.1     .       .3in"sreset_capabilithref="+code=psy"in"sreset_capabilithsref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3EV_MSCef="+code=hdev"EV_MSCput_s./a>static.int.3MSC_SERIef="+code=EINVAL"MSC_SERIefput_r.       .break; 
L149" class=6line"64amn>
L149">.1493/a> 
L150" class=6line"65amn>
L140">.1      .struct.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_0f="+code=speed"BTN_0put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L151" class=6line"651mn>
L140">.1      .struct.3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_1f="+code=speed"BTN_1put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L152" class=6line"65amn>
L222">.2wda a3/a>->3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_TOOL_FINGER="+code=EINVAL"BTN_TOOL_FINGERput_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L153" class=6line"65amn>
">ret3/a> =.0; 
L154" class=6line"65amn>
L174">.1/    .       .3spa
 classDistance, rubber and mouse *fall through */3/spa
  
L155" class=6line"65amn>
L155">.1     .       .3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_TOOL_RUBBER="+code=EINVAL"BTN_TOOL_RUBBER="srs. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L156" class=6line"6namn>
L156">.1     .       .3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_TOOL_MOUSEf="+code=speed"BTN_TOOL_MOUSE="srs. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L157" class=6line"65amn>
L207">.2073/a> 
L158" class=6line"65amn>
L178">.1"drivers .........if (3h href="+code=hdev"h href">ref">wda a3/a>->3prod/a>f="+code=wda a"prod/a>ef">rsref">psp3/a>) { 
L159" class=6line"659mn>
L156">.1923/awda a3/a>->3USB__SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHe=ps_connected"USB__SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHmn>
        .break; 
L160" class=6line"66amn>
L140">.1403/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Xef="+code=hdev"ABS_Xput_s.0, 16704, 4, 0r.       .break; 
L161" class=6line"661mn>
L140">.1403/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Yef="+code=hdev"ABS_Yput_s.0, 12064, 4, 0r.       .break; 
L162" class=6line"66amn>
L222">.2223/a>  a>       .int.3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s.0, 511s.0, 0r.       .break; 
L163" class=6line"66amn>
L113">.1133/a>  ..............3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s,.0, 32s.0, 0r.       .break; 
L164" class=6line"66amn>
L184">.1843/a>       .       .break; 
L165" class=6line"66amn>
L225">.2923/awda a3/a>->3USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHe=ps_connected"USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHmn>
        .break; 
L166" class=6line"66amn>
L156">.1563/a>  ..............3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3ABS_WHEEf="+code=EINVAL"ABS_WHEEf="srs. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3absbiref="+code=hdev"absbirs="sr.       .break; 
L167" class=6line"66amn>
L157">.1573/a>  ..............3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3ABS_MISCef="+code=hdev"ABS_MISCput_s./a>static.int.3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3absbiref="+code=hdev"absbirs="sr.       .break; 
L168" class=6line"66amn>
L148">.1483/a>  ref">__u83/a> 3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_2e=ps_connected"BTN_2put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L169" class=6line"66amn>
L139">.1393/a>  ref">__u83/a> 3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_3e=ps_connected"BTN_3put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L170" class=6line"67amn>
L140">.1403/a>  ref">__u83/a> 3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_4ref="+code=psy"BTN_4put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L171" class=6line"671mn>
L140">.1403/a>  ref">__u83/a> 3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_5ref="+code=psy"BTN_5put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L172" class=6line"67amn>
L222">.2223/a>       .       .3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_6ref="+code=psy"BTN_6put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L173" class=6line"67amn>
L113">.1133/a>  ..............3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_7ref="+code=psy"BTN_7put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L174" class=6line"67amn>
L184">.1843/a>  ..............3__set_biref="+code=hdev"__set_birsref"com_da a3/a> *3BTN_8="+code=intval"BTN_8put_s. .........if (3in"sref="+code=hdev"in"srput_ref">wda a3/a>->3keybiref="+code=hdev"keybirs="sr.       .break; 
L175" class=6line"67amn>
L225">.2253/a>       .       .3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_WHEEf="+code=EINVAL"ABS_WHEEf="srs.0, 71s.0, 0r.       .break; 
L176" class=6line"67amn>
L156">.1563/a>  ..............3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Xef="+code=hdev"ABS_Xput_s.0, 40640, 4, 0r.       .break; 
L177" class=6line"67amn>
L157">.1573/a>  ..............3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_Yef="+code=hdev"ABS_Yput_s.0, 25400, 4, 0r.       .break; 
L178" class=6line"67amn>
L178">.1783/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_R_SUSURLY_SCOPE_DEVICE"ABS_R_SUSURLput_s.0, 2047s.0, 0r.       .break; 
L179" class=6line"67amn>
L139">.1393/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_DISTANPLY_SCOPE_DEVICE"ABS_DISTANPLs="s,.0, 63s.0, 0r.       .break; 
L180" class=6line"68amn>
L140">.1403/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_TILT_Xef="+code=hdev"ABS_TILT_Xput_s.0, 127s.0, 0r.       .break; 
L181" class=6line"681mn>
L140">.1403/a>  ref">__u83/a> 3in"sreset_abs_paramom_set_features"in"sreset_abs_paramosref"com_da a3/a> *3in"sref="+code=hdev"in"srput_s./a>static.int.3ABS_TILT_Yef="+code=hdev"ABS_TILT_Yput_s.0, 127s.0, 0r.       .break; 
L182" class=6line"68amn>
L222">.2223/a>       .       .break; 
L183" class=6line"68amn>
L113">.1}E_REPORT3/a>); 
L184" class=6line"6namn>
E_REPORT3/a>); 
L185" class=6line"68amn>
L155">.1283/a> ef">ret3/a> =.0; 
L186" class=6line"68amn>
}E_REPORT3/a>); 
L187" class=6line"68amn>
L207">.2073/a> 
L188" class=6line"68amn>
L231">.in>       .struct.3a hrefprobeid_get_drvda a"a hrefprobesref"333/a>       .struct.3="d_deviceid_get_drvda a"="d_devicemn>
L>       .char.*3h href="+code=hdev"h href">,sref">psp3/a>, 
L189" class=6line"68amn>
L139">.1393/a>  const 333/a>       .struct.3="d_device_ief="+code=speed"="d_device_iemn>
L>       .char.*3ief="+code=speed"ieput_rsref">psp3/a>, 
L190" class=6line"69amn>
ref">psp3/a>) { 
L191" class=6line"691mn>
L140">.1333/a>       .struct.3a href="+code=wacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sf">ret3/a> =.0; 
L192" class=6line"69amn>
L152">.1in>       .struct.3283f="+code=wda a"283s="sf">ret3/a> =.0; 
L193" class=6line"69amn>
">ret3/a> =.0; 
L194" class=6line"69amn>
L184">.1com_da a3/a> *3a href="+code=wda a" class="s"=ra>       .int.3kzallo href="+code=ac"kzallo sref"3izeof(acom_da a3/a> *3a href="+code=wda a" class="s)s./a>static.int.3GFP_KERNEf="+code=EINVAL"GFP_KERNEfs="sr.       .break; 
L195" class=6line"69amn>
L225">.2     .........if (3a href="+code=wda a" class="s"==ra>       .int.3NULf="+code=EINVAL"NULfef">rsref">psp3/a>) { 
L196" class=6line"69amn>
L176">.1763/a>        .struct.3="d_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"can't allo  ivers descriptor\n"all thrr.       .break; 
L197" class=6line"69amn>
L157">.1573/a>  283/a> -com_da a3/a> *3ENOMEMef="+code=hdev"ENOMEMs="sf">ret3/a> =.0; 
L198" class=6line"69amn>
L148">.1}E_REPORT3/a>); 
L199" class=6line"69amn>
L149">.1493/a> 
L200" class=7line"70amn>
L140">.1      .struct.3="d_sere rv href="+code=wda a"="d_sere rv hresref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda a" class="s)f">ret3/a> =.0; 
L201" class=7line"701mn>
       .break; 
L192" class=7line"70amn>
L202">.2/    .       .3spa
 classParse the HIDaid_out now *fall through */3/spa
  
L193" class=7line"70amn>
L193">.1wda a3/a>->3283f="+code=wda a"283s="s"=ra>       .int.3="d_parsef="+code=wda a"="d_parsesref"com_da a3/a> *3h href="+code=hdev"h href">)f">ret3/a> =.0; 
L194" class=7line"70amn>
L174">.1     .........if (3283f="+code=wda a"283s="srsref">psp3/a>) { 
L195" class=7line"70amn>
L155">.1553/a>        .struct.3="d_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"parse failed\n"all thr)f">ret3/a> =.0; 
L196" class=7line"70amn>
L176">.1763/a>  goto       .struct.3ers_freef="+code=wda a"ers_frees="sf">ret3/a> =.0; 
L197" class=7line"70amn>
L157">.1}E_REPORT3/a>); 
L198" class=7line"70amn>
E_REPORT3/a>); 
L199" class=7line"70amn>
L139">.1      .struct.3283f="+code=wda a"283s="s"=ra>       .int.3="d_hw_L23utput_raw_report"="d_hw_L23utsref"com_da a3/a> *3h href="+code=hdev"h href">,2 om_da a3/a> *3HID_CONNECT_DEFAULTf="+code=speed"HID_CONNECT_DEFAULTef">)f">ret3/a> =.0; 
L210" class=7line"71amn>
L140">.1     .........if (3283f="+code=wda a"283s="srsref">psp3/a>) { 
L211" class=7line"711mn>
L140">.1403/a>        .struct.3="d_ers="+code=device"="d_erssref"com_da a3/a> *3h href="+code=hdev"h href">,2     .       333ing">"hw L23ut failed\n"all thr)f">ret3/a> =.0; 
L212" class=7line"71amn>
L202">.2023/a>  goto       .struct.3ers_freef="+code=wda a"ers_frees="sf">ret3/a> =.0; 
L213" class=7line"71amn>
L113">.1}E_REPORT3/a>); 
L214" class=7line"71amn>
E_REPORT3/a>); 
L215" class=7line"71amn>
L155">.1     .       .3283f="+code=wda a"283s="s"=ra>       .int.3device_create_filef="+code=wda a"device_create_filesref"/a> =com_da a3/a> *3h href="+code=hdev"h href">ref">wda a3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_speref="+code=speed" hr_attr_spereef">)f">ret3/a> =.0; 
L216" class=7line"71amn>
L176">.1     .........if (3283f="+code=wda a"283s="sr">ret3/a> =.0; 
L217" class=7line"71amn>
L157">.1573/a>        .struct.3="d_warn="+code=device"="d_warnsref"com_da a3/a> *3h href="+code=hdev"h href">,">ret3/a> =.0; 
L218" class=7line"71amn>
L178">.1783/a>       .  2     .       333ing">"can't create sysfs spere attribute ers: %d\n"all thrs. .........if (3283f="+code=wda a"283s="srf">ret3/a> =.0; 
L219" class=7line"71amn>
L149">.1493/a> 
L220" class=7line"72amn>
L140">.1      .struct.3a href="+code=wda a" class="sref">wda a3/a>->3fea3/aesf="+code=wda a"fea3/aes="sr"=ref">ret3/a> =.0; 
L221" class=7line"721mn>
L140">.1      .struct.3 classserefea3/aesf="+code=wda a" classserefea3/aessref"com_da a3/a> *3h href="+code=hdev"h href">,21rf">ret3/a> =.0; 
L222" class=7line"7namn>
">ret3/a> =.0; 
L223" class=7line"72amn>
L173">.1     .........if (3h href="+code=hdev"h href">ref">wda a3/a>->3prod/a>f="+code=wda a"prod/a>ef">"==ra>       .int.3USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHe=ps_connected"USB__SUPPL_ID_WACOM_INTUOS4_BLUETOOTHmn>
rsref">psp3/a>) { 
L224" class=7line"72amn>
L184">.1843/a>  ..............3sp3intfe=ps_connected"sp3intfsref"com_da a3/a> *3h href="+code=hdev"h href">ref">wda a3/a>->3 claef="+code=hdev" claef">,2     .       333ing">"%s"all thrs.    .       333ing">"&Wvers Unt>
L.struct.3="d_warn="+code=device"="d_wa2mf="drivers/hid7hid-wacom7c#L212" id>
L212" class=7line"62amn7
L165">.1653/a>  *3h hrt.itialize_a heev"h href">)f">ret3/a> =.0; 
L194" class=7line"62amn7
L231">.in>       .struc7.3a h72uct.3ers_freef="+code"283s="srsref">psp3/a>) { 
L211" class=7line"62amn7
L157">.1"33/a>       .s7ruct.72u83/a> 3ief="+code=hdev"ief">"+=r1ef">ret3/acom_da a3/a> *3h href="+code=hdev"h href">,">ret3/a> =.0; 
L218" class=7line"62amn7
L178">.1783/a>         7     7                                  in> > create sysfs spere attribute ers: %d\n<hrs. ......,...if (3283f="+code=wda a"283s="srf">ret3/a> =.0; 
L219" class=7line"62amn7
ref">psp3/a>) { __u83/a> 3de=hi=wda a"ers_frees="sfde spoy_a hef"com_da a3/a> de spoy_a he/hid7h3d-wacom7c#L213" id>
L213" class=7line"63amn7
L140">.1333/a>       .s7ruct.73in"sreset_abs_paramom7h4d-wacom7c#L214" id>
L214" class=7line"631mn7
       .break; 
L214" class=7line"7namn>
L222">.2wda a3/a>->37_set_73/hid7h3d-wacom7c#L223" id>
L223" class=7line"63amn7
">ret3/a> =.0;       a a3/a>->3battery_capacithref="+code=psy"battery_capaa>->3batteryry_capacithexref">, 333/a> "driertiref"com_da a3/a> "driertirefilef="+code=wda a"dev.struc.3batcap"drief"com_da a3/a> *3h hr.3batcap"drie/hid7h3d-wacom7c#L213" id>
L213" class=7line"72amn>
L184">.1     .       .37pa
 c73+code=wda a" class="s"=ra>       .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithexref">, 333/a> nud_deviertiref"com_da a3/a> nud_deviertirefilef="+code=wda a"devARRAY_SIZ 63s.0, 0r.      RRAY_SIZ ev"h href">,">ret3/a.struc.3batcap"drief"com_da a3/a> *3h hr.3batcap"drie/hidd7h9d-wacom7c#L219" id>
L219" class=7line"63amn7
L155">.1     .       .37n"sre7="+code=hdev"in"srput_ref">wd     .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithexref">, 333/a> gf="deviertaa>->3batterygf="deviertafilef="+code=wda a"dev.struc.3batcapgf="deviertaa>->3battery.struc.3batcapgf="devierta/hid7h3d-wacom7c#L213" id>
L213" class=7line"62amn7
       .break; ->3batteryry_capacithexref">, 333/a> n     333ing">"%s&f="+create sysfs spere attribu.struc.3batca+code=wda a"27h3d-wacom7c#L213" id>
L213" class=7line"62amn7
L157">.1/a>static.int.37_set_7iref="+code=hdev"__set_birsre     .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithexref">, 333/a> typ   333ing">"typ filef="+code=wda a"devPOWER_SUPPLY_TYPE_BATTER27s.0, 0r.      POWER_SUPPLY_TYPE_BATTER2/hid7h3d-wacom7c#L213" id>
L213" class=7line"62amn7
E_REPORT3/a>); ->3batteryry_capacithexref">, 333/a> use_for_apma>->3batteryuse_for_apmvers/hid7hid-wacom7c#L221" id>
L221" class=7line"63amn7
L139">.1      .struct.37_set_73/hid7hid-wacom7c#L220" id>
L220" class=7line"64amn7
L140">.1      .struct.37_set_7iref="hid-wacom7c#L220" id>
L220" class=7line"631mn7
L140">.1      .struct.37_set_7iref="+code=hdev"__set_birsre .int.3device_create_filef="+code=wda a"deva>;  ">; ref">wda a3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_speref="+code=speed" hr_att     .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithd7h9d-wacom7c#L219" id>
L219" class=7line"64amn7
L222">.2wda a3/a>->37_set_7iref="+code=hd"283s="srsref">psp3/a>) { 
L211" class=7line"64amn7
L193">.1wda a3/a>->37_set_74__set_biref="+code=hdev"__set_birsrecom_da a3/a> *3h href="+code=hdev"h href">,">ret3/a> =.0; 
L211" class=7line"72amn>
L184">.1wda a3/a>->37_set_74sp3intfe=ps_connected"+code=hdev"__set_birsre =.0; 
L219" class=7line"64amn7
L155">.1     .       .37_set_74="d_ers="+code=device=wda a"ers_frees="sf">rery_capaa>->3battery">rery_capa/hid7h3d-wacom7c#L213" id>
L213" class=7line"64amn7
       .break; 
L214" class=7line"64amn7
L157">.1/    .       .37pa
 c74/hid6hid-wacom6c#L188" id>
L188" class=67ine"648mn7
L155">.1     .       .37n"sre7et_capabilithref="+code=psy"i">; ;  ">; ; ref">wda      .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithf="+code=speed" hr_atta3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_spered7h9d-wacom7c#L219" id>
L219" class=7line"63amn7
L149">.1493/a> 
L150" class=67ine"65amn7
L140">.1      .struct.37_set_7iref="+code=hdev"__set_birsre     .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> "driertiref"com_da a3/a> "driertirefilef="+code=wda a"dev.strucacp"drief"com_da a3/a> *3h hracp"drie/hid7h3d-wacom7c#L213" id>
L213" class=7line"651mn7
L140">.1      .struct.37_set_7iref="+code=hdev"__set_birsre     .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> nud_deviertiref"com_da a3/a> nud_deviertirefilef="+code=wda a"devARRAY_SIZ 63s.0, 0r.      RRAY_SIZ ev"h href">,">ret3/a.strucacp"drief"com_da a3/a> *3h hracp"drie/hidd7h9d-wacom7c#L219" id>
L219" class=7line"65amn7
L222">.2wda a3/a>->37_set_7iref="+code=hdev"__set_birsre     .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> gf="deviertaa>->3batterygf="deviertafilef="+code=wda a"dev.strucacpgf="deviertaa>->3battery.strucacpgf="devierta/hid7h3d-wacom7c#L213" id>
L213" class=7line"64amn7
">ret3/a> =.0;       a a3/a>->3battery_capacithref="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> n     333ing">"%s&f="+create sysfs spere attribu.strucac+code=wda a"27h3d-wacom7c#L213" id>
L213" class=7line"65amn7
L174">.1/    .       .37pa
 c75+code=wda a" class="s"=ra>       .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> typ   333ing">"typ filef="+code=wda a"devPOWER_SUPPLY_TYPE_MAIN......if (3in"srPOWER_SUPPLY_TYPE_MAIN./hid7h3d-wacom7c#L213" id>
L213" class=7line"64amn7
L155">.1     .       .37_set_7iref="+code=hdev"__set_birsre     .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithexref">, 333/a> use_for_apma>->3batteryuse_for_apmvers/hid7hid-wacom7c#L221" id>
L221" class=7line"6namn7
L156">.1     .       .37_set_75/hid6h7d-wacom6c#L147" id>
L147" class=67ine"65amn7
L207">.2073/a> ;  ">; ref">wda a3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_speref="+code=speed" hr_att     .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithd7h9d-wacom7c#L219" id>
L219" class=7line"648mn7
L178">.1"drivers ......7..if 73h href="+code"283s="srsref">psp3/a>) { 
L211" class=7line"659mn7
L156">.1923/awda a3/a>-7gt;3U75in"sreset_abs_paramom_set_features"icom_da a3/a> *3h href="+code=hdev"h href">,">ret3/a> =.0; 
L218" class=7line"66amn7
L140">.1403/a>  ref">__783/a>73in"sreset_abs_paramoms_paramom_create sysfs spere attribute ers: %d\n&acary_capars. ......,...if (3283f="+code=wda a"28dev"__set_birsre =.0; 
L219" class=7line"661mn7
L140">.1403/a>  ref">__783/a>73in"sreset_abs_paramom=wda a"ers_frees="sf">reacom_da a3/a> *3a">reac/hid7h3d-wacom7c#L213" id>
L213" class=7line"66amn7
L222">.2223/a>  a>     7 .int76="drivers/hid6h3d-wacom6c#L223" id>
L223" class=67ine"66amn7
L113">.1133/a>  .......7.....76/hid6hid-wacom6c#L194" id>
L194" class=67ine"66amn7
L184">.1843/a>       . 7     76+code=wda a" class="s"=ra>  ">; ;  ">; ; ref">wda      .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithf="+code=speed" hr_atta3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_spered7h9d-wacom7c#L219" id>
L219" class=7line"66amn7
L225">.2923/awda a3/a>-7gt;3U76 
L186" class=67ine"66amn7
L156">.1563/a>  .......7.....76/hid6h7d-wacom6c#L147" id>
L147" class=67ine"66amn7
L157">.1573/a>  .......7.....73__seta"ers_frees="sf">reacom_da a3/a> *3a">reac/hid6hid-wacom6c#L166" id>
L166" class=67ine"66amn7
L148">.1483/a>  ref">__783/a>76t_capabilithref="+code=psy"i">;  ">; ref">wda      .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithd7h9d-wacom7c#L219" id>
L219" class=7line"659mn7
L139">.1393/a>  ref">__783/a>73__seta"ers_frees="sf">rery_capaa>->3battery">rery_capa/hid6hid-wacom6c#L166" id>
L166" class=67ine"67amn7
L140">.1403/a>  ref">__783/a>77ref="+code=hdev"__set_birsre3/a> *3removilesref"/a> =com_da a3/a> *3removilesrede=hdev"h href">ref">wda a3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_speref="+code=speed" hr_attr_spereef">)f">ret3/a> =.0; 
L216" class=7line"671mn7
L140">.1403/a>  ref">__783/a>77ref="+code=hdev"__set_birsrehf="+codeop3/a> *3h href="+cod+codeopev"h href">,">ret3/a> =.0; 
L216" class=7line"66amn7
L222">.2223/a>       . 7     73__sete=speed" hr_attr_ spoy_a hef"com_da a3/a> de spoy_a he/hid6hid-wacom6c#L166" id>
L166" class=67ine"66amn7
L113">.1133/a>  .......7.....77ode=wda a"283s="s"=ra>      a="+cod_ spoy_a hef"com_da a3/a> a="+cod_ spoy_a heev"h href">,">ret3/a> =.0; 
L216" class=7line"66amn7
L184">.1843/a>  .......7.....73__seta"ers_frees="sf">ret3/a> =.0; 
L166" class=67ine"66amn7
L225">.2253/a>       . 7     77ref="+code=hdev"__set_birsrekt3/a> =.0;        .int.3NULf="+code=EINVAd7h6d-wacom7c#L216" id>
L216" class=7line"66amn7
L156">.1563/a>  .......7.....73in"sreset_absvers/hiev"__set_birsre =.0; 
L216" class=7line"66amn7
L157">.1573/a>  .......7.....73in"sr6h3d-wacom6c#L223" id>
L223" class=67ine"67amn7
L178">.1783/a>  ref">__783/a>77/hid7h9d-wacom7c#L199" id>
L199" class=7line"67amn7
L139">.1393/a>  ref">__783/a>73in"sreid_getvoid3s="s"=ra>      a="+coremovif"com_da a3/a> a="+coremovi/hid et_drvda a"="d_devicemn>
L>       .char.*3h href="+code=hdev"h href">,sref">psp3/a>, 
L217" class=7line"68amn7
L140">.1403/a>  ref">__783/a>78s/hid6hid-wacom6c#L191" id>
L191" class=67ine"681mn7
L140">.1403/a>  ref">__783/a>73in"sreset_abswacom_da a" class="sref">wacom_da a3/a> *3a href="+code=wda a" class="sf">ret3/a> =.0;  *3h hreg="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda ad7h6d-wacom7c#L216" id>
L216" class=7line"68amn7
L222">.2223/a>       . 7     78/hid7h3d-wacom7c#L223" id>
L223" class=7line"68amn7
L113">.1}E_REPORT3/a>);7      a="+cod_ spoy_a hef"com_da a3/a> a="+cod_ spoy_a heev"h href">,">ret3/a> =.0; 
L216" class=7line"6namn7
E_REPORT3/a>);   3/a> *3removilesref"/a> =com_da a3/a> *3removilesrede=hdev"h href">ref">wda a3/a>->3 href="+code=hdev" href">,2/a> =com_da a3/a> *3 hr_attr_speref="+code=speed" hr_attr_spereef">)f">ret3/a> =.0; 
L216" class=7line"68amn7
L155">.1283/a> ef">ret37a> =.78ref="+code=hdev"__set_birsrehf="+codeop3/a> *3h href="+cod+codeopev"h href">,">ret3/a> =.0; 
L216" class=7line"68amn7
}E_REPORT3/a>); 
L147" class=67ine"68amn7
L207">.2073/a> ;  ">; ref">wda      .int.3kzallo href="+coderef="+code=psy"battery_capaa>->3batteryry_capacithd7h9d-wacom7c#L219" id>
L219" class=7line"68amn7
L231">.in>       .struc7.3a h78t_capabilithref="+code=psy"i">;  ">; ref">wda      .int.3kzallo href="+coderef="+code=psy"batteacom_da a3/a> *3aaccithd7h9d-wacom7c#L219" id>
L219" class=7line"68amn7
L139">.1393/a>  const 373/a> 78ode=wda a"283s="s"=ra>      kt3/a> =.0;  3utsg hresref"com_da a3/a> *3h hreg="+code=hdev"h href">,2 om_da a3/a> *3a href="+code=wda add7h9d-wacom7c#L219" id>
L219" class=7line"69amn7
ref">psp3/a>) { 
L223" class=67ine"691mn7
L140">.1333/a>       .s7ruct.79/hid7h2d-wacom7c#L192" id>
L192" class=7line"69amn7
L152">.1in>       .stru7t.3287f="+coeid_getce_ief="+code=speed"="d_device_iemn>
L>       .char.*3ief="+code=speed"ieps="s"=ra>      a="+cod_de=sef"com_da a3/a> a="+cod_de=sed"ie[]w_r6hid-wacom6c#L191" id>
L191" class=67ine"69amn7
">ret3/a> =.0;  D_COef="drive>
rsrefev"h href">,2 om_da Hmn>VENDOR">psp3/a>f"com_da a3/a> Hmn>VENDOR">psp3/a>peref=href">,2 om_da Hmn>ps_connected"USB__SUPPL_ID_WACOM_GRAPHIRE_BLUETOOTHmn>
        .break; 
L218" class=7line"69amn7
L184">.1com_da a3/a> *37 href7"+code=wda a" {="+code=speed"HID_COef="drive>
rsreff"com_da a3/a> D_COef="drive>
rsrefev"h href">,2 om_da Hmn>VENDOR">psp3/a>f"com_da a3/a> Hmn>VENDOR">psp3/a>peref=href">,2 om_da Hmn>ps_connected"USB_SUPPL_ID_WACOM_INTUOS4_BLUETOOTHmn>
rsref">psp3/a>) { 
L218" class=7line"68amn7
L225">.2     .........i7 (3a 7ref="+h8d-wacom7c#L218" id>
L218" class=7line"68amn7
L176">.1763/a>        .7truct73="d_ers="+cod{d6h3d-wacom6c#L223" id>
L223" class=67ine"69amn7
L157">.1573/a>  283/a> 7com_d7 a3/a>}7h9d-wacom7c#L219" id>
L219" class=7line"68amn7
L148">.1}E_REPORT3/a>);7,2 om_da MODULE>
rsref"TAB.......if (3in"srMODULE>
rsref"TAB../hid class="s"==ra> 3ut     .char.*3ief="peref=href">,2 om_da a="+cod_de=sef"com_da a3/a> a="+cod_de=sed"ied7h9d-wacom7c#L219" id>
L219" class=7line"68amn7
L149">.1493/a> 
L200" class=78ine"70amn8
L140">.1      .struct.38"d_se8e rv heid_get="+code=speed"="d_device_ie#L200     .char.*3ief="+c#L200d"ieps="s"=ra>      a="+cod#L200     .char.*3iea="+cod#L200/hidw_r6hid-wacom6c#L191" id>
L191" class=68ine"701mn8
       .break; , 333/a> n     333ing">"%s&f="+create sysfs spere attribu.stru+code=wda a"28hid-wacom7c#L211" id>
L211" class=78ine"70amn8
L202">.2/    .       .38pa
 c8assParse the Hexref">, 333/a> ="+tabref"/a> =com_da a="+tabre/hidw_report"="d_hw_L2a="+cod_de=sef"com_da a3/a> a="+cod_de=sed"ie8hid-wacom7c#L211" id>
L211" class=78i3e"70amn8
">ret3/a> =.0; , 333/a> "dr/a>       .structdeviceid_w_report"="d_hw_L2a="+co333/a>       .struct.3="d_deviceid_8hid-wacom7c#L211" id>
L211" class=78i4e"70amn8
L184">.1com_da a3/a> *38 (3288f="+code=wda aexref">, 333/a> removif"com_da a3/a> removi/hidw_report"="d_hw_L2a="+coremovif"com_da a3/a> a="+coremovi/hid8hid-wacom7c#L211" id>
L211" class=78i5e"70amn8
L225">.2     .........i8truct83="d_ers="+codexref">, 333/a> raw_evll t"com_da a3/a> raw_evll /hidw_report"="d_hw_L2a="+coraw_evll t"com_da a3/a> a="+coraw_evll /hid8hid-wacom7c#L211" id>
L211" class=78i6e"70amn8
L176">.1763/a>        .8   .s8ruct.3ers_freeexref">, 333/a> = *3inmappf">ret3/a> =.0; <= *3inmappf"/hidw_report"="d_hw_L2a="+co= *3inmappf">ret3/a> =.0; 
L211" class=78i7e"70amn8
L157">.1573/a>  283/a> 8}7h9d-wacom7c#L219" id>
L219" class=78ine"70amn8
E_REPORT3/a>); 
L199" class=78ine"70amn8
L139">.1      .struct.3883f="80in"sreid_get"283s="sf">ret3/a> _rt.it>ret3/a> =.0; <_rt.itd"ieps="s"=ra>      a="+cot.it>ret3/a> =.0; 
L217" class=78ine"71amn8
L140">.1     .........i8 (32881s/hid6hid-wacom6c#L191" id>
L191" class=68ine"711mn8
L140">.1403/a>        .8truct83="d_ers="+cod"283s="sf">ret3/a> =.0; 
L193" class=68ine"71amn8
L202">.2023/a>  goto   8   .s81/hid7h3d-wacom7c#L223" id>
L223" class=78ine"71amn8
L113">.1}E_REPORT3/a>);8       .int.3="d_hw_L23utput_raw_report"="d_hw_L23utsregiscapie#L200     .char.*3ief="+regiscapie#L200de=hdev"h href">ref">wda  ="+cod#L200     .char.*3iea="+cod#L200/hidd7h9d-wacom7c#L219" id>
L219" class=78ine"71amn8
E_REPORT3/a>); psp3/a>) { 
L219" class=78i5e"70amn8
L155">.1     .       .3883f="81="d_ers="+code=device"="d_erssref"copra a3/a> *3h href="+pra a3/hid ccreate sysfs spere attribute ers: &#regiscap     .br#L219ref="drivers/hid7hid-wacom7c#L212" id>
L212" class=78ine"71amn8
L176">.1     .........i8 (32881in"sreset_absvers/hiev"__set_birsre =.0; 
L216" class=78ine"71amn8
L157">.1573/a>        .8truct81in"sr6h3d-wacom6c#L223" id>
L223" class=68ine"71amn8
L178">.1783/a>       . 82    81/hid7h9d-wacom7c#L199" id>
L199" class=78ine"71amn8
L149">.1493/a>       __exit>ret3/a> =.0; <_rexitd"ieps="s"=ra>      a="+coexit>ret3/a> =.0; 
L217" class=78ine"72amn8
L140">.1      .struct.38 href82s/hid6hid-wacom6c#L191" id>
L191" class=68ine"721mn8
L140">.1      .struct.38class8erefea3/aesf="+code=wda a" clf="+unregiscapie#L200     .char.*3ief="+unregiscapie#L200de=hdev"h href">ref">wda  ="+cod#L200     .char.*3iea="+cod#L200/hidd7h9d-wacom7c#L219" id>
L219" class=78ine"7namn8
">ret3/a> =.0; 
L223" class=68ine"72amn8
L173">.1     .........i8 (3h 82/hid6hid-wacom6c#L194" id>
L194" class=68ine"72amn8
L184">.1843/a>  .......8.....82__seta"ers_frees="sfmoduleot.it>ret3/a> =.0;   ="+cot.it>ret3/a> =.0; 
L219" class=78i5e"70amn8
L165">.1653/a> ret3/a> =.0;   ="+coexit>ret3/a> =.0; 
L219" class=78ine"71amn8
L231">.in>       .struc8.3a h82uct.3href">,2 om_da MODULE>
rSCRIPTION.....if (3in"srMODULE>
rSCRIPTION/hid ccreate sysfs spere attribuD#L219 for W   .bGraphire Bluetooth and W   .be"="d_wa2mf="drivers/hid7hid-wacom7c#L212" id>
L212" class=78ine"62amn8
L157">.1"33/a>       .s8ruct.82__seta"ers_frees="sfMODULE>LICENS......if (3in"srMODULE>LICENS./hid ccreate sysfs spere attribuGPmf="drivers/hid7hid-wacom7c#L212" id>
L212" class=78ine"71amn8
L178">.1783/a>         8     8      
.178foot00 > The original LXR software by3/spaid-wacom7http://sourceforge.net/projects/lx0 >LXR clamu.itacithf=this experiall al 212"ion by3id-wacom7mailto:lx0@3/aux.no">lx0@3/aux.nocith. .178subfoot00 > lx0.3/aux.no kindly hoscad by3id-wacom7http://www.redpill-3/apro.no">Redpill L/apro AScithf=provid19 of L/auxtce_iultere and vierd_ge_i serde=se since 1995.