ó æ ”\c@snddlmZddlTddlZddlmZddlZejj ƒZ dej fd„ƒYZ dS(i(tbase(t*iÿÿÿÿN(tcommandst USBPlugincBs}eZdZd„Zd„Zed„ƒZd„Zd„Zd„Z e dde ƒd „ƒZ e dƒed „ƒZRS( s7 Plugin for tuning various options of USB subsystem. cCsmt|_tƒ|_tƒ|_x9|jjdƒjddƒD]}|jj|j ƒq@Wt ƒ|_ dS(NtusbtDEVTYPEt usb_device( tTruet_devices_supportedtsett _free_devicest_assigned_devicest_hardware_inventoryt get_devicestmatch_propertytaddtsys_nameRt_cmd(tselftdevice((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt _init_devicess    %cCs&g|D]}|jjd|ƒ^qS(NR(R t get_device(Rtdevicestx((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_get_device_objectsscCs idd6S(Nt autosuspend(tNone(R((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_get_config_optionsscCst|_t|_dS(N(Rt_has_static_tuningtFalset_has_dynamic_tuning(Rtinstance((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_instance_init!s cCsdS(N((RR((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_instance_cleanup%scCsd|S(Ns)/sys/bus/usb/devices/%s/power/autosuspend((RR((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_autosuspend_sysfile(sRt per_devicecCs`|j|ƒ}|dkrdS|r+dnd}|s\|j|ƒ}|jj||ƒn|S(Nt1t0(t _option_boolRR"Rt write_to_file(RtvalueRtsimtenabletvaltsys_file((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_set_autosuspend+s cCs+|j|ƒ}|jj|d|ƒjƒS(Ntno_error(R"Rt read_filetstrip(RRtignore_missingR,((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyt_get_autosuspend7s(t__name__t __module__t__doc__RRt classmethodRR R!R"t command_setRR-t command_getRR2(((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyR s     ( tRt decoratorst tuned.logsttunedttuned.utils.commandsRtglobtlogstgettlogtPluginR(((s</usr/lib/python2.7/site-packages/tuned/plugins/plugin_usb.pyts