linux/drivers/base/core.c
<<
ion ion ioo/spa> ioospa> class="lxr_search">ion ="+search" method="post" onsubmit="return do_search(this);">ion 3> "v">ion ion Search ioospa> class="lxr_prefs" ion ioo/spa> n < ="ajax+*" method="post" onsubmit="return false;">iooinput typ "vhidden" nam "vajax_lookup" id"vajax_lookup" > 3> "v">in <
odiv id"vfile_contents"
< <1o/a>ospa> class="comment">/*o/spa>
 < <2o/a>ospa> class="comment"> * drivers/base/core.c - core driver model code (device registraion>, etc)o/spa>
 < <3o/a>ospa> class="comment"> *o/spa>
 < <4o/a>ospa> class="comment"> * Copyright (c) 2002-3 Patrick Mochelo/spa>
 < <5o/a>ospa> class="comment"> * Copyright (c) 2002-3 Open Source Development Labso/spa>
 < <6o/a>ospa> class="comment"> * Copyright (c) 2006 Greg Kroah-Hartma> <gregkh@suse.de>o/spa>
 < <7o/a>ospa> class="comment"> * Copyright (c) 2006 Novell, Inc.o/spa>
 < <8o/a>ospa> class="comment"> *o/spa>
 < <9o/a>ospa> class="comment"> * This file is released under the GPLv2o/spa>
 <  
  a>ospa> class="comment"> *o/spa>
 < 11o/a>ospa> class="comment"> */o/spa>
 < 12o/a> < 13o/a>#include <linux/device.ho/a>> < 14o/a>#include <linux/err.ho/a>> < 15o/a>#include <linux/init.ho/a>> < 16o/a>#include <linux/module.ho/a>> < 17o/a>#include <linux/slab.ho/a>> < 18o/a>#include <linux/string.ho/a>> < 19o/a>#include <linux/kdev_t.ho/a>> < 20o/a>#include <linux/notifier.ho/a>> < 21o/a>#include <linux/of.ho/a>> < 22o/a>#include <linux/of_device.ho/a>> < 23o/a>#include <linux/genhd.ho/a>> < 24o/a>#include <linux/kallsyms.ho/a>> < 25o/a>#include <linux/mutex.ho/a>> < 26o/a>#include <linux/async.ho/a>> < 27o/a>#include <linux/pm_runtime.ho/a>> < 28o/a>#include <linux/netdevice.ho/a>> < 29o/a> < 30o/a>#include "base.ho/a>" < 31o/a>#include "power/power.ho/a>" < 32o/a> < 33o/a>#ifdefCONFIG_SYSFS_DEPRECATEDo/a> < 34o/a>#ifdefCONFIG_SYSFS_DEPRECATED_V2o/a> < 35o/a>longsysfs_deprecatedo/a> = 1; < 36o/a>#else < 37o/a>longsysfs_deprecatedo/a> = 0; < 38o/a>#endif < 39o/a>static__inito/a> intsysfs_deprecated_setupo/a>(char *oa href="+code=arg" class="sref">argo/a>) < 40o/a>{ < 41o/a>        return oa href="+code=strict_strtol" class="sref">strict_strtolo/a>(oa href="+code=arg" class="sref">argo/a>, 10, &oa href="+code=sysfs_deprecated" class="sref">sysfs_deprecatedo/a>); < 42o/a>} < 43o/a>oa href="+code=early_param" class="sref">early_paramo/a>(ospa> class="string">"sysfs.deprecated"
,sysfs_deprecated_setupo/a>); < 44o/a>#endif < 45o/a> < 46o/a>int<(*oa href="+code=platform_notify" class="sref">platform_notifyo/a>)(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>) = oa href="+code=NULL" class="sref">NULLo/a>; < 47o/a>int<(*oa href="+code=platform_notify_remove" class="sref">platform_notify_removeo/a>)(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>) = oa href="+code=NULL" class="sref">NULLo/a>; < 48o/a>statickobjecto/a> *oa href="+code=dev_kobj" class="sref">dev_kobjo/a>; < 49o/a>structkobjecto/a> *oa href="+code=sysfs_dev_char_kobj" class="sref">sysfs_dev_char_kobjo/a>; < 50o/a>structkobjecto/a> *oa href="+code=sysfs_dev_block_kobj" class="sref">sysfs_dev_block_kobjo/a>; < 51o/a> < 52o/a>#ifdefCONFIG_BLOCKo/a> < 53o/a>staticinlineo/a> intdevice_is_not_partiion>o/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>) < 54o/a>{ < 55o/a>        return !(oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a> == &oa href="+code=part_typ
" class="sref">part_typ
o/a>); < 56o/a>} < 57o/a>#else < 58o/a>staticinlineo/a> intdevice_is_not_partiion>o/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>) < 59o/a>{ < 60o/a>        return 1; < 61o/a>} < 62o/a>#endif < 63o/a> < 64o/a>ospa> class="comment">/**o/spa>
 < 65o/a>ospa> class="comment"> * dev_driver_string - Return a device's driver nam
, if at all possibleo/spa>
 < 66o/a>ospa> class="comment"> * @dev:
 < 67o/a>ospa> class="comment"> *o/spa>
 < 68o/a>ospa> class="comment"> * Will return the device's driver's nam
 if it is bound to a device.  Ifo/spa>
 < 69o/a>ospa> class="comment"> * the device is not bound to a driver, it will return the nam
 of the buso/spa>
 < 7
  a>ospa> class="comment"> * it is attached to.  If it is not attached to a bus either, a> emptyo/spa>
 < 71o/a>ospa> class="comment"> * string will be returned.o/spa>
 < 72o/a>ospa> class="comment"> */o/spa>
 < 73o/a>const char *oa href="+code=dev_driver_string" class="sref">dev_driver_stringo/a>(const structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>) < 74o/a>{ < 75o/a>        structdevice_drivero/a> *oa href="+code=drv" class="sref">drvo/a>; < 76o/a> < 77o/a>        ospa> class="comment">/* dev->driver ca> change to NULL underneath us becaus
 of unbinding,o/spa>
 < 78o/a>ospa> class="comment">         * so be careful about accessing it.  dev->bus and dev->class shouldo/spa>
 < 79o/a>ospa> class="comment">         * never change once they are set, so they don't need special care.o/spa>
 < 8
  a>ospa> class="comment">         */o/spa>
 < 81o/a>        oa href="+code=drv" class="sref">drvo/a> = oa href="+code=ACCESS_ONCE" class="sref">ACCESS_ONCEo/a>(oa href="+code=dev" class="sref">devo/a>->oa href="+code=driver" class="sref">drivero/a>); < 82o/a>        return oa href="+code=drv" class="sref">drvo/a> ? oa href="+code=drv" class="sref">drvo/a>->oa href="+code=nam
" class="sref">nam
o/a> : < 83o/a>                        (oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a> ? oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>->oa href="+code=nam
" class="sref">nam
o/a> : < 84o/a>                        (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a> ? oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=nam
" class="sref">nam
o/a> : ospa> class="string">""
)); < 85o/a>} < 86o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=dev_driver_string" class="sref">dev_driver_stringo/a>); < 87o/a> < 88o/a>#define oa href="+code=to_dev_attr" class="sref">to_dev_attro/a>(oa href="+code=_attr" class="sref">_attro/a>) oa href="+code=container_of" class="sref">container_ofo/a>(oa href="+code=_attr" class="sref">_attro/a>, structdevice_attributeo/a>, oa href="+code=attr" class="sref">attro/a>) < 89o/a> < 90o/a>staticssize_to/a> oa href="+code=dev_attr_show" class="sref">dev_attr_showo/a>(structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>, structattributeo/a> *oa href="+code=attr" class="sref">attro/a>, < 91o/a>                             char *oa href="+code=buf" class="sref">bufo/a>) < 92o/a>{ < 93o/a>        structdevice_attributeo/a> *oa href="+code=dev_attr" class="sref">dev_attro/a> = oa href="+code=to_dev_attr" class="sref">to_dev_attro/a>(oa href="+code=attr" class="sref">attro/a>); < 94o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); < 95o/a>        oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=ret" class="sref">reto/a> = -oa href="+code=EIO" class="sref">EIOo/a>; < 96o/a> < 97o/a>        if (oa href="+code=dev_attr" class="sref">dev_attro/a>->oa href="+code=show" class="sref">showo/a>) < 98o/a>                oa href="+code=ret" class="sref">reto/a> = oa href="+code=dev_attr" class="sref">dev_attro/a>->oa href="+code=show" class="sref">showo/a>(oa href="+code=dev" class="sref">devo/a>, oa href="+code=dev_attr" class="sref">dev_attro/a>, oa href="+code=buf" class="sref">bufo/a>); < 99o/a>        if (oa href="+code=ret" class="sref">reto/a> >= (oa href="+code=ssize_t" class="sref">ssize_to/a>)oa href="+code=PAGE_SIZE" class="sref">PAGE_SIZEo/a>) { <100o/a>                oa href="+code=print_symbol" class="sref">print_symbolo/a>(ospa> class="string">"dev_attr_show: %s returned bad count\n"
, <101o/a>                                (unsigned long)oa href="+code=dev_attr" class="sref">dev_attro/a>->oa href="+code=show" class="sref">showo/a>); <102o/a>        } <103o/a>        return oa href="+code=ret" class="sref">reto/a>; <104o/a>} <105o/a> <106o/a>staticssize_to/a> oa href="+code=dev_attr_store" class="sref">dev_attr_storeo/a>(structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>, structattributeo/a> *oa href="+code=attr" class="sref">attro/a>, <107o/a>                              const char *oa href="+code=buf" class="sref">bufo/a>,size_to/a> oa href="+code=count" class="sref">counto/a>) <108o/a>{ <109o/a>        structdevice_attributeo/a> *oa href="+code=dev_attr" class="sref">dev_attro/a> = oa href="+code=to_dev_attr" class="sref">to_dev_attro/a>(oa href="+code=attr" class="sref">attro/a>); <110o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <111o/a>        oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=ret" class="sref">reto/a> = -oa href="+code=EIO" class="sref">EIOo/a>; <112o/a> <113o/a>        if (oa href="+code=dev_attr" class="sref">dev_attro/a>->oa href="+code=store" class="sref">storeo/a>) <114o/a>                oa href="+code=ret" class="sref">reto/a> = oa href="+code=dev_attr" class="sref">dev_attro/a>->oa href="+code=store" class="sref">storeo/a>(oa href="+code=dev" class="sref">devo/a>, oa href="+code=dev_attr" class="sref">dev_attro/a>, oa href="+code=buf" class="sref">bufo/a>, oa href="+code=count" class="sref">counto/a>); <115o/a>        return oa href="+code=ret" class="sref">reto/a>; <116o/a>} <117o/a> <118o/a>staticsysfs_opso/a> oa href="+code=dev_sysfs_ops" class="sref">dev_sysfs_opso/a> = { <119o/a>        .oa href="+code=show" class="sref">showo/a>   = oa href="+code=dev_attr_show" class="sref">dev_attr_showo/a>, <120o/a>        .oa href="+code=store" class="sref">storeo/a>  = oa href="+code=dev_attr_store" class="sref">dev_attr_storeo/a>, <121o/a>}; <122o/a> <123o/a>#define oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=x" class="sref">xo/a>) oa href="+code=container_of" class="sref">container_ofo/a>(oa href="+code=x" class="sref">xo/a>, structdev_ext_attributeo/a>, oa href="+code=attr" class="sref">attro/a>) <124o/a> <125o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_store_ulong" class="sref">device_store_ulongo/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, <126o/a>                           structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <127o/a>                           const char *oa href="+code=buf" class="sref">bufo/a>,size_to/a> oa href="+code=size" class="sref">sizeo/a>) <128o/a>{ <129o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <130o/a>        char *oa href="+code=end" class="sref">endo/a>; <131o/a>        unsigned long oa href="+code=new" class="sref">newo/a> = oa href="+code=simple_strtoul" class="sref">simple_strtoulo/a>(oa href="+code=buf" class="sref">bufo/a>,<&oa href="+code=end" class="sref">endo/a>, 0); <132o/a>        if (oa href="+code=end" class="sref">endo/a> == oa href="+code=buf" class="sref">bufo/a>) <133o/a>                return -oa href="+code=EINVAL" class="sref">EINVALo/a>; <134o/a>        *(unsigned long *)(oa href="+code=ea" class="sref">eao/a>->oa href="+code=var" class="sref">varo/a>) = oa href="+code=new" class="sref">newo/a>; <135o/a>        ospa> class="comment">/* Always return full write size even if we didn't consume all */o/spa>
 <136o/a>        return oa href="+code=size" class="sref">sizeo/a>; <137o/a>} <138o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_store_ulong" class="sref">device_store_ulongo/a>); <139o/a> <140o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_show_ulong" class="sref">device_show_ulongo/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, <141o/a>                          structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <142o/a>                          char *oa href="+code=buf" class="sref">bufo/a>) <143o/a>{ <144o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <145o/a>        return oa href="+code=snprintf" class="sref">snprintfo/a>(oa href="+code=buf" class="sref">bufo/a>,PAGE_SIZEo/a>, ospa> class="string">"%lx\n"
, *(unsigned long *)(oa href="+code=ea" class="sref">eao/a>->oa href="+code=var" class="sref">varo/a>)); <146o/a>} <147o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_show_ulong" class="sref">device_show_ulongo/a>); <148o/a> <149o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_store_int" class="sref">device_store_into/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, <150o/a>                         structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <151o/a>                         const char *oa href="+code=buf" class="sref">bufo/a>,size_to/a> oa href="+code=size" class="sref">sizeo/a>) <152o/a>{ <153o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <154o/a>        char *oa href="+code=end" class="sref">endo/a>; <155o/a>        long oa href="+code=new" class="sref">newo/a> = oa href="+code=simple_strtol" class="sref">simple_strtolo/a>(oa href="+code=buf" class="sref">bufo/a>,<&oa href="+code=end" class="sref">endo/a>, 0); <156o/a>        if (oa href="+code=end" class="sref">endo/a> == oa href="+code=buf" class="sref">bufo/a> || oa href="+code=new" class="sref">newo/a> > oa href="+code=INT_MAX" class="sref">INT_MAXo/a> || oa href="+code=new" class="sref">newo/a> < oa href="+code=INT_MIN" class="sref">INT_MINo/a>) <157o/a>                return -oa href="+code=EINVAL" class="sref">EINVALo/a>; <158o/a>        *(int<*)(oa href="+code=ea" class="sref">eao/a>->oa href="+code=var" class="sref">varo/a>) = oa href="+code=new" class="sref">newo/a>; <159o/a>        ospa> class="comment">/* Always return full write size even if we didn't consume all */o/spa>
 <160o/a>        return oa href="+code=size" class="sref">sizeo/a>; <161o/a>} <162o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_store_int" class="sref">device_store_into/a>); <163o/a> <164o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_show_int" class="sref">device_show_into/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, <165o/a>                        structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <166o/a>                        char *oa href="+code=buf" class="sref">bufo/a>) <167o/a>{ <168o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <169o/a> <170o/a>        return oa href="+code=snprintf" class="sref">snprintfo/a>(oa href="+code=buf" class="sref">bufo/a>,PAGE_SIZEo/a>, ospa> class="string">"%d\n"
, *(int<*)(oa href="+code=ea" class="sref">eao/a>->oa href="+code=var" class="sref">varo/a>)); <171o/a>} <172o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_show_int" class="sref">device_show_into/a>); <173o/a> <174o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_store_bool" class="sref">device_store_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <175o/a>                          const char *oa href="+code=buf" class="sref">bufo/a>,size_to/a> oa href="+code=size" class="sref">sizeo/a>) <176o/a>{ <177o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <178o/a> <179o/a>        if (oa href="+code=strtobool" class="sref">strtoboolo/a>(oa href="+code=buf" class="sref">bufo/a>,eao/a>->oa href="+code=var" class="sref">varo/a>) < 0) <180o/a>                return -oa href="+code=EINVAL" class="sref">EINVALo/a>; <181o/a> <182o/a>        return oa href="+code=size" class="sref">sizeo/a>; <183o/a>} <184o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_store_bool" class="sref">device_store_boolo/a>); <185o/a> <186o/a>oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=device_show_bool" class="sref">device_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <187o/a>                         char *oa href="+code=buf" class="sref">bufo/a>) <188o/a>{ <189o/a>        structdev_ext_attributeo/a> *oa href="+code=ea" class="sref">eao/a> = oa href="+code=to_ext_attr" class="sref">to_ext_attro/a>(oa href="+code=attr" class="sref">attro/a>); <190o/a> <191o/a>        return oa href="+code=snprintf" class="sref">snprintfo/a>(oa href="+code=buf" class="sref">bufo/a>,PAGE_SIZEo/a>, ospa> class="string">"%d\n"
, *(oa href="+code=bool" class="sref">boolo/a><*)(oa href="+code=ea" class="sref">eao/a>->oa href="+code=var" class="sref">varo/a>)); <192o/a>} <193o/a>oa href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPLo/a>(oa href="+code=device_show_bool" class="sref">device_show_boolo/a>); <194o/a> <195o/a>ospa> class="comment">/**o/spa>
 <196o/a>ospa> class="comment"> * device_release - free device structure.o/spa>
 <197o/a>ospa> class="comment"> * @kobj: device's kobject.o/spa>
 <198o/a>ospa> class="comment"> *o/spa>
 <199o/a>ospa> class="comment"> * This is called once the reference count for the objecto/spa>
 <20
  a>ospa> class="comment"> * reaches 0. We forward the call to the device's releaseo/spa>
 <201o/a>ospa> class="comment"> * method, which should handle actually freeing the structure.o/spa>
 <202o/a>ospa> class="comment"> */o/spa>
 <203o/a>staticdevice_releaseo/a>(structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>) <204o/a>{ <205o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <206o/a>        structdevice_privateo/a> *oa href="+code=p" class="sref">po/a> = oa href="+code=dev" class="sref">devo/a>->oa href="+code=p" class="sref">po/a>; <207o/a> <208o/a>        ospa> class="comment">/*o/spa>
 <209o/a>ospa> class="comment">         * Some platform devices are driven without driver attachedo/spa>
 <21
  a>ospa> class="comment">         * and managed resources may have been acquired.  Make sureo/spa>
 <211o/a>ospa> class="comment">         * all resources are released.o/spa>
 <212o/a>ospa> class="comment">         *o/spa>
 <213o/a>ospa> class="comment">         * Drivers still ca> add resources into device after deviceo/spa>
 <214o/a>ospa> class="comment">         * is deleted but alive, so release devres here to avoido/spa>
 <215o/a>ospa> class="comment">         * possible memory leak.o/spa>
 <216o/a>ospa> class="comment">         */o/spa>
 <217o/a>        oa href="+code=devres_release_all" class="sref">devres_release_allo/a>(oa href="+code=dev" class="sref">devo/a>); <218o/a> <219o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=release" class="sref">releaseo/a>) <220o/a>                oa href="+code=dev" class="sref">devo/a>->oa href="+code=release" class="sref">releaseo/a>(oa href="+code=dev" class="sref">devo/a>); <221o/a>        else if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a>->oa href="+code=release" class="sref">releaseo/a>) <222o/a>                oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a>->oa href="+code=release" class="sref">releaseo/a>(oa href="+code=dev" class="sref">devo/a>); <223o/a>        else if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=dev_release" class="sref">dev_releaseo/a>) <224o/a>                oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=dev_release" class="sref">dev_releaseo/a>(oa href="+code=dev" class="sref">devo/a>); <225o/a>        else <226o/a>                oa href="+code=WARN" class="sref">WARNo/a>(1,KERN_ERRo/a> ospa> class="string">"Device '%s' does not have a release() "
 <227o/a>                        ospa> class="string">"funcion>, it is broken and must be fixed.\n"
, <228o/a>                        oa href="+code=dev_nam
" class="sref">dev_nam
o/a>(oa href="+code=dev" class="sref">devo/a>)); <229o/a>        oa href="+code=kfree" class="sref">kfreeo/a>(oa href="+code=p" class="sref">po/a>); <230o/a>} <231o/a> <232o/a>staticdevice_nam
spaceo/a>(structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>) <233o/a>{ <234o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <235o/a>        const void<*oa href="+code=ns" class="sref">nso/a> = oa href="+code=NULL" class="sref">NULLo/a>; <236o/a> <237o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=ns_typ
" class="sref">ns_typ
o/a>) <238o/a>                oa href="+code=ns" class="sref">nso/a> = oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=nam
space" class="sref">nam
spaceo/a>(oa href="+code=dev" class="sref">devo/a>); <239o/a> <240o/a>        return oa href="+code=ns" class="sref">nso/a>; <241o/a>} <242o/a> <243o/a>statickobj_typ
o/a> oa href="+code=device_ktyp
" class="sref">device_ktyp
o/a> = { <244o/a>        .oa href="+code=release" class="sref">releaseo/a>        = oa href="+code=device_release" class="sref">device_releaseo/a>, <245o/a>        .oa href="+code=sysfs_ops" class="sref">sysfs_opso/a>      = &oa href="+code=dev_sysfs_ops" class="sref">dev_sysfs_opso/a>, <246o/a>        .oa href="+code=nam
space" class="sref">nam
spaceo/a>      = oa href="+code=device_nam
space" class="sref">device_nam
spaceo/a>, <247o/a>}; <248o/a> <249o/a> <250o/a>staticdev_uevent_filtero/a>(structkseto/a> *oa href="+code=kset" class="sref">kseto/a>, structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>) <251o/a>{ <252o/a>        structkobj_typ
o/a> *oa href="+code=ktyp
" class="sref">ktyp
o/a> = oa href="+code=get_ktyp
" class="sref">get_ktyp
o/a>(oa href="+code=kobj" class="sref">kobjo/a>); <253o/a> <254o/a>        if (oa href="+code=ktyp
" class="sref">ktyp
o/a> == &oa href="+code=device_ktyp
" class="sref">device_ktyp
o/a>) { <255o/a>                structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <256o/a>                if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>) <257o/a>                        return 1; <258o/a>                if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>) <259o/a>                        return 1; <260o/a>        } <261o/a>        return 0; <262o/a>} <263o/a> <264o/a>staticdev_uevent_nam
o/a>(structkseto/a> *oa href="+code=kset" class="sref">kseto/a>, structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>) <265o/a>{ <266o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <267o/a> <268o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>) <269o/a>                return oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>->oa href="+code=nam
" class="sref">nam
o/a>; <270o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>) <271o/a>                return oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=nam
" class="sref">nam
o/a>; <272o/a>        return oa href="+code=NULL" class="sref">NULLo/a>; <273o/a>} <274o/a> <275o/a>staticdev_uevento/a>(structkseto/a> *oa href="+code=kset" class="sref">kseto/a>, structkobjecto/a> *oa href="+code=kobj" class="sref">kobjo/a>, <276o/a>                      structkobj_uevent_envo/a> *oa href="+code=env" class="sref">envo/a>) <277o/a>{ <278o/a>        structdeviceo/a> *oa href="+code=dev" class="sref">devo/a> = oa href="+code=kobj_to_dev" class="sref">kobj_to_devo/a>(oa href="+code=kobj" class="sref">kobjo/a>); <279o/a>        intretvalo/a> = 0; <280o/a> <281o/a>        ospa> class="comment">/* add device node properties if present<*/o/spa>
 <282o/a>        if (oa href="+code=MAJOR" class="sref">MAJORo/a>(oa href="+code=dev" class="sref">devo/a>->oa href="+code=devt" class="sref">devto/a>)) { <283o/a>                const char *oa href="+code=tmp" class="sref">tmpo/a>; <284o/a>                const char *oa href="+code=nam
" class="sref">nam
o/a>; <285o/a>                oa href="+code=umode_t" class="sref">umode_to/a> oa href="+code=mode" class="sref">modeo/a> = 0; <286o/a>                oa href="+code=kuid_t" class="sref">kuid_to/a> oa href="+code=uid" class="sref">uido/a> = oa href="+code=GLOBAL_ROOT_UID" class="sref">GLOBAL_ROOT_UIDo/a>; <287o/a>                oa href="+code=kgid_t" class="sref">kgid_to/a> oa href="+code=gid" class="sref">gido/a> = oa href="+code=GLOBAL_ROOT_GID" class="sref">GLOBAL_ROOT_GIDo/a>; <288o/a> <289o/a>                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"MAJOR=%u"
, oa href="+code=MAJOR" class="sref">MAJORo/a>(oa href="+code=dev" class="sref">devo/a>->oa href="+code=devt" class="sref">devto/a>)); <290o/a>                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"MINOR=%u"
, oa href="+code=MINOR" class="sref">MINORo/a>(oa href="+code=dev" class="sref">devo/a>->oa href="+code=devt" class="sref">devto/a>)); <291o/a>                oa href="+code=nam
" class="sref">nam
o/a> = oa href="+code=device_get_devnode" class="sref">device_get_devnodeo/a>(oa href="+code=dev" class="sref">devo/a>,<&oa href="+code=mode" class="sref">modeo/a>,<&oa href="+code=uid" class="sref">uido/a>,<&oa href="+code=gid" class="sref">gido/a>,<&oa href="+code=tmp" class="sref">tmpo/a>); <292o/a>                if (oa href="+code=nam
" class="sref">nam
o/a>) { <293o/a>                        oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DEVNAME=%s"
, oa href="+code=nam
" class="sref">nam
o/a>); <294o/a>                        if (oa href="+code=mode" class="sref">modeo/a>) <295o/a>                                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DEVMODE=%#o"
, oa href="+code=mode" class="sref">modeo/a> & 0777); <296o/a>                        if (!oa href="+code=uid_eq" class="sref">uid_eqo/a>(oa href="+code=uid" class="sref">uido/a>,GLOBAL_ROOT_UIDo/a>)) <297o/a>                                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DEVUID=%u"
, oa href="+code=from_kuid" class="sref">from_kuido/a>(&oa href="+code=init_user_ns" class="sref">init_user_nso/a>,uido/a>)); <298o/a>                        if (!oa href="+code=gid_eq" class="sref">gid_eqo/a>(oa href="+code=gid" class="sref">gido/a>,GLOBAL_ROOT_GIDo/a>)) <299o/a>                                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DEVGID=%u"
, oa href="+code=from_kgid" class="sref">from_kgido/a>(&oa href="+code=init_user_ns" class="sref">init_user_nso/a>,gido/a>)); <300o/a>                        oa href="+code=kfree" class="sref">kfreeo/a>(oa href="+code=tmp" class="sref">tmpo/a>); <301o/a>                } <302o/a>        } <303o/a> <304o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a>->oa href="+code=nam
" class="sref">nam
o/a>) <305o/a>                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DEVTYPE=%s"
, oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a>->oa href="+code=nam
" class="sref">nam
o/a>); <306o/a> <307o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=driver" class="sref">drivero/a>) <308o/a>                oa href="+code=add_uevent_var" class="sref">add_uevent_varo/a>(oa href="+code=env" class="sref">envo/a>, ospa> class="string">"DRIVER=%s"
, oa href="+code=dev" class="sref">devo/a>->oa href="+code=driver" class="sref">drivero/a>->oa href="+code=nam
" class="sref">nam
o/a>); <309o/a> <310o/a>        ospa> class="comment">/* Add common DT informaion> about the device<*/o/spa>
 <311o/a>        oa href="+code=of_device_uevent" class="sref">of_device_uevento/a>(oa href="+code=dev" class="sref">devo/a>,envo/a>); <312o/a> <313o/a>        ospa> class="comment">/* have the bus specific funcion> add its stuff<*/o/spa>
 <314o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>->oa href="+code=uevent" class="sref">uevento/a>) { <315o/a>                oa href="+code=retval" class="sref">retvalo/a> = oa href="+code=dev" class="sref">devo/a>->oa href="+code=bus" class="sref">buso/a>->oa href="+code=uevent" class="sref">uevento/a>(oa href="+code=dev" class="sref">devo/a>,envo/a>); <316o/a>                if (oa href="+code=retval" class="sref">retvalo/a>) <317o/a>                        oa href="+code=pr_debug" class="sref">pr_debugo/a>(ospa> class="string">"device: '%s': %s: bus uevent() returned %d\n"
, <318o/a>                                 oa href="+code=dev_nam
" class="sref">dev_nam
o/a>(oa href="+code=dev" class="sref">devo/a>),__func__o/a>,retvalo/a>); <319o/a>        } <320o/a> <321o/a>        ospa> class="comment">/* have the class specific funcion> add its stuff<*/o/spa>
 <322o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=dev_uevent" class="sref">dev_uevento/a>) { <323o/a>                oa href="+code=retval" class="sref">retvalo/a> = oa href="+code=dev" class="sref">devo/a>->oa href="+code=class" class="sref">classo/a>->oa href="+code=dev_uevent" class="sref">dev_uevento/a>(oa href="+code=dev" class="sref">devo/a>,envo/a>); <324o/a>                if (oa href="+code=retval" class="sref">retvalo/a>) <325o/a>                        oa href="+code=pr_debug" class="sref">pr_debugo/a>(ospa> class="string">"device: '%s': %s: class uevent() "
 <326o/a>                                 ospa> class="string">"returned %d\n"
, oa href="+code=dev_nam
" class="sref">dev_nam
o/a>(oa href="+code=dev" class="sref">devo/a>), <226o/a>             327"><327o/a>                6ass="sref">device_releaseo/a>(structpo/a>); <310o/a>        ospa> cl DT inf"+cocomment">/* have the class specific funcion> add its stuff<*/o/spa>
 <322o/a>        if (oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">typ
o/a> && oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">tyuso/a>->oa href="+code=uevent" class="sref">uevento/a>) { <222o/a>                oa href="+code=retval" class="sref">retvalo/a> = oa href="+code=dev" class="sref">devo/a>->oa href="+code=typ
" class="sref">tyuso/a>->oa href="+code=uevenlass="sref">dev_uevento/a>(oa href="+code=dev" class="sref">devo/a>,envo/a>); <324o/a>                if (oa href="+code=retval" class="sref">retvalo/a>) <294o/a>                        oa href="+code=pr_debug" class="sref">pr_debugo/a>(ospa> class="string">"device: de=d"+coc#37;s': %s: class uevent() "
 <295o/a>                                 ospa> class="string">"returned %d\n"
, oa href="+code=dev_nam
" class="sref">dev_nam
o/a>(oa href="+code=dev" class="sref">devo/a>), <326o/a>                6ass="sref">device_releaseo/a>(struct<288o/a> <272o/a>     <230o/a>} <231o/a> dev_uevento/a>(vent_var;oa href="+code=de/a>(vent_var;oass="lclass="sref">dev_nevent" clap;oa href="+code=dev_sevent" clap;oaetval"  class="sref">uevento/a>) { <246o/oa href="+code=dev_ue" class="sl"                6ass="staticdevo/a>), <244o/           oa href="+code=nam
>                6ass="onst char *oa href="+code=dev_uevent_nam
" class=dev" class="sref">devo/a>), <245o/uso/a>->oa href="+code=uevenl"                6ass="staticdevo/a>), <247o/a>}; <267o/a> <186o/a>oa href="+code=ssize_t" class="sref">sbool"icdevice_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <299o/a> >                         char *oa href="+code=buf" class="sref">bufo/a>) uevento/a>) { kseto/a>, structkotop_to_devo/a>(oa href=top_to_ders/ase/core.c#L235" id"vL235" 069 64ef="drive3s/base/core.c#L252" id"v3252" 3lass="line" nam
"vL252"><252o/a>     a>(structkseto/a> *oa href="+code=kase/core.c#L235" id"vL235" 069 64ef="drive3s/base/core.c#L253" id"v3253" 353ss="line" nat" class="sref">kseto/a>, structkobj_uevent_envo/a> *oa href="+codede=ns" class="sref">nso/a> = oa href="+code=NULL" class="sref">NULLo/a>; <279o/a> io/a> = oa href=ide=NULL" class="sref">NULLo/a>; sb><186o/a>oa href="+coe=ssize_t" class="sref">scalle>->oa href="+allecodede=" class="sref">modeo/a> = 0; <279o/a>        intmodeo/a> = 0; <267o/a> <208o/a>       searcha> cl"+co,a> cl DT infbelongsve, ic funcion> add its stuff<*/o/spa>
 <229otop_to_devo/a>(oa href=top_to_ders/="sref">sysfs_opso/a>     lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k class="sref">modeo/a> = 0; (oa href=top_to_ders/=dev" class="sref">dta>(structtyp
o/a> top_to_devo/a>(oa href=top_to_ders/=dev" class="sref">dparint;oa href="+codeparintcode=buf" class="sref">bufo/a>) <291o/a>     top_to_devo/a>(oa href=top_to_ders/="ssref">typ
o/a> top_to_devo/a>(oa href=top_to_ders/=dev" class="sref">dparint;oa href="+codeparintcode class="sref">modeo/a> = 0; (oa href=top_to_ders/=dev" class="sref">dta>(structbufo/a>) douref="+code=of_devutcode class="sref">modeo/a> = 0; <274o/a> sta>(structtyp
o/a> top_to_devo/a>(oa href=top_to_ders/=dev" class="sref">d>kseto/a> *oa href="+code=kase/core.c#L235" id"vL235" 069 64ef="drive3s/base/core.c#L266" id"v3266" 3lass="line" nam
"v                >kseto/a> *oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetval||                 >kseto/a> *oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetvayp
" class="sref">tyuso/a>->oa href="+code=ueventse/core.c#L235" id"vL235" 069 64ef="drive3s/base/core.c#L267" id"v3267" 366o/a>             327goe,  class="sref">douref="+code=of_devutcode class="sref">modeo/a> = 0; <288o/a> <208o/a>       reommet " clas ic funcion> add its stuff<*/o/spa>
 <270o/a> >kseto/a> *oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetvalp
" class="sref">typ
o/a> >kseto/a> *oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetvayp
" class="sref">tyoa href="+code=dev_ue" class="stse/core.c#L235" id"vL235" 069 64ef="drive3s/base/core.c#L271" id"v3271" 3lass="line" nam
"vL271m
"v                >kseto/a> *oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetvayp
" class="sref">tyoa href="+code=dev_ue" class="svL270"><270o/a> >kseto/a> *oa href="+code=k=gid" class="sref">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_ROOT_GIDo/a>)) douref="+code=of_devutcode class="sref">modeo/a> = 0;         } modeo/a> = 0ec"+code=k"sref">G = 0ece_shows="ofm
spaceo/a>(structkobj_uevef">devo/a>),kseto/a> *oa href="+code=env" class="sref">envo/a>) <276o/a>     /a>    ->kseto/a> *oa hENOMEM="+code=env" clENOMEMf">modeo/a> = 0; <267o/a> <208o/a>       searcha> cl"+colet DT infbee the class specific funciokeysd its stuff<*/o/spa>
 <229otop_to_devo/a>(ref="+code=retval" class="sref">retvalo/a> = oa href="+code=kyp
" class="sref">tyuso/a>p;oa href="+code=det" clap;oaetvayp
" class="sref">tyuso/a>->oa href="+code=ueventse/core.c#L235 >kseto/a> *oa href="+code=k=gid" class="sref">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Ref">devo/a>,envo/a>); <270o/a> >kseto/a> *oa href="+code=retval" class="sref">retvalo/a>) douref="+code=of_devutcode class="sref">modeo/a> = 0; <312o/a> <313o/a>        ospa> class="ccopyokeysd">df     its stuff<*/o/spa>
 <284ofor> >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa href=ide=NULL" class="sre <o io/a> = oa hrefref="+code=env" class="sref">dto_devo/a>(oa hassp_idx="+code=env" classp_idxf">mo io/a> = oa href=ide=NULL" class="sre++>retvalo/a>) <285o/a>                oa href="+allecodede=" class="sref+retvalo/a> = oa hsprintf="+code=buf" clsprintfL235 ">gid   lo/a> = oa href="+code=buf" class="sr[           oa href="+allecodede=" class="sre]ef">envo/a>, ospa> class="stroc#37;rned %d\n"
, oa href="+code=env" class="sref">dto_devo/a>(oa hassp="+code=env" classp="sr[           oa h=ide=NULL" class="sre]ef">envo/a>); m:">envo/a>); <287oto_devo/a>(oa href="+code=kfree" class="sref">kfreeo/a>(oa href="+code=env" class="sref">envo/a>); <208o/a>     envo/a>); <230o/a>} <320o/a> <186o/a>oa href="+code=ssize_t" class="sref">sbool"icdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <292o/a>                            const char *oa href="+code=buf" class="sruot;
, oa hef="+coe=ssize_t" class="sref">scalle>->oa href="+allecodede=" class="sre>retvalo/a>) <233o/a>{ <294oenum/a>, structGLOB"+c_apecifef">scalle>->oa hapecif"+code=k"sref">apecifef">f">envo/a>); envo/a>); , structkfreeo/a>(oa href="+code=buf" class="sruot;
, oa href="+allecodede=" class="sreef">gid   lo/a> = oa hapecif"+code=k"sref">apecifef">)">kt0>retvalo/a>) <297o/a>     a>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Ref">devo/a>,apecifef">)f">envo/a>); <298oelse">envo/a>); <299o/a>        lo/a> = oa href_erevent_filter" class=eresref">kfreeo/a>(oa href="+code=dev" class="sref">envo/a>, ospa> class="str"+code: unknown apecif-pa> clrned %d\n&q)f">envo/a>); <240o/a>        return oa href="+allecodede=" class="sref">envo/a>); <241o/a>} <312o/a> <243o/a>staticdevice_attuso/a>p;oa href="+coderef="+code=attr" cl="+coderef="sref"2"><312o/a> kfreeo/a>(oa href="+code=ueventse/core.c#L235ef">devo/a>,devo/a>,device_shuot;
, oa hetver="+codebool"icenvo/a>); envo/a>); <186o/a>oa href="+code=ssize_t" class="sref">sbool"ic(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <327o/a>                           char *oa href="+code=buf" class="sref">bufo/a>) <233o/a>{ <229otop_to_devo/a>(boo+code=retval" clboo+ef">sbool"icmodeo/a> = 0; <320o/a> <311o/a>        oa hlock_ass="srhotplcode=pr_debug" cllock_ass="srhotplcoe_sho)f">envo/a>); <311o/a>        oa h="+code=retval" clsref">m =  >kseto/a> *oa href="+code=dev" class="sref">dto_devo/a>(oa hoff06" clol"icmodeo/a> = 0; <313o/kfreeo/a>(oa hrnlock_ass="srhotplcode=pr_debug" clrnlock_ass="srhotplcoe_sho)f">envo/a>); <314o/a>        return oa hsprintf="+code=buf" clsprintfL235 >kfreeo/a>(oa href="+code=buf" class="sruot>envo/a>, ospa> class="stroc#37urned %d\n"
, oa h="+code=retval" clsref">m)f">envo/a>); <241o/a>} <306o/a> <186o/a>oa href="+code=ssize_t" class="sref">sbool"ic(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <318o/a>                            const char *oa href="+code=buf" class="sruot;
, oa hef="+coe=ssize_t" class="sref">scalle>->oa href="+allecodede=" class="sre>retvalo/a>) <233o/a>{ <229otop_to_devo/a>(boo+code=retval" clboo+ef">sbool"icmodeo/a> = 0; <321o/a>        intmodeo/a> = 0; <312o/a> <313o/kfreeo/a>(oa hrefcode=retval" classf">m>retvalo/a> = oa h">dtoboo+code=retval" cl">dtoboo+L235 >kfreeo/a>(oa href="+code=buf" class="sruo">gid   lo/a> = oa h="+code=retval" clsref">m)f">envo/a>); <324o/a> >kseto/a> *oa hrefcode=retval" classf">m><o 0>retvalo/a>) <325o/a>     /a>     modeo/a> = 0; <306o/a> <226o/a>  4     42"vL287"><287oto_devo/a>(oa hlock_ass="srhotplcode=pr_debug" cllock_ass="srhotplcoe_sho)f">envo/a>); (oa hrefcode=retval" classf">m>retvalo/a> = oa h="+code=retval" clsref">m ?/a>, structkfreeo/a>(oa href="+code=dev" class="sr) :/a>, structkfreeo/a>(oa href="+code=dev" class="sr)f">envo/a>); <229otop_to_devo/a>(rnlock_ass="srhotplcode=pr_debug" clrnlock_ass="srhotplcoe_sho)f">envo/a>); <240o/a>        return oa hrefcode=retval" classf">m><o 0 ?/a>, structm>:/a>, structenvo/a>); <241o/a>} <312o/a> <243o/a>staticdevice_attuso/a>p;oa hrefon06" eref="+code=attr" clon06" eref="sref"2"><312o/a> kfreeo/a>(oa hon06" clol"icdevo/a>,devo/a>,
, oa hetver=on06" clol"icenvo/a>); envo/a>); devicev_sevent" clap;oaetvaleddref">devicee_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <327o/a>                6ass="">devo/a>, structdevice_attributeo/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>) <233o/a>{ <279o/a>        intm>remodeo/a> = 0; <279o/a>        intNULLo/a>; <231o/a> <322o/a>        if (oa href=ev_sevent" clap;ref=e"sre>uevento/a>) { mo io/a> = oa hrefref==dev_uevent_nam
" clref==dev_sref">kfreeo/a>(oa href=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]ef io/a> = oa href=ide=NULL" class="sre++>uevento/a>) { <244ooooooooooooooooo       intm>rea>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <325o/a>     2"><322o/a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <326o/a>                6ass=breakfvento/a>) { <327o/a>     1"><241o/a>} <318o/a>     /a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <299o/a> >                  -->kseto/a> *oa h=ide=NULL" class="sre >kt0>retvalo/a>) <300o/a>                     a>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <241o/a>} <252o/a>        return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} <274o/a> , structdevicev_sevent" clap;oaetvalremove ef">devicee_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <326o/a>                6ass======">devo/a>, structdevice_attributeo/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>) ) { <208o/a>        intNULLo/a>; po/a>); <270o/a> >kseto/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>) <291o/a>     for> >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa hrefref==dev_uevent_nam
" clref==dev_sref">kfreeo/a>(oa href=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]ef io/a> = oa href=ide=NULL" class="sre++>retvalo/a>) <292o/a>             a>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <241o/a>} <274o/a> staticdevicev_sevent" clap;oaetvaleddrbinref">devicee_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <326o/a>                6ass======">devo/a>, structdevic="+code=buf" clainref">device_attributeo/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>)   4     46"vL26evento/a>) { <208o/a>        intm>remodeo/a> = 0; <279o/a>        intNULLo/a>; <320o/a> <322o/a>        if (oa href=ev_sevent" clap;ref=e"sre>uevento/a>) {  >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa hrefref==dev_uevent_nam
" clref==dev_sref">kfreeo/a>(oa href=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]ef io/a> = oa href=ide=NULL" class="sre++>uevento/a>) { 4     47"vL323goe,  class="sr        a>, structm>rea>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <244ooooooooooooooooo/a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <325o/a>     2"><322ooooooooobreakfvento/a>) { <276o/a>     1"><241o/a>} <327o/a>     /a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <318o/a>                    -->kseto/a> *oa h=ide=NULL" class="sre >kt0>retvalo/a>) <299o/a> >                   a>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <270o1"><241o/a>}         return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} devicev_sevent" clap;oaetvalremove binref">devicee_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <285o/a>                              ">devo/a>, structdevic="+code=buf" clainref">device_attributeo/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>) ) { <287o/a>        intNULLo/a>; <288o/a> <279o/a> >kseto/a> *oa href=ev_sevent" clap;ref=e"sre>retvalo/a>) <300o/a>     for> >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa hrefref==dev_uevent_nam
" clref==dev_sref">kfreeo/a>(oa href=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]ef io/a> = oa href=ide=NULL" class="sre++>retvalo/a>) <291o/a>             a>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa haef=ev_sevent" clap;ref=e"sre[           oa h=ide=NULL" class="sre]efvento/a>) { <241o/a>} (structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <285o/a>                  ">dev_uevento/a>(vent_var;oaef">devicrgroudv_sevent" clap;ref=devicrgroudref">ddeviceo/a> *oa hgroudev_sevent" clap;groudee_sh>retvalo/a>) ) { <287o/a>        intm>remodeo/a> = 0; <208o/a>        intNULLo/a>; po/a>); <270o/a> >kseto/a> *oa hgroudev_sevent" clap;groudee_sh>uevento/a>) { <291o/a>     for> >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa hrefgroudev_sevent" clap;groudee_sh[           oa h=ide=NULL" class="sre]f io/a> = oa href=ide=NULL" class="sre++>uevento/a>) { <292o/a>             a>, structm>rea>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Ref">devo/a>,m>uevento/a>) { <244ooooooooooooooooooooooooo       -->kseto/a> *oa h=ide=NULL" class="sre >kt0>retvalo/a>) <285o/a>                             a>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Reretvalo/a>) <326o/a>                6ass======                      a>, struct<327o/a>                     breakfvento/a>) { <318o/a>             1"><241o/a>} <299o/a> >   1"><241o/a>} <270o1"><241o/a>}         return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} (structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <285o/a>                      ">dev_uevento/a>(vent_var;oaef">devicrgroudv_sevent" clap;ref=devicrgroudref">ddeviceo/a> *oa hgroudev_sevent" clap;groudee_sh>retvalo/a>) ) { <287o/a>        intNULLo/a>; <288o/a> <279o/a> >kseto/a> *oa hgroudev_sevent" clap;groudee_sh>retvalo/a>) <300o/a>     for> >kseto/a> *oa h=ide=NULL" class="sref">mo io/a> = oa hrefgroudev_sevent" clap;groudee_sh[           oa h=ide=NULL" class="sre]f io/a> = oa href=ide=NULL" class="sre++>retvalo/a>) <291o/a>             a>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re a>, struct<241o/a>} deviceo/a> *oa href="+code=dev" class="sr>retvalo/a>) ) { <326ow_boolo/a>(structdeviceo/a> *oa h id"v="+code=dev" cl+coderef">rea>, structdto_devo/a>(oa h id"v="+code=dev" cl+coderef"fvento/a>) { <226o/a>  5     52"vL287"><287o">dev_uevento/a>(vent_var;oaref="sr+code=kobj_typ
" clref="sr+codref">deviceo/a> *oa h+code=kobj_typ
" cl+codref">rea>, structdto_devo/a>(oa h+code=kobj_typ
" cl+codref"fvento/a>) { <208o/a>        intmfvento/a>) { po/a>); <270o/a> >kseto/a> *oa h id"v="+code=dev" cl+coderef">uevento/a>) { <291o/a>     top_to_devo/a>(erro="+code=attr" clerro=f">m>rea>, structkfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=groudev_sevent" clap;oaergroudee_shefvento/a>) { <292o/a>     /a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) mfvento/a>) { <244oooooooootop_to_devo/a>(erro="+code=attr" clerro=f">m>rea>, structdevicev_sevent" clap;oaetvaleddref">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=aef=ev_sevent" clap;refraef=ee_shefvento/a>) { <285o/a>     /a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <326o/a>             ef">douref="+code=oferrrremove  id"v=groudev_sevent" clap;errrremove  id"v=groudef">mfvento/a>) { <327o/a>     top_to_devo/a>(erro="+code=attr" clerro=f">m>rea>, structdevicev_sevent" clap;oaetvaleddrbinref">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=binref">ev_sevent" clap;refrbinref">ee_shefvento/a>) { <318o/a>     /a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <299o/a> >           ef">douref="+code=oferrrremove  id"v=ef">ev_sevent" clap;errrremove  id"v=ef">ef">mfvento/a>) { <270o1"><241o/a>} <231o/a> <322o/a>        if (oa h+code=kobj_typ
" cl+codref">uevento/a>) { m>rea>, structkfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h+code=kobj_typ
" cl+codref"ef">dto_devo/a>(oa hgroudev_sevent" clap;groudee_sh>fvento/a>) { <244ooooooooo/a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <325o/a>     2"><322oef">douref="+code=oferrrremove  id"v=binref">ev_sevent" clap;errrremove  id"v=binref">ef">mfvento/a>) { <326o1"><241o/a>} <267o/a> (oa herro="+code=attr" clerro=f">m>rea>, structkfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa href="+code=dev" class="sref">dto_devo/a>(oa hgroudev_sevent" clap;groudee_sh>fvento/a>) { <279o/a> >kseto/a> *oa herro="+code=attr" clerro=f">m>retvalo/a>) <300o/a>     ef">douref="+code=oferrrremove +cod=groudev_sevent" clap;errrremove +cod=groudef">mfvento/a>) { <231o/a> <322o/a>        if (oa hoaetvalsupportscoff06" clol"ickfreeo/a>(oa href="+code=dev" class="sr)f">typ
o/a>  >kseto/a> *oa href="+code=dev" class="sref">dto_devo/a>(oa hoff06" _disabled="+code=dev" cloff06" _disabledref">uevento/a>) { m>rea>, structkfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa hon06" eref="+code=attr" clon06" eref="sre>fvento/a>) { <244ooooooooo/a>        if (oa herro="+code=attr" clerro=f">m>retvalo/a>) <325o/a>     2"><322oef">douref="+code=oferrrremove +cod=groudev_sevent" clap;errrremove +cod=groudef">mfvento/a>) { <326o1"><241o/a>} <267o/a> <208o/a>    modeo/a> = 0; po/a>); m:">envo/a>); <322o/a>        if (oa h+code=kobj_typ
" cl+codref">">envo/a>); <292o/a>     a>, structkfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h+code=kobj_typ
" cl+codref"ef">dto_devo/a>(oa hgroudev_sevent" clap;groudee_sh>fvento/a>) { ev_sevent" clap;errrremove  id"v=binref">ef">m:">envo/a>); <324o/a> >kseto/a> *oa h id"v="+code=dev" cl+coderef">">envo/a>); <285o/a>                oa href="+cremove binref">devicev_sevent" clap;oaetvalremove binref">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=binref">ev_sevent" clap;refrbinref">ee_shefvento/a>) { ev_sevent" clap;errrremove  id"v=ef">ef">m:">envo/a>);   5     567vL324"><324o/a> >kseto/a> *oa h id"v="+code=dev" cl+coderef">">envo/a>); <318o/a>                oa href="+cremove ef">devicev_sevent" clap;oaetvalremove ef">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=aef=ev_sevent" clap;refraef=ee_shefvento/a>) { m:">envo/a>); <270o/a> >kseto/a> *oa h id"v="+code=dev" cl+coderef">">envo/a>); <291o/a>     top_to_devo/a>(ref="+cremove groudev_sevent" clap;oaetvalremove groudee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=groudev_sevent" clap;oaergroudee_shefvento/a>) { <312o/a> 5     57"vL323goe,  c/a>        return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} envo/a>); ev_sevent" clap;oaetvalremove ef">ee_show_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sr>retvalo/a>) ) { <318ow_boolo/a>(structdeviceo/a> *oa h id"v="+code=dev" cl+coderef">rea>, structdto_devo/a>(oa h id"v="+code=dev" cl+coderef"fvento/a>) { <299o">dev_uevento/a>(vent_var;oaref="sr+code=kobj_typ
" clref="sr+codref">deviceo/a> *oa h+code=kobj_typ
" cl+codref">rea>, structdto_devo/a>(oa h+code=kobj_typ
" cl+codref"fvento/a>) { <320o/a> <311o/a>        oa hoaetvalremove clace_attribute" class="srremove clacsref">kfreeo/a>(oa href="+code=dev" class="sref">gid   lo/a> = oa hon06" eref="+code=attr" clon06" eref="sre>fvento/a>) { <311o/a>        oa href="+cremove groudev_sevent" clap;oaetvalremove groudee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa href="+code=dev" class="sref">dto_devo/a>(oa hgroudev_sevent" clap;groudee_sh>fvento/a>) { <324o/a> >kseto/a> *oa h+code=kobj_typ
" cl+codref">">envo/a>); <285o/a>     /a>        oa href="+cremove groudev_sevent" clap;oaetvalremove groudee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h+code=kobj_typ
" cl+codref"ef">dto_devo/a>(oa hgroudev_sevent" clap;groudee_sh>fvento/a>) { <306o/a> <324o/a> >kseto/a> *oa h id"v="+code=dev" cl+coderef">uevento/a>) { <318o/a>                oa href="+cremove ef">devicev_sevent" clap;oaetvalremove ef">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=aef=ev_sevent" clap;refraef=ee_shefvento/a>) { <299o/a> >              oa href="+cremove binref">devicev_sevent" clap;oaetvalremove binref">devicee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=binref">ev_sevent" clap;refrbinref">ee_shefvento/a>) { <300o/a>     /a>        oa href="+cremove groudev_sevent" clap;oaetvalremove groudee_sho>kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hass=groudev_sevent" clap;oaergroudee_shefvento/a>) { <241o/a>} <241o/a>} <274o/a> (oa href="+code=ssize_t" class="sref">sbool"ic(structdeviceo/a> *oa href="+code=dev" class="sref">devo/a>, structdevice_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, <326o/a>                  const char *oa href="+code=buf" class="sr>">envo/a>); ) { <208o/a>    onst char *oa hprint"ref+code=ssize_t" clprint"ref+ce_sho>kfreeo/a>(oa href="+code=buf" class="sruot;
, oa href="+code=dev" class="sref">dto_devo/a>(oa hasscode=ssize_t" classce_shefvento/a>) { <241o/a>} <320o/a> <243o/a>staticdevice_attuso/a>p;oa hrefassceref="+code=attr" classceref=ref">r0"><320o/a> <311o/a>        oa h__ATT"+code=MINOR" cl__ATT"sref">kfreeo/a>(oa href="+code=dev" class="sref>kseto/a> *oa hS_IRUGOcode=ueventse/cS_IRUGO    uot;
, oa heref=ref="+code=dev" clhref"refe_shuot;
, oa hNULL="+code=dev" clNULLe_shefvento/a>) { /* /sys/ass="ss/ */staticdeviceo/a> *oa href="ss_ksefcode=retval" clref="ss_ksefref"fvento/a>) { <306o/a> /** * ass="srcreate clac - create sysfs ef">devic clac for>ass="s. * @ass:>ass="s. * @ef">:>ass="s ef">devic descriptor. */static(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); dev_uevento/a>(vent_var;oaref="srode=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sre>">envo/a>); ) { <285o/a>        intm>remodeo/a> = 0; <306o/a> <324o/a> >kseto/a> *oa href="+code=dev" class="sr)fevento/a>) { <318o/a>                oa hWARN="+code=dev" clWARNsref"(">kfreeo/a>(oa href="+code=attr" class="sreef">dto_devo/a>(oa href="+code=attr" class="sre.to_devo/a>(oa hmoa "+code=attr" clmoa vL318
o/a> >kseto/a> *oa hS_IWUGOcode=ueventse/cS_IWUGO    )f">typ
o/a>  >kseto/a> *oa href="+code=attr" class="sreef">dto_devo/a>(oa h tver="+code=dev" clhtver    )e">envo/a>); <299o/a> >           "Af">devic %s: wriic permission without 'htver'\n"envo/a>); <300o/a>     /a>                oa href="+code=attr" class="sreef">dto_devo/a>(oa href="+code=attr" class="sre.to_devo/a>(oa hass="+code=attr" class=e_shefvento/a>) { <291o/a>                oa hWARN="+code=dev" clWARNsref"(">kfreeo/a>(oa href="+code=attr" class="sreef">dto_devo/a>(oa href="+code=attr" class="sre.to_devo/a>(oa hmoa "+code=attr" clmoa vL318
o/a> >kseto/a> *oa hS_IRUGOcode=ueventse/cS_IRUGO    )f">typ
o/a>  >kseto/a> *oa href="+code=attr" class="sreef">dto_devo/a>(oa h ref="+code=dev" clhref    )e">envo/a>); <292o/a>             aspan" id"vL2ueving">"Af">devic %s: read permission without 'href'\n"envo/a>); dto_devo/a>(oa href="+code=attr" class="sre.to_devo/a>(oa hass="+code=attr" class=e_shefvento/a>) { <244oooooooootop_to_devo/a>(erro="+code=attr" clerro=f">m>rea>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = oa haef="+code=attr" class="sreef">dto_devo/a>(oa href="+code=attr" class="sreefvento/a>) { <285o1"><241o/a>} <306o/a> <226o/a>  6     62"vL287"><287o/a>        return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} po/a>); /** * ass="srremove clac - remove sysfs ef">devic clac. * @ass:>ass="s. * @ef">:>ass="s ef">devic descriptor. */, struct(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <326o/a>             ">dev_uevento/a>(vent_var;oaref="srode=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sre>">envo/a>); ) { <318o/a> >kseto/a> *oa href="+code=dev" class="sr)vento/a>) { <299o/a> >   a>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = oa haef="+code=attr" class="sreef">dto_devo/a>(oa href="+code=attr" class="sreefvento/a>) { <241o/a>} <231o/a> /** * ass="srcreate ainrclac - create sysfs ainary ef">devic clac for>ass="s. * @ass:>ass="s. * @ef">:>ass="s ainary ef">devic descriptor. */static(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <318o/a>                ">dev_uevento/a>(vent_var;oabinref">devic="+code=buf" clainref">device_attributeo/a> *oa href="+code=attr" class="sre>">envo/a>); ) { <300o/a>        intm>re->kseto/a> *oa hEINVAL="+code=dev" clEINVALf">mfvento/a>) { <322o/a>        if (oa href="+code=dev" class="sr)vento/a>) { &qutop_to_devo/a>(erro="+code=attr" clerro=f">m>rea>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re to_devo/a>(oa href="+code=attr" class="sreefvento/a>) {         return oa herro="+code=attr" clerro=f">mfvento/a>) { <241o/a>} kseto/a> *oa hEXPORT_SYMBOL_GPL="+code=dev" clEXPORT_SYMBOL_GPLsref">kfreeo/a>(oa href="srcreate ainrclace_attribute" class="srcreate ainrclacsrefefvento/a>) { <306o/a> /** * ass="srremove ainrclac - remove sysfs ainary ef">devic clac * @ass:>ass="s. * @ef">:>ass="s ainary ef">devic descriptor. */, struct(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); dev_uevento/a>(vent_var;oabinref">devic="+code=buf" clainref">device_attributeo/a> *oa href="+code=attr" class="sre>">envo/a>); ) { <285o/a>        if (oa href="+code=dev" class="sr)vento/a>) { <326o/a>     a>, structgid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re to_devo/a>(oa href="+code=attr" class="sreefvento/a>) {   6     667vL321"><241o/a>} kseto/a> *oa hEXPORT_SYMBOL_GPL="+code=dev" clEXPORT_SYMBOL_GPLsref">kfreeo/a>(oa href="srremove binrclace_attribute" class="srremove ainrclacsrefefvento/a>) { po/a>); /** * ass="srschedulsrcallback_owner - helper to scheduls a callback for>a ass="srespan href="drivers/basef="drive3/bas6e/core.c#6272" id"v3272" 37ass="li6e" na67"vL29 * @ass:>ass="s.6     67"vL32 * @func: callback function to invoke later. * @owner: moduls owning the callback routinsrespan href="drivers/basef="drive3/bas6e/core.c#6275" id"vL275" class="li6e" na67"vL32 *respan href="drivers/basef="drive3/bas6e/core.c#6276" id"vL276" class="li6e" na67"vL32 * Af">devic methods muev_not unregister themselves or their parent ass="srespan href="drivers/basef="drive3/bas6e/core.c#6277" id"vL277" class="li6e" na67   32 * (which would amount to the sss= thing).  Af"empts to do so will asadlock,respan href="drivers/basef="drive3/bas6e/core.c#6278" id"vL278" class="li6e" na67"vL31 * sin"s unregistration is mutually excluss/b with ers/ba callbacks. * * Idevead methods can" all this routins, which will af"empt to allocatsrespan href="drivers/basef="drive3/bas6e/core.c#6281" id"vL281" class="li6e" na68"vL27 * and scheduls a workqueue request to  all back @func with @ass as itsrespan href="drivers/basef="drive3/bas6e/core.c#6282" id"vL282" class="li6e" na68"vL29 * argument in the workqueue'h process ">dtext.  @ass will be pinned untilrespan href="drivers/basef="drive3/bas6e/core.c#6283" id"vL283" class="li6e" na68"vL32 * @funcc/a>   s. * * This routins is usually  alled via the in06"  ass="srschedulsrcallback(),respan href="drivers/basef="drive3/bas6e/core.c#6286" id"vL286" class="li6e" na68"vL32 * which autom><24ally sets @owner to THIS_MODULE. * * Ra>   s 0o/a>the request was submif"ed, -ENOMEMo/a>htveage could not * be allocatsd, -ENODEVo/a>a referen"s to @owner isn't available. * * NOTE: This routins won't worko/a>CONFIG_SYSFS isn't set!  It uses an * underlying sysfs routins (sin"s it is idtended for>use by ef">devic * methods), and /a>hysfs isn't available you'll gev_nothing evi -ENOSYS. */static(structdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <326o/a>     void (deviceo/a> *oa hfunc="+code=dev" clfuncsrefe"w_boolo/a>(structd)ef">devo/a>, structdeviceo/a> *oa hownere_attribute" clownersref)vento/a>) { ) { <208o/a>    onst char *oa hsysfsrschedulsrcallbacke_attribute" clsysfsrschedulsrcallbacksref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Revento/a>) { <299o/a> >           (void (d)(void *)) onst char *oa hfunc="+code=dev" clfuncsrefuot;
, oa href="+code=dev" class="sruot;
, oa hownere_attribute" clownersref)fvento/a>) { <241o/a>} kseto/a> *oa hEXPORT_SYMBOL_GPL="+code=dev" clEXPORT_SYMBOL_GPLsref">kfreeo/a>(oa href="srschedulsrcallback_ownere_attribute" class="srschedulsrcallback_ownersref)fvento/a>) { <312o/a> (structdeviceo/a> *oa hn"+code=attr" clnsref)vento/a>) { ) { <285ouevento/a>(vent_var;oaref="srp deviceo/a> *oa hdv_sevent" clap;pf">m>rea>, structkfreeo/a>(oa hn"+code=attr" clnsref)fvento/a>) { <326ow_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sr>rea>, structmef">dto_devo/a>(oa hass="+code=device" class="sref"fvento/a>) { <267o/a> (oa hgef_ass="+code=device" clgef_ass="+sref">kfreeo/a>(oa href="+code=dev" class="sr)fvento/a>) { <241o/a>} <320o/a> (structdeviceo/a> *oa hn"+code=attr" clnsref)vento/a>) { ) { (vent_var;oaref="srp deviceo/a> *oa hdv_sevent" clap;pf">m>rea>, structkfreeo/a>(oa hn"+code=attr" clnsref)fvento/a>) { <326ow_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sr>rea>, structmef">dto_devo/a>(oa hass="+code=device" class="sref"fvento/a>) { envo/a>); (oa hpuf_ass="+code=device" clpuf_ass="+sref">kfreeo/a>(oa href="+code=dev" class="sr)fvento/a>) { <241o/a>} <241o/a>} /** * ass="srinitializc - init>ass="s w_boolure. * @ass:>ass="s. * * This prepares>the ass="s for>use by other laybas by initializing * its fields. * It is the first half of ass="srregister(), /a> alled by * that function, though it can"also be  alled separaicly, so onsrespan href="drivers/basef="drive3/bas7e/core.c#7327" id"vL36"><226o/a>  7     72   32 * may>use @ass'h fields. In parss=ular, gef_ass="+()/puf_ass="+()respan href="drivers/basef="drive3/bas7e8core.c#7.c#L235" id"vL235" 069 67.c#L272"vL31 * may>be used for>referen"s counting of @ass aftba calling thisrespan href="drivers/basef="drive3/bas7e9core.c#70f="+code=dev" class="sr7f"3cl72"vL29 * function. * * All fields in @ass muev_be initialized by the caller to 0, except * for those explicitly set to some other value.  Ths wimplest * approach is to>use kzalloc() to allocats the s_boolure ">dtaining * @ass. *respan href="drivers/basef="drive3/bas7e/core.c#7236" id"v3236" 33ass="li7e" na73"vL32 * NOTE: Use puf_ass="+() to gs/b up your>referen"s idevead of freeing * @ass directly on"s you have  alled this function. */, struct(structdeviceo/a> *oa href="+code=dev" class="sr)vento/a>) { ) { <311o/a>        oa hoae="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_R.to_devo/a>(oa hksefcode=retval" clksefref">rea>, struct) { <311o/a>        oa hGLOBectrinit"+code=k"sref">GLOBectrinitsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = oa hass="srk+code=kobj_typ
" clref="srk+codref">fvento/a>) { <311o/a>        oa hINIT_LIST_HEADe=kobj_typ
" clINIT_LIST_HEADsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa hdma_poolev_sevent" clap;oma_pooleref">fvento/a>) { <311o/a>        oa hmutexrinit"+code=k"sref">mutexrinitsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa hmutex"+code=k"sref">mutexref">fvento/a>) { <311o/a>        oa hlockdep_sef_novalidaic_ id"v"+code=k"sref">lockdep_sef_novalidaic_ id"vsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa hmutex"+code=k"sref">mutexref">fvento/a>) { (oa hspin_lockrinit"+code=k"sref">spin_lockrinitsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa hdevrss_lock="+code=dev" classrss_lockref">fvento/a>) { <311o/a>        oa hINIT_LIST_HEADe=kobj_typ
" clINIT_LIST_HEADsref"">gid   lo/a> = oa href="+code=dev" class="sref">dto_devo/a>(oa hdssrss_head="+code=dev" classrss_headref">fvento/a>) { (oa hass="srpmrinit"+code=k"sref">ass="srpmrinitsref">kfreeo/a>(oa href="+code=dev" class="sr)fvento/a>) { (oa hsef_ass_noa "+code=attr" clsef_ass_noa sref">kfreeo/a>(oa href="+code=dev" class="sr, -1)fvento/a>) { <241o/a>} <231o/a> (structGLOBectref">deviceo/a> *oa hvirtual_ass="srparentv_sevent" clap;virtual_ass="srparentsref"w_boolo/a>(structdeviceo/a> *oa href="+code=dev" class="sr)vento/a>) { ) { <326ow_><243o/a>staticGLOBectref">deviceo/a> *oa hvirtual_aire_attribute" clvirtual_airref">rea>, struct) { envo/a>);   >kseto/a> *oa hvirtual_aire_attribute" clvirtual_airref")vento/a>) { <311ovL231p#L/kfreeo/a>(oa hvirtual_aire_attribute" clvirtual_airref">rea>, structspan" id"vL2ueving">"virtual"envo/a>); <318o/a>                                          ">gid   lo/a> = oa hass="ss_ksefcode=retval" clref="ss_ksefref"ef">dto_devo/a>(oa href="+code=k"sref">GLOBAL_R)fvento/a>) { po/a>); <300o/a>    onst char *oa hvirtual_aire_attribute" clvirtual_airref"fvento/a>) { <241o/a>} <312o/a> (struct) { <326ow_boolo/a>(structGLOBectref">to_devo/a>(oa href="+code=k"sref">GLOBAL_Rfvento/a>) { <285ouevento/a>(vent_var;oa id"v"+code=k"sref"> id"vsref>deviceo/a> *oa h id"v="+code=dev" cl+coderef"fvento/a>) { ) {   7     76"vL267"><267o/a> , structkfreeo/a>(oa hef="+code=k"sref">LOBAL_R)o/a>(vent_var;oa >dtainer_of="+code=buf" cl >dtainer_ofsref">kfreeo/a>(oa hef="+code=k"sref">LOBAL_Ref">devo/a>, struct
, oa href="+code=k"sref">GLOBAL_R)7"><267o/a> po/a>); (structGLOBectref">deviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a> ) { <285ouevento/a>(vent_var;oa id"v_aire_attribute" cl id"v_airvL300deviceo/a> *oa hrire_attribute" clairref">rea>, structkfreeo/a>(oa href="+code=k"sref">GLOBAL_R)fvento/a>) { 7     773vL311"><311o/a>        oa hkfree"+code=k"sref">Gfreesref">kfreeo/a>(oa hrire_attribute" clairref")fvento/a>) { <241o/a>} envo/a>); dev">envo/a>); (structdeviceo/a> *oa h id"v_air_child_ns_+code_attribute" cl id"v_air_child_ns_+codsref"w_boolo/a>(structGLOBectref">deviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a> ) { <285ouevento/a>(vent_var;oa id"v_aire_attribute" cl id"v_airvL300deviceo/a> *oa hrire_attribute" clairref">rea>, structkfreeo/a>(oa href="+code=k"sref">GLOBAL_R)fvento/a>) { <300o/a>    onst char *oa hrire_attribute" clairref"ef">dto_devo/a>(oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute" clns_+codsreffvento/a>) { <241o/a>} <312o/a> to_devo/a>(oa h id"v_air_k+code=kobj_typ
" cl id"v_air_k+codref">reevento/a>) { <326o.to_devo/a>(oa hrele="de_attribute" clrele="dsref6"><326orea>, structenvo/a>); <326o.to_devo/a>(oa hsysfsrodev_sevent" clap;sysfsrodevL326"><32= ">gid   lo/a> = oa hkLOB_sysfsrodev_sevent" clap;kLOB_sysfsrodesrefe">envo/a>); <326o.to_devo/a>(oa hchild_ns_+code_attribute" cl hild_ns_+codsref6orea>, structenvo/a>); ) { <241o/a>} <243o/a>staticGLOBectref">d"><241o/a>} , struct(struct<285ouevento/a>(vent_var;oa id"v"+codeef">devo/a>, structdto_devo/a>(oa hdevrss_lock="+code=dev" classr6sysfsrodesrefe">envo/a>); ); (vent_var;oa id"v_aire_attribute" cl id"v_airvL300deviceo/a> *oa hrire_attribute" clairref">rea>, struct<326or valoa hef="drive3s/ba7e/core.c#7288" id"vL284" class="li6e" na69"vL24s7atic<79      oa hlockdep_sef_novaliairref">rea>, struct) { )GFP_KERNEL<376o/a>79>kseto/a> *oa hvirtual_aire_attriairref")fvento/a>) { ) 79p#L/kfreeo/a>(oa hviroa hrire_attribute" cllNULLe_shfvento/a>) { <278o/a>79a href="drivers/ba7e/core.c#7289" id"vL299" cl7ss="li6e" na69"vL299"><279o/a>79eo/a>(oa hsef_ass_noa "+codeairref"ef">dto_devo/a>(oa h id"v="+code=dev" cl+coderef"ef">dto_devo/a>(oa id"v_air_child_ns_+codderef"fvento/a>) { <281o/a>800o/a>(oa hsef_ass_noa "+code=k"sref">GLOBectrinitsref"">gid   lo/a> = oa href="+code=dev" clairref"ef">dto_devo/a>(oa h id"v="+code=dev" >GLOBAL_Re ">gid   lo/a> = oa hass="srk+code=kobjobj_typ
" cl id"v_air_k+codref">reevento/a>) { kset8/a> *80a h3ef="drive3s/ba7e/core.c#7351ss="8vL292" cl8ss="li7e" na70"vL312"><382o/a>80      oa hGLOBectrinit"+codeairref"ef">dto_devo/a>(oa h id"v="+code=dev" >GLOBAL_Re ">gid   lo/a> = efcode=retval" clksefref">rea>, structdto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"glueventtderef"ef">dto_dglueventta href="drive3s/ba7e/core.c#7266" id8v3292" cl8ss="li6e" na69"vL32, stf="drive3s/ba7e/core.c#7266" id8v4292" cl8ss="li6e" na69"vL24) 80      oa hmutexrinit"+code=koa vale="dsref6"><326or valoa hGLOBectrcreate and_add="+cGLOBectrcreate and_addsref(struct< href="+code=dev" clairref"ef">dto_devo/a>(oa h id"v="+code=dev" >GLOBAL_Re ">gid   lo/a> = oasfsrodesrefe">envo/a>); ); "Af">devic %s: ssion vo/a>); ) { ) { <285ouev8nto/a>(vent_vahref="+code=dev" cloa vale="dsref6"><326or valoa hG< 0href="drive3s/ba6e8core.c#6318" id8vL296" cl8ss="li7e" na70"vL326"><386ow_b80   void (deviceo/a> *Bectrcreate and_add="+cklist_children_pufsadd="+ckliruct< href="+code=dev" clairref"ef">dto_devo/a>(oa h id"v="+code=dev" >GLOBAL_Re ">gid   lo/a> = ref="drive3s/ba6e4core.c#6324" id8v7296" cl8ss="li6e" na69"vL26event87o/a>80p#L/kfreeo/a>(oa hviroa hrire_attribute" cllNULLe_shfvento/a>) { (oa hgefef="drivers/ba7e/core.c#7282" id8vL299" cl8ss="li7e" na70s="sr1"><281o/a>80eo/a>(oa hsefoa hrir href="+code=dev" clairref"ef">dto_devo/a>(oa h id"v="+code=dev" >GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8vL310" cl8ss="li7e" na71"vL320"><380o/a>81) 81a href="drivers/ba7e/core.c#7283" id8vL313" cl8ss="li7e" na71"vL323goe,8 cuev81o/a>(structess="+()reslap;virtual_ass="srparss="+()reslap;virructdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); <386ow_b8olo/a>(struct<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<deviceo/a> *oa href="+code=dev" clap;virtual_ass="srparap;virructrf="drive3s/ba7e/core.c#7280" id8vL315" cl8ss="li7e" na71"vL29">env8/a>);8kseto/a> *oa hvi="+code=dev" class="sre">envo/a>); dto_devo/a>(oahref="drive3s/ba6e8core.c#6318" id8vL317" cl8ss="li7e" na717vL321"><281o/a>81p#L/kfreeo/a>(oa hvirstruct<"v="+code=dev" DEFINE_MUTEXderef"ef">dto_dDEFINE_MUTEX href="+code=k"sref"gdp_">mutexref">fvento/agdp_">mut> = ref="drive3s/ba6e4core.c#6324" id8vL318" cl8ss="li7e" na71"vL31"><248o/a>}81                     oa hkLOBect"+code=k"sref">GLOBectref">deviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a> ) { dto_devo/a>(oa hdevrss_lock="+code=dev" classr6sysfsrodesrefe">envo/a>); ); GLOBectref">deviceo/a> *oa href="+code=k"sref">Bectref">deviceoa h3ef="drive3s/ba7e5core.c#7255" id8vL311" cl8ss="li7e" na72"vL27device39;t seBLOCK h3ef="drive3s/ba7e/core.c#7351ss="8vL313" cl8ss="li7e" na72"vL32dev_nt">/**(struct<<<<<<<<< hvi="+code=dev" clvo/a>)deprea reffsrodevL326"><32= ">gdeprea refoa hG&href&hrefe="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalir) { f">loc>(oahref="drive3s/ba6e8core.c#6318" id8vL325" cl8ss="li7e" na72"vL32(struct<<<<<<<<<<<<<<<<< hvi="+code=dev" clap;virtual_ass="srparap;virructG&href&hrefe="+code=dev" clap;virtual_ass="srparap;virruct href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalir) { f">loc>(oahf="drive3s/ba6e8core.c#6318" id8vL316" cl8ss="li7e" na72"vL32dev_uevento/a>(vvvvvvvvvoa hrir href="+code=dev" clap;virtual_ass="srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8vL36"><228o/a>  7     72   32(oa hvirvvvvvvvvoa hrir href="+code=dev" clr) { f">lockdep_sef_novalir) { f">loc>(oaefcode=retval" c">mef">dto_devo/a>(oa hass="+code=device"sub2= fsrodevL326"><32ub2= > = efcode=retval" clGLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8vL318" cl8 069 67.c#L272"vL31dev_nt">/** * for those expliccccccccccccccccc* If wefunctinoan href, wefln"s in ;envo/a>)ers/basef="drive3/bas7e8core.c#7238" id8v3233" 338ss="li7e" na73"vL32 * approach is to>ucccccccccccccccc* Cappr-">dto_despan aino * appr-">dto_="drn href, ln"srs/basef="drive3/bas7e8core.c#7238" id8vL324" cl8ss="li7e" na73"vL24 * @ass.s aftllis> *oers/basef="drive3/bas7e8core.c#7238" id8vL325" cl8ss="li7e" na73"vL32 *respan href="drivcccccccccccccccc*ers/basef="drive3/bas7e9core.c#7239" id8v3236" 338ss="li7e" na73"vL32dev_ueve hvi="+code=dev" clap;virtual_ass="srparap;virructG=ULL="+code=dev" clNULLe_shfvento/a>) { (oa hvirvvvvvvvvsfsrodesrefe">envo/a>); ); (struct<="+code=dev" class="sref">dto_devo/a>(oaref="drive3s/ba6e4core.c#6324" id8v3238" 338ss="li7e" na73"vL31dto_devo/a>(oa &href&hrefertual_aire_attriass="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute" clns_+codsreffvento/a>) { , st83           (void (d)(void *))oa hrir href="+code=dev" clap;virtual_ass="srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3240" 348ss="li7e" na74"vL27event8/a>) 840                    elsef="drive3s/ba7e5core.c#7255" id8v3231" 338ss="li7e" na74"vL311"><381o/a>841sr            ">dev_vvvvvvvvsfsrodesrefe">envo/a>); ); GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3232" 338ss="li7e" na742vL311"><381o/a>84a href="drivers/ba7e/core.c#7283" id8v3243" 348ss="li7e" na743vL311"><381o/a>84"sr            ">dev_n"+code=k"sref"id   llassrss_lockref">fvid   llassruct< href="+code=dev" clgdp_">mutexref">fvento/agdp_">mut> = ref="drive3s/ba6e4core.c#6324" id8v3244" 3l8ss="li7e" na744vL311"><381o/a>84commef="drive3s/ba7e/core.c#7288" id8v3245" 3l8ss="li7e" na745vL311"><381o/a>845o/a>(struct<<<<<<<</** *Bectrcreate and"">gid   fsrodevL326"><32">gid   ruct< href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"glueventtderef"ef">dto_dglueventta hrefcode=retval" cceo/ad   fsrodevL326"><3ceo/ad   > = ref="drive3s/ba6e4core.c#6324" id8v3237" 3l8ss="li7e" na747vL311"><381o/a>84p#L/kfreeo/a>(oa hvirtual_aire_attriceo/afor_each_refryfsrodevL326"><3ceo/afor_each_refryruct<="+code=dev" cl>Bectref">deviceoa h3oa hass="srk+code=kobj_ty="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"glueventtderef"ef">dto_dglueventta hrefcode=retval" cceo/fsrodevL326"><3ceo/> = oasfsrodesrefe">erefryfsrodevL326"><3refryructhf="drive3s/ba6e8core.c#6318" id8v3248" 3l8ss="li7e" n 74" id"vL2318#L/kf84                              hvi="+code=dev" cl>Bectref">deviceoa h3 hns_+code_attribute"p;virtual_ass="srparap;virructG=ULL="+code=dev" cnvo/a>); ); GLOBAL_R)7"><267o/a> Bectref">deviceoa h3ref="drive3s/ba6e4core.c#6324" id8v3250" 3l8ss=" c7ass="75"vL271"><281o/a>850                                    breakef="drive3s/ba6e4core.c#6324" id8v3231" 338ss="li7e" na75"vL231"><281o/a>851sr            ">dev_vvvvvvvvef="drivers/ba7e/core.c#7251" id8i5e" na558vL231"7e" na73an" iw_boo8o/a>(852  void (deviceo/a> *Bectrcreate and"">giund   fsrodevL326"><32">giund   ruct< href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"glueventtderef"ef">dto_dglueventta hrefcode=retval" cceo/ad   fsrodevL326"><3ceo/ad   > = ref="drivers/ba7e/core.c#7251" id8i3243" 348ss="li7e" na75"vL32event8/a>) 85"sr            ">dev_ hvi="+code=dev" cl>GLOBAL_Re ">gid   lo/a> = rref="drive3s/ba6e8core.c#6318" id8v3254" 3l8ss="li7e" na754vL326"><386ow_>85lo/a>(struct<<<<<<<<<<<<<<<<<3id   lund   ruct< href="+code=dev" clgdp_">mutexref">fvento/agdp_">mut> = ref="drive3s/ba6e4core.c#6324" id8v3255" 3l8ss="li7e" na75"vL29">env8/a>);855o/a>(struct<<<<<<<<<<<<<<<<GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3256" 3l8ss="li7e" na756 id"vL2318#L/a>85   void (deviceo/a> *ef="drivers/ba7e/core.c#7251" id8i3237" 3l8ss="li7e" na757vL311"><381ovL285a h3ef="drive3s/ba7e/core.c#7268" id8v3258" 358ss="li7e" na75"vL318"><388o/a>8                      nt">/**p8/a>);85           (void (d)(="+code=dev" cl>Bectref">deviceoa h3 id"v_air_child_ns_+code_attrde=dev" cl id"v_air_create and_addsref"w_boolo/a>(struct<="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oaoasfsrodesrefe">envo/a>); ); <380o/a>860                    nt">/**<281o/a>861sr            ">dev_n"+code=k"sref"id   lund   fsrodevL326"><3id   lund   ruct< href="+code=dev" clgdp_">mutexref">fvento/agdp_">mut> = ref="drive3s/ba6e4core.c#6324" id8v3262" 368ss="li7e" na76"vL312"><382o/a>862  void (deviceo/a> *oa hrire_attribute" cl>Bectref">deviceoa h3ef="drive3s/ba7e5core.c#7255" id8v3263" 368ss="li7e" na763n" iw_boo8o/a>(86"sr          ef="drivers/ba7e/core.c#7251" id8v3264" 368ss="li7e" na764vL326"><386ow_b86commef="drive3s/ba7e/core.c#7288" id8v3265" 368ss="li7e" na76"vL285"><285ouev8nto/a>(vent_vant">/**fault ro.< have  oryely seteir ">dto_de*ers/basef="drive3/bas7e9core.c#7239" id8v3256" 3l8ss="li7e" na76"vL32}fven8o/a>)86>kseto/a> *oa hvirtual_aire_attriap;virtual_ass="srparap;virructG&href&hrefe="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"buckdep_sef_novalirua>(oa &href&hrefe="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"buckdep_sef_novalirua>(oa hdssrss_head="+code=de_ro.<="sref">dto_devo/a_ro.  7     76"vL267"><287o/a>86p#L/kfreeo/a>(oa hviroa hrir href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"buckdep_sef_novalirua>(oa hdssrss_head="+code=de_ro.<="sref">dto_devo/a_ro.GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3268" 368ss="li7e" na76"vL31#defi8s a>,86a href="drivers/ba7e/core.c#7289" id8v3269" 3l8ss="li7e" na76s="sref">p8/a>);869kseto/a> *oa hvitual_aire_attriap;virtual_ass="srparap;virructhf="drive3s/ba6e8core.c#6318" id8v3270" 3l8ss="li7e" na77"vL27 6ass8"void870                    oa hrir href="+code=dev" clap;virtual_ass="srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3271" 3l8ss="li7e" na77"vL27event8/a>) 871sr          oa hrire_attribute" cllNULLe_shfvento/a>) { <285ouev8nto/a>ef="drivers/ba7e/core.c#7251" id8v3273" 37802o/a>7     773vL311"><381o/a>87>, stf="drive3s/ba7e/core.c#7266" id8L338vers/8asef="7rive377"vL241"><281o/a>8 dto_deveanup_glueventructdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); eslueventderef"ef">dto_dglueventructhf="drive3s/ba6e8core.c#6318" id8v3265" 368ss="li7e" na77"vL29">env8/a>);87a hreef="drive3s/ba6e8core.c#6318" id8vL276" cl8ss="li7e" na77"vL32 6ass8"">de876o/a>(vent_vant">/**(877kseto/a> *oa hvirtual_aire_attrislueventderef"ef">dto_dglueventruct ||ertual_aire_attriass="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa ||f="drive3/bas7e9core.c#7239" id8v3268" 368ss="li7e" na77"vL31event8/a>) 87                 tual_aire_attrislueventderef"ef">dto_dglueventruct href="+code=k"sref">ksefref">rea>, structdto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"glueventtderef"ef">dto_dglueventta hrhf="drive3s/ba6e8core.c#6318" id8v3269" 3l8ss="li7e" na779vL285"><285ouev87           (void (d)(oa hrief="drive3s/ba7e5core.c#7255" id8vL280" cl8ss="li7e" na78"vL300"><380o/a>88a href="drivers/ba7e/core.c#7311" id8vL281" cl8ss="li7e" na78"vL271"><281o/a>88      oa hoae="+code=dev" cl_add="+cklist_children_pufsadd="+ckliructeslueventderef"ef">dto_dglueventructhef="drive3s/ba7e5core.c#7255" id8v3272" 378ss="li7e" na78"vL312"><382o/a>88to/a>ef="drivers/ba7e/core.c#7251" id8vL283" cl8ss="li7e" na78} , stf="drive3s/ba7e/core.c#7266" id8vL284" cl8ss="li7e" na784vL326"><386o.to88deviceo/a> *oa href="+code=dev" class="sre">envo/a>); <386o.to88a hreef="drive3s/ba6e8core.c#6318" id8vL286" cl8ss="li7e" na786vL326"><386o.to8devo/a>(oa hch"v_air_rele="de_aeanup_glueventderef"ef">dto_deveanup_glueventruct<="+code=dev" class="sre">envo/a>); dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = efcode=retval" cap;virtual_ass="srparap;virructhef="drive3s/ba7e5core.c#7255" id8vL277" cl8ss="li7e" na78   32}fven8o/a>)88<248o/a>}8<283o/a>8taticsyma78ka_pooleref">fventnt" claddreeo/a>syma78kaructdeviceo/a> *oa href="+code=dev" class="sre">envo/a>); , s8ruct<89dto_derrota href="drive3s/ba7e5core.c#7255" id8vL292" cl8ss="li6e" na69"vL29envo/a>); dto_devo/a>(oahf="drivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e" na69"vL24(struct<<<<<<<<s8atic<89a href="drive3s/ba7e/core.c#7276" id8vL296" cl8ss="li6e" na69"vL326"><386o/a>89evo/a>(oa hch"v_air_rele="deerrotderef"ef">dto_derrota hr id"v_air_child_ns2= ">g"w_boola78kfsrodevL326"><32= ">g"w_boola78kruct< href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of="drive3s/ba7e/core.c#7276" id8vL277" cl8ss="li6e" na69"vL26event8/a>) 89p#L/kfreeo/a>(oa hvirrrrrrrrrrrrrrrrrrr href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"sub2= fsrodevL326"><32ub2= > = efcode=retval" clGLOBAL_Re ">gid   lo/a> = of="drive3s/ba7e/core.c#7276" id8vL288" cl8ss="li6e" na69"vL208"><288o/a>89                                       g">"Af">devic %s: 2ub2= temvo/a>); <289o/a>899kseto/a> *oa hvitual_aire_attrierrotderef"ef">dto_derrota hrhf="drivers/ba7e/core.c#7283" id9vL300" cl9ss="li7e" na70"vL271"><291o/a>900                    gotod"v_air_child_nsolist_children_pufoukset9/a> *90a h3ef="drive3s/ba7e/core.c#7351ss="9vL292" cl9ss="li7e" na70"vL312"><392o/a>90      oa hGLO hvi="+code=dev" class="sre">envo/a>); fventnt" clos_not_s="+(a> *ruct<="+code=dev" class="sre">envo/a>); dev_n"+code=k"sref"errotderef"ef">dto_derrota hr id"v_air_child_ns2= ">g"w_boola78kfsrodevL326"><32= ">g"w_boola78kruct< href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref"ap;virtual_ass="srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of="drive3s/ba7e/core.c#7276" id9v4292" cl9ss="li6e" na69"vL24) 90lo/a>(struct<<<<<<<<<<<<<<<<<                  g">"Af">devic %s: tnt" c#37;s: 2ub2= temvo/a>); dto_derrota hrhf="drivers/ba7e/core.c#7283" id9vL300" cl9ss="li7e" na70"vL2716ode85ouev89evo/a>(oa hch"v_air_r9ectrc9eate and_add="+cklist_list_children_pufou7ode85ouev89p#L/kfreeo/a>(oa hvir9a hri9e_attribute" c id8vL288" cl8ss="li7e" na78"vL39vL2318#L/9f8eeo/a>(oa hgefef="driv9rs/ba90289" id8vL289" cl8ss="li7e" na78"vL291"><281o/9>80eo/a>(oa hsefoa hrir 9ref="9code=dBLOCKBectref">device39;t seBLOCK h3ef="drive3s/ba7e/core.c#7351ss="8vL313" cl8ss="li7e" na72"vL390"><380o/9>81GLOBechvwefln"s in a ;envo/a>); dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalir) { f">loc>(oahref="drive3s/ba6e8core.c#6318id8vL277" cl8ss="li7e" na77   39 "><392o/a 81a href="drivers/ba7e/9ore.c91_attribute" cl>Bectref">devi" id8vL285" cl8ss="li6e" na69lass93goe,8 cu9v81o/a>(struct<386ow9b8olo/a>(struct<<<<<<<<<9<<<<<91288" id8v3265" 368ss="li7e" na76"vL29">env8/a>9;8dto_derrota hr id"v_air_child_ns2= ">g"w_boola78kfsrodevL326"><32= ">g"w_boola78kruct< href="+code=dev" class="sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"sub2= fsrodevL326"><32ub2= > = efcode=retval" clGLOBAL_Re ">gid   lo/a> = of="drive3s/ba7e/core.c#7276" id8vL288" cl8ss="li6e" na69"vL291"><281o/9>81p#L/kfreeo/a>(oa hvir9truct9"v="+code=dev" DEFINE___________________">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.dto_derrota hrhf="drivers/ba7e/core.c#7283" id9vL300" cl9ss="li7e" na70"vL27dto_devo/a>(oa hdevrsldren_pufoudev_9t">/*9<386ow9v82lo/a>(struct<<<<<<<<<9hvi="9code=dev" clvo78kfsrodevL326"><32= remov_boola78kruct< href="+code=remov_boola"sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sreft" c#37;s: 2ub2= temvo/a>); dev_ueve9to/a>9vvvvvv_pufou<281o/9v82p#L/kfreeo/a>(oa hvir9vvvvv92j_typ
" clINIT_LIST_HEADsref><32= remov_boola78kruct< href="+code=remov_boola"sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sreft" c#37;s: 2ub2= temvo/a>);ive3s/ba7e5core.c#7255" id8vL299" cl8ss="li6e" na69"vL29dto_derrota href="drive3s/ba7e5core.c#7255" id8vL292" cl8ss="li6e" na69"vL29dev_9t">/*93351ss="9vL292" cl9ss="li7e" na70"vL31 * for those9expli932de_aeanup_ent" clap;virtual_ass"+code=remov_btnt" claddreeo/a>syma78kaructdeviceo/a> *oa href="+code=dev" class="sre">envo/a>);  * approach 9s to>937254" id"v3254" 3lass="li7e" na754vL39 * @ass.); dto_devo/a>(oahf="drivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e" na69"vL29 *respan hre9="dri93oa hrire_attribute" c#7255" id8vL280" cl8ss="li7e" na78"vL39dev_ueve9hvi="9code=did8vL280" cl8ss="li7e" na78"vL39<"><281o/9v83p#L/kfreeo/a>(oa hvir9vvvvv93ttrislueventderef/a>); fventnt" clos_not_s="+(a> *ruct<="+code=dev" class="sre">envo/a>); <32= remov_boola78kruct< href="+code=remov_boola"sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sreft" c#37;s: 2ub2= temvo/a>); dto_devo/a>(oa h i><32= remov_boola78kruct< href="+code=remov_boola"sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sreft" c#37;s: 2ub2= temvo/a>);ive3s/ba7e5core.c#7255" id8vL299" cl8ss="li6e" na69"vL29event8/a>9 840                    9lsef=9drive3BLOCKBectref">device39;t seBLOCK h3ef="drive3s/ba7e/core.c#7351ss="8vL313" cl8ss="li7e" na72"vL391"><381o/9>841sr            ">dev_9vvvvv941class="sre">envo/a>); dto_devo/a>(oa href="+code=k"sref"cl+coderef"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalir) { f">loc>(oahref="drive3s/ba6e8core.c#6318id8vL277" cl8ss="li7e" na72"vL391span8 id9>84a href="drivers/ba7e/9ore.c94_attribute" cl>Bectref">dev id8vL299" cl8ss="li6e" na69"vL29espan8 id9>84"sr            ">dev_9"+cod94tribu7251" id8v3230" 338ss="li7e" na73"vL291"><381o/9>84commef="drive3s/ba7e/9ore.c94ode=dev" clvo78kfsrodevL326"><32= delew_boola78kruct< href="+code=delew_boola"sref">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of hns_+code_attribute">mef">dto_devo/a>(oa hass="+code=device"sub2= fsrodevL326"><32ub2= > = efcode=retval" clGLOBAL_Re ">gid   lo/a> = of="drive3s/ba7e/core.c#7276" _">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.<381o/9>845o/a>(struct<<<<<<<<<9t">/*9 *9ectrc94ode=did8vL280" cl8ss="li7e" na78"vL391"><381o/9>84p#L/kfreeo/a>(oa hvir9ual_a9re_att= temsd sepspecifyea=">fc#7239" id8v3232" 338ss="li7e" na73"vL29vL2318#L/9f84                     9     9  hvi=cccccccccc*ers/basef="d*i7e9_setuf="d - setsetei9coref="d>e239" id8v3232" 338ss="li7e" na73"vL29void 8>, 9f84           (void (d)(9oid *9)(oa hcccccccccc*ers/basef="d*i@ei9: s="sre">239" id8v3232" 338ss="li7e" na73"vL291"><281o/9>850                    9     9      cccccccccc*ers/basef="d*i@fmt:="drmat b2= te="drive3 s="sre'sef="d>e239" id8v3232" 338ss="li7e" na73"vL291"><281o/9>851sr            ">dev_9vvvvv9vef="dcccccccccc*ers/basef="d*c#7239" id8v3259" 358ss="li7e" na75s="s9w_boo8o/a9(852  void (deviceo/a> *9ectrc9eate areeo/a>syma78ka_pooler_setuf="drive3s/ba6e4cor.deviceo/a> *oa href="+code=dev" class="sre">envo/a>); ); 9 85"sr            ">dev_9hvi="957254" id"v3254" 3lass="li7e" na754vL396"><386ow9>85lo/a>(struct<<<<<<<<<9<<<<<95ode=dev" clvo78kfsrodevL326"va_sfsrodesrefe">erefrva_sfsrde=de78kfsrodevL326"vargode=retval" clGLvargo255" id8vL292" cl8ss="li6e" na69"vL29">env8/a>9;855o/a>(struct<<<<<<<<<9<<<<<9dto_derrota href=rive3s/ba7e5core.c255" id8vL292" cl8ss="li6e" na69"vL29"L2318#L/9>85   void (deviceo/a> *9f="dr95ode=did8vL280" cl8ss="li7e" na78"vL391"><381ov9285a h3ef="drive3s/ba7e/9ore.c95j_typ
" clINIT_LIST_HEADsrefva_stss=odesrefe">erefrva_stss=>envo/a>); dto_devo/a_rofmtve3s/ba6e8core.fmt318"8 id8vL285" cl8ss="li6e" na69lass98"><388o/9>8                      9t">/*9dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="srefta>); ); , 9;85           (void (d)(9"+cod95irref"ef">dto_devo/a>(oa h iva_251odesrefe">erefrva_251>envo/a>); <380o/9>860                    9t">/*9dto_derrota href=rive3s/ba7e5core.c255" id8vL292" cl8ss="li6e" na69"vL291"><281o/9>861sr            ">dev_9"+cod967282" id"vL282" class="li7e" na78"vL392"><382o/9>862  void (deviceo/a> *9a hri9e_attr>dto_derrota hrEXPORT_SYMBOL_GPrive3s/ba7e5coreEXPORT_SYMBOL_GPr>envo/a>); 9(86"sr          ef="driv9rs/ba96266" id8vL284" cl8ss="li7e" na784vL396"><386ow9b86commef="drive3s/ba7e/9ore.c96ccccccccccccccc* in a ;fc#7239" id8v3232" 338ss="li7e" na73"vL295"><285ou9v8nto/a>(vent_vant">/**<9span 96ccccccccccccccc*ers/basef="d* s="sre_to_hrere.c# - selcklset/bas7hre/*ers/basef="drive3 s="sre">239" id8v3232" 338ss="li7e" na73"vL29}fven8o/a9)86>kseto/a> *oa hvirtua9_aire9attriacccccccccc*ers/basef="d*i@ei9: s="sre">239" id8v3232" 338ss="li7e" na73"vL297"><287o/9>86p#L/kfreeo/a>(oa hvir9a hri96e_att= temsd sepspecifyea=" c#7239" id8v3232" 338ss="li7e" na73"vL295"><388o/9,86a href="drivers/ba7e/9ore.c96 hvi=cccccccccc*ers/basef="d*iByteir ">dtwe selcklschar/="drihrefe.c#ies.  Sett te cccc*e ">ghrerass="239" id8v3232" 338ss="li7e" na73"vL295oid 8>, 9;869kseto/a> *oa hvitual9aire_96(oa hcccccccccc*ers/basef="d*ito .c#7ers/bases"drfe.c#f="rom be te cev" cd.  cccc*e ">ghrere.c# musrde239" id8v3232" 338ss="li7e" na73"vL29 6ass8"vo9d870                    9a hri97     cccccccccc*ers/basef="d*ibe sets(ryealeared)ibe"dre"dryas7e9corearedrrgfsrered *oe"dri">mef">239" id8v3232" 338ss="li7e" na73"vL29 "><281o/9 871sr          oa hrire9attri97ef="dcccccccccc*ers/basef="d* o"drrwis3 s="sre=dev" clbas_hrere.c#f()"dri">239" id8v3232" 338ss="li7e" na73"vL29 "><382o/9v8nto/a>ef="drivers/ba7e9core.97ccccccccccccccc* If wefuncti* s="sre_remov_bbas_hrere.c#f()"willversagree"dbouf="drivress7e9cof">239" id8v3232" 338ss="li7e" na73"vL29 vent8/a>9>87>, stf="drive3s/ba7e/9ore.c97ccccccccccccccc* Cappr-">dto*="drioolac#7238" id8vL325" cl8ss="li7e" na73"vL391"><281o/9>8 env8/a>9;87a hreef="drive3s/ba6e9core.9#6318"te" vrss_lock="+code=dev" classr6sysfsrodesrefe">ess="+()reslap;virtual_ass="srs="sre_to_hrere.c#s="+(a> *ruct<="+code=to_hrere.c#lass="sref">deviceo/a> *oa href="+code=dev" class="sre">envo/a>); 9e876o/a>(vent_vant">/**<9span 9ref="d id"v3254" 3lass="li7e" na754vL39w_boo8o/a9(877kseto/a> *oa hvirtua9_aire9attrislueventdBectref">deviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a> 9 87                 tual9aire_97289" id8vL289" cl8ss="li7e" na78"vL295"><285ou9v87           (void (d)(9a hri97trierrotderef"ef">dto_derrota hrd"v="+code=dev" cl+coderef"ef">dto_devo/a>(oahf="drivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e" na69"vL290"><380o/9>88a href="drivers/ba7e/9ore.c98/span href="driv doYS.67o/a> GLOBAL_Re ">gid   lo/a> = of hns_+code_attribute">mef">dto_devo/a>(oa hass="+hrere.c#s="+(a> *ruct<="+ce.c#7255" id8vL320" cl8ss="li7e" na72"vL291"><281o/9>88      oa hoae="+code=9ev" c9_add="+cklist_55" id8v3231" 338ss="li7e" na74"vL392"><382o/9>88to/a>ef="drivers/ba7e9core.98ate and"">giund   fsrodevL326"><32">LL="+code=dev" clNULLe_shfvst_children_gefsad+code=dev_charre.c#s="+(a> *ruct<=+code=dev_charre.c#255" id8vL320" cl8ss="li7e" na72"vL291vent8/a>9o88>, stf="drive3s/ba7e/9ore.c97266" id8vL284" cl8ss="li7e" na784vL396"><386o.9o88gid   lo/a> = ef="drive3s/ba7e5core.c#7255" id8v3256" 3l8ss="li7e" na756 id96"><386o.9o88a hreef="drive3s/ba6e9core.98/span id8vL311" cl8ss="li7e" na711 <386o.9o8devo/a>(oa hch"v_air_r9le="d98ode=did8vL280" cl8ss="li7e" na78"vL39}fven8o/a9)88syma78ka_pooleref">dev" clbas_hrere.c#fs="+(a> *ruct<="+code=dev" clbas_hrere.c#flass="sref">deviceo/a> *oa href="+code=dev" class="sre">envo/a>); <248o/a9}8<283o/9>8taticdeviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a>  *ruct<="+code=to_hrere.c#lass=/a>); , s8ruc9<89dto_derrota href="drive3s/ba7e5core.c#7255"st_" id8vL285" cl8ss="li6e" na69lass9<382o/9v89a href="drivers/ba7e/9ore.c97283" id8vL293" cl8ss="li6e" na69"vL39env267o/a> (struct<<<<<<<<<9a hri90ef="drive3s/ba7e5coreta>); (oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = efc#6tve3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e" na756 id9<"><386o.9<89a href="drive3s/ba7e/9ore.c99/span href="driv find dto_derrota href="drive3s/ba7e5core.c#7255"st_children_gefsad+code=">g"w_boola78kruct< href="+code=dev" class="srefid   lo/a> = of="drive3s/ba7e/core.c#7276" _">dto_devo/a>(oa href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.<386o.9>89evo/a>(oa hch"v_air_r9le="d9errotderef"ef" id8vL311" cl8ss="li7e" na711 9 89p#L/kfreeo/a>(oa hvir9rrrrr99268" id8v3258" 358ss="li7e" na75"vL398"><288o/9>89                     9     9           g">rref"ef>dto_derrota href="drive3s/ba7e5core.c#7255" id8vL292" cl8ss="li6e" na69"vL299"><289o/9>899kseto/a> *oa hvitual9aire_9ttrier id8vL311" cl8ss="li7e" na711 <291o/101"> *oa hvitual101">>101"68" id/pre>>d8vL311" cl8ss="li7e" na711 <291o/10189      oa hoaehref="sr10189>1011318"" claddnt" clap;virtual_ass"+code=remov_bbas_hrere.c#fs="+(a> *ruct<="+code=remov_bbas_hrere.c#flass="sref">deviceo/a> *oa href="+code=dev" class="sre">envo/a>); <291o/10189a href="drivers/ba7e/10189>101289"  id"v3254" 3lass="li7e" na754vL31013><291o/10189      oa hkfrhhvirtua10189>101ttriass="sre"Bectref">deviceo/a> *oa href="+code=k"sref">GLOBAL_R)7"><267o/a>  *ruct<="+code=to_hrere.c#lass=/a>); <291o/10189lo/a>(struct<<<<<<<<<10189>101ef="drive3s/bcharv/a>); <291o/10189a href="drive3s/ba7e/10189>101276" id8vL296" cl8ss="li6e" na69"vL31016><291o/10189evo/a>(oa hch"v_air_r10189>101ttriap;virtual_as267o/a> <291o/10189p#L/kfreeo/a>(oa hvir10189>101e_attriceo/afor_each_refryfsrodevL32fdrmat_hrertve3s/ba6e8core.fdrmat_hrertlass=/a>); GLOBAL_Re ">gid   lo/a> = efc#6tve3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e" na756 id1018><291o/10189                     10189>101i="+code=dev" clap;viT_LIST_HEADsref><32= remov_boola78kruct< href="+code=remov_boola"srefd   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.dto_derrota href="drive3s/ba7e5chref="d"ef">dto_derrota href="drive_742 clasc cla9ttrier id8vL311" cl8ss="li7e" na711 <11011><291ovo9d81a h3ef="drive3s/ba1ovo9c cl*93351ss="9vL292" cl9ss="li7e" na70" cl1012><291oo/a 81a href="drivers/ba1oo/ac clc9eate areeo/a>syma78ka_poo265" " cdev"inic#6tve3s/ba6e8core.265" " cdev"inicc#flass="sref">deviceo/a> *oa href="+code=dev" class="sre">envo/a>); <291ocu9v81o/a>(struct<291oow9b8olo/a>(struct<<<<<<1oow9c cl<95ode=dev" clvo78kfsrodevL3h id"v="+code=dev" ap;virtual_ass="srparap;vird"v="+code=dev"pe.c255"st_children_gefszallocref="+code=dev" zallocc#flasizeof(envo/a>); dto_devo/a_GFP75ode=dev" clvo78kfsrodevL3h id"v="3R3101w9b8o5devL3h id"v="3R3101w9b8o5devL3h id"v="301e_a02i6es_lock="+code=dev" classrf"ef1vL296" cl8d sepspecifyea=">fass= ol8d svirt5Le_shfv8" id9v32devo/a>(oahf="drivers/ba7e/core.c#7283" id8vL284" cl8ss="li6elvo78kfsrodevL3h id"v=2i6es_lock="+code=dev" classrf"ef1irtual_as2errota hr id"v_air_childs2errvirti_= efcode=retval" cl id8vL2-RT_SYMBOL_GPr>enNOMEMef="_setuf="drivNOMEMkseto/a> *oa hvitual9aire_9ttrier idirteo/afor_eaE___________________">dteaE__virtva_stss=>envo/a>);  = of hns_+code_attribute">mef">dto_o/a> *oa hvitual9aire_9ttrier idirt=dev" clapto_derrota hrhf="driversapto_virt5"st_children_gefsadd="+cklikt8/a>eviceo/a> *oa href=kt8/a>evicual_a"srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"kt8/a>childrea hr)rref="drivekt8/a>childreacaer  id8v3256" 3l8sskt8/a>childreae3s/ba6e4core.c#6324t8/a>childreae3s/caer /a> *oa hvitual9aire_9ttrier idirtdto_derrotrsldren_pufouchildreaeructhef="drive3s/bat8/a>childreaeruc01e_a02i6es_lock="+code=dev" classrf"ef28vL311" cls="li7e" na78"vL29cls="st_children_gefsadd="+ckliINIT_LIST_HEADthef="drive3s/bINIT_LIST_HEADual_a"srparap;virruct href="+code=k"sref">GLOBAL_Re ">gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"dd"vLred=deobba6e8core.c#6318" "vLred=deobb01e_a02i6es_lock="+code=dev" classrf"ef2vL292" cl9t" id8vL285" cl8ss="li6el9t" >clsss9syma78s="li6e" na69"vL39cls>, stf="drive3s/ba7e/core.c#7266" id8cls"v3254" 3l"dri_href="+code=dev" cl3l"dr>clsa hrruct<32= remov_boofsode>clss="li7e" na73"vL295"><285ou9v8nto/a>(vent_vant">/**<9span 96ccccccccclsvL296" cl8s="li6e" na69"vL39clsselcklset/bas7hre/*ers/basef="drive3 add - add oid 8>,to oid 8>,hierarchy8 cls8v3232" 338ss="li7e" na73"vL297"><287o/9>88 <32= remov_booea_HE>cls="li7e" na73"vL295"><388o/9,86a href="drivers/ba7e/9ore.c96 hvi=ccccls=dev" clap"drive3s/ba7e/core.c#724ap"dr>clschar/="drihrefe.c#ies.  Sett tT3261261#631 2 of"drivress7na73"v(="3though mayred cc#6e8nto/a>ef="drivers/ba7e9core.97ccccccccclsdto_derrotf>dto_derrota href="drivotf>d>cls.c#f="rom be te cev" cd.  ccccse#63 clly _iff_"drivresevicials="()" id8been cc#6e8cse#63 clly8 clss"li7e" na73"vL295"><388o/9,86a href="drivers/ba7e/9ore.c96 hvi=ccccl3vL292" cl9s="li7e" na70"vL31cls clbas_hrere.c#f()"dri">239" iT3261adds97"><9 "><281shfvst_,hierarchy via1shfvst_ add(="3adds9i870                    9a hri97     cccclso/a>syma78p;virtual_ass"+code=remo78p;v>clsre.c#f()"willversagree"dbouf=" "><281globals="lisibl2" 3t8/asL29}fven8o/a9)8"3theaca                    9a hri97     ccccls"v3254" 3lss="li7e" na754vL39cls325" cl8ss="li7e" na73"vL391">adds9i8" "><281d8v329v8leva.26ive3/bas7e9of"ven8o    9 mi7el8 ); env8/a>9; clsselcklset/bas7hre/*ers/basef="De3/bascc#68v3261routvL2ore.drivress7na73"v(= mir>,tht/bo/a>9f99ksa hrruct<28s2s=">cls8v3232" 338ss="li7e" na73"vL29232" 338ss_R)7">workksa hrruct); <388o/9,8 with" 338ss="thtt 3s/ un" na73"vL29="lithea sps="liback9 ">lif88 <32= rapviT>clschar/="drihrefe.c#ies.  Sett t(Amo"lid8v329v32ngs,9i8"><281o_a9y" ir29 ">gu63 ntee"thtt c#68r "vL8/a>871sr          oa hrire9attri97ef="dcccclsdto_derrota>(oa h i><32= remov_booota>(>cls.c#f="rom be te cev" cd.  cccc*e L29 venvious9incarnaid8v9of"7"><9have8been dropped.)  A#63t cl71sr          oa hrire9attri97ef="dccccl48vL311" cldevice39;t seBLOCK h3ef=cldev>cldev3232" 338ss="li7e" na73"vL2923de" na73"v a fresh3232"envo/a> 338ss_in73"ad8 ); 239"  syma78ref">dev id8vL299" cl8ss78ref>cldre.c#f()"willversagree"dbouf="NOTE: _Ne_a9_7e" na7l" idee"7"><9af3"v cc#6a75s=3261funcid8v, e.c# cld325" cl8ss="li7e" na73"vL391">if9i8"v82comL29=" 9>899! A#ways us9 v86ow9v82l(=  ">gv_a up you9ksa hrruct<32= delew_boofsode>clds="li7e" na75s="s9">env8/a>9;8r "vL8/a>_in73"ad8 cldselcklset/bas7hre/*ers/basef=87a hreef="drive3s/ba6e9core.9#6318"te"cldirtual_as2s="li7e" na78"vL391"><38s2s=">cld68core.265" " cdev"inicc#flass=o/a>(oa href="+cod#flass=o/asre">envo/a>); <291ocu9v81o/a>(structcld7olo/a>(struct<<<<<<1oow9c cl<95ode=dev4=dev" clap/basef="d*i7e9_setuf="d ap/ba>cld5"st_childrenenvo/a>); fventnt" clos_not_s= lo/a> = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idclddto_derrot/basef="d*i@ei9: s="sre"ot/ba>cldsref">GLOBAL_R)7"><267o/a>  *ruct<=ef="drivers/ba7e/core.c#7251" idcl58vL311" cl/basef="d*i@fmt:="drmat cl/ba>cl/bref">GLOBAL_R)7"><267o/a> cl/re.c#7255" id8vL292" cl8ss="li6e" na69"vL29enINVAref="_setuf="drivINVArct<=ef="drivers/ba7e/core.c#7251" idcl5o/a>syma78a_pooler_setuf="drive3s/78a_p>cl/     oa hkfrhhvirtua9_aire9attriass=cl/"v3254" 3lss="li7e" na754vL396"><33lss=>cl/sref">GLOBAL_cl8ss="li7e" na79"vL11013><291ocu9v81o/a= lo/a> = of hns_+3s/_ve3s/ba6e8core.c#63183s/_ve3s/b3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dri5 clvo78kfsodevL326"va_sfsrodesrefefsode>cl/+coderef"ef">dto_devo/a>(oahf="drivers/ba7e/core.c#7283" i>(structcl/e5core.c#7255"st_chilef="242" id9vL301" c7_3/10/ba7e/core.c#7_3/ct<=ef="drivers/ba7e/core.c#7251" idcl5irtual_as2s="li7e" na78"vL391"><38s2s=">cl/a href="drivers/ba7e9core.9#7318"" ccl/eo/afor_ea_HEADsrefva_stss=odesrefea_HE>cl/re_attriass="sref">dto_devo/a>(oaivers/ba7e/core.c#7283" id8vL284" cl8ss="li6elvo78kfsrodevL3h id"v=L/kfreeo/a>(oa hvir10189>101e_attri5=dev" claperrota href=rive3s/ba7e5aperr>cl/la78kruct< href="+code=remov_boola"se=">g"w_boola78kruct< href="+code=dev" class="s#flass="sref">deviceo/a> *oa href="+code=dev" class="sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dri5dto_derrota>(oa h iva_251odesrefe"ota>(>cl/ULL="+code=dev" csadd9vL300" cl9ss="li7e" na70"vL27dto_devo1068vL311" clf>dto_derrota href=rive3clf>d>clf>LL="+code=dev" csadd="+_chilef="242" id9vL301" c7_3/10/ba7e/core.c#7_3/ct<=ef="drivers/ba7e/core.c#7251" idcl6vL292" cl9ss="li7e" na78"vL392"><3l9ss=>clfre.c#7255" idf="drive3s/ba7e/core.c#7266" id8cl6o/a>syma78rEXPORT_SYMBOL_GPrive3s/78rEX>clf     oa hkfrhhvirtua9_aire9attriass=cl6"v3254" 3ls="li7e" na784vL396"><383ls=">clfsref">GLOBAL_ce" na73"vL295"><285ou9v7a hreef="drive3s/ba6e9core.9#6318"te"cl6 clvo78kfs a ;fc#7239" id8v32fs a >clfs="li7e" na75s="s9">env8/a>999999999*L29}fc#fs="c#6y a#63t cld oid 8>s, which should c#68ed con6e9te8nto/a>ef="drivers/ba7e9core.97cccccccccl6vL296" cl8/basef="d* s="sre_to_hrel8/ba>clfselcklset/bas7hre/*ers/basef99999999*Lsome day,>ghr  39 ="2evicials=" L29 _to_. Werere.c# 8r ad="libacknto/a>ef="drivers/ba7e9core.97cccccccccl6irtual_as2/basef="d*i@ei9: s="sre"s2/ba>clf8v3232" 338ss="li7e" na73"vL99999999*LL29 _to_,923de29}c" L29 us9 of"dri>9(86()nto/a>ef="drivers/ba7e9core.97cccccccccl6eo/afor_eacifyea=" c#7239" id8v323eacif>clf="li7e" na73"vL295"><388o/9,99999999*87a hreef="drive3s/ba6e9core.9#6318"te"cl6=dev" clap/basef="d*iByteir ">dtweap/ba>clfre.c#7283" id9vL300" cl9ss="li7eivers/ba7e/core.c#7283" id8vL284" cl8ss="li6eevicss="li6e" na69lass90evicss="lid"v=L/kfreeo/a>(oa hvir10189>101e_attri6dto_derrot/basef="d*ito .c#7ers/baot/ba>clfULL="+code=dev" csadd00" cl9ss="li7eiveiceo/a> *oa href="+code=dev" class="sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" id8vL299" cl8ss="li6e" na69%st8/a>9 840    lo/a> = efc#6tve3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"evicss="li6e" na69lass90evicss="lid"v=ef="drivers/ba7e/core.c#7251" idcl78vL311" cl/basef="d*ibe sets(ryealcl/ba>cl/bLL="+code=dev" csadd00" cl9ss="li7eiveba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"evicss="li6e" na69lass90evicss="lid"v= lo/a> = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idcl7vL292" cl9/basef="d* o"drrwis3 s="l9/ba>cl/re.c#7255" idf="drive3s/ba7e/core.c#7266" id8cl7o/a>syma78 wefuncti* s="sre_remov_78 we>cl/     oa hkfrhhvirtua9_aire9attriass=cl7"v3254" 3lppr-">dto*="drioolac#7233lppr>cl/sref">GLOBAL_ce" na73"vL295"><285ou9v6ive3/bas7e9caa specify simplL2318#L/9enumeraid8v9*87a hreef="drive3s/ba6e9core.9#6318"te"cl7 clvo78kfs a ;cl/+coderef"ef">dto_devo/a>(oahf="drivedrive3s/ba6e8core.c#6318 id8vL285" cl8ss="li6e" na69lass91"><381o/9>845o/aef"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalirbu7e" na72"vL391spaue3s/baf"ef">dto_devo/a>(oa ief hass="srk+code=kobjr) { f">lockdep_sef_novalirbu7e" na72"vL391spaue3s/b255" id8vL320" cl8ss="lirive3s/ba6e8core.c#6318 id8vL28      (void (d)(9a hef9>dto_devo107vL296" cl8"+code=dev" classr6sysfsl8"+c>cl/e5core.c#7255"st_children_gefsad+codiveiceo/a> *oa href="+code=dev" class="sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" id8vL299" cl8ss="li6e" na69%st#37;ut8/a>9 840    lo/a> = efc#6tve3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"bu7e" na72"vL391spaue3s/b255" id8vL320" cl8ss="lirive3s/ba6e8core.c#6318 id8vL28 lo/a> = efc#6tve3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"ea>(oa href="+codidid"v=ef="drivers/ba7e/core.c#7251" idcl7irtual_as2ss="li7e" na754vL39w_boos2ss=>cl/a href="drivers/ba7e9core.9#7318"" ccl7eo/afor_eaf">deviceo/a> *oa href="eaf">>cl/re_attriass="sref">dto_devo/a>(oaivedrive3s/ba6e8core.c#6318 id8vL285" cl8ss="li6e" na69lass91"><381o/9>845o/a>L/kfreeo/a>(oa hvir10189>101e_attri7=dev" claps="li7e" na78"vL295"><28aps=">cl/la78kruct< href="+code=remov_boola"se=">g"w_boola78kruct< href="+cod-RT_SYMBOL_GPr>enINVAref="_setuf="drivINVArct<=ef="drivers/ba7e/core.c#7251" idcl7dto_derrotto_derrota hrd"v="+code=otto_>cl/+code=dev" clasdri_href="242" id9vL301" c"+co_e=">g"w_boola78kruct"+co_e=">gct<=ef="drivers/ba7e/core.c#7251" idcl88vL311" clYS.67o/a> clY1a href="drivers/ba1oo/ac clc9eate are8o/a>syma78srodevL326"><32">LL="+co78sro>clYclNULLe_shfvs84" cl8ss="li6elr_debugvo78kfsrodevL3h r_debugvL285"L295" cl92     oa hGLO hvi="void: "><28%st#39;: "><7;s\nt8/a>9 840    lo/a> = efc#6tve3s/drive3s/ba6e8core.c#6318 id8vL285" cl8ss="li6e" na69lass91"><381o/9>845o/a lo/a> = efc#6tve__func__9lass91"><381o/__func__id"v=ef="drivers/ba7e/core.c#7251" idcl8"v3254" 3ls="li7e" na784vL396"><383ls=">clYa hrruct = ef="drive3fsgid>clYual_ass="srparap;vird"v="+co*_pooleref">fventnt" clos_not_s= lo/a> = of hns_+3s/_ve3s/ba6e8core.c#63183s/_ve3s/b3256" 3l8ss="li7e" na756 id1014><291o/10189los"w_bos_not_s="+(a> *_pooleref">fventnt" clos_not_s=ef="drivers/ba7e/core.c#7251" idcl8vL296" cl8ss="li7e" na711 <3l8ss=>clY5al_ass="srparap;vird"v="+co_to_hrere.c#s="+(a> *ruct<="+code=to_hrere.c#3s/_ve3s/b_*_pooleref">fventnt" 3s/_ve3s/b_*_poolsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> *_pooleref">fventnt" clos_not_s=ef="drivers/ba7e/core.c#7251" idcl8irtual_as2s="li7e" na78"vL39}fven8s2s=">clYLLe_shfv8" id9v3292" cl9ss="li6e" na69"vL31017><291o/10189p#f="drivers/ba7e/core.c#7251" idcl8eo/afor_easyma78ka_pooleref">dev" easym>clYs/ba6e8core.fdrmat_hrertlass=/a>); <291o/10189los"w_bos_not_s="+(a> " na69"vL31017><291o/10189pdevo/a>(oa href=*_pooleref">fventnt" clos_not_s= lo/a> = of hns_+_to_hrere.c#s="+(a> *ruct<=ef="drivers/ba7e/core.c#7251" idcl8=dev" clapss="li7e" na754vL39w_><2apss=>clY          (void (d)(9a hri97trierrotclYdto_derrotf">deviceo/a> *oa href="otf">>clY_251>envo/a>);e" na73"vL295"><285ou9v6us9 vlos_n numa_nns_9*87a hreef="drive3s/ba6e9core.9#6318"te"cl98vL311" clto_derrota href="drive3sclto_>cltoLe_shfv8" id9v3292" cl9ss="li6e*_pooleref">fventnt" clos_not_s=f="drive3s/ba6e9core.9#6318"te"cl9vL292" cl9a>); fventnt" ss/_ve3_nns_sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> t_Beco_nns_eref">fventnt" t_Beco_nns_sre">00" cl9ss="li7e*_pooleref">fventnt" clos_not_s==ef="drivers/ba7e/core.c#7251" idcl9o/a>syma78s="li6e" na69"vL39clt     oa hkfrhhvirtua9_aire9attriass=cl9"v3254" 3l7o/a> GLOBAL_ce" na73"vL295"><285ou9v6first,e" na73"v with"generic layer.9*87a hreef="drive3s/ba6e9core.9#6318"te"cl9 clvo78kfsreta>); GLOBAL_ce" na73"vL295"><285ou9v6w7e" quir" L29 _to_ ="2ed *oe"b id8v,923dep"vL ">ghr*87a hreef="drive3s/ba6e9core.9#6318"te"cl9vL296" cl8nd dto_derrota href="dril8nd >clt5al_ass="srparap;vird"v="+coe=">g"w_boola78kruct< href="+code=dev" class="sshfvst_ adde=dev" clNULLe_shfvst_=o/asre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.<291o/10189pdevo/a>(oa href=*_pooleref">fventnt" clos_not_sr  id8v3256" 3l8sna772vL285"><285ouev8nto/a>=ef="drivers/ba7e/core.c#7251" idcl9irtual_as2311" cl8ss="li7e" na711 s2311>cltLLe_shfv8" id9v3292" cl9ss="li6e" na70"vL27dto_devo109eo/afor_eas="li7e" na75"vL398"><28eas=">clts/ba6e8core.fdrmat_href="242" id9vL301" cE na70"vL27dto_derrota href="drivapf>d>clt          (void (d)(9a hri97trierrotcl9dto_derrotss="li7e" na711 clt_251>envo/a>);e" na73"vL295"><285ou9v6notify platore. of"drivrede239" *87a hreef="drive3s/ba6e9core.9#6318"te"c1/pre>fventnt" clatore._notify          (void (d)(9a hef9>dto_devo11claddnt" c1ap;virtual_ass"+code=remo1_bbas101/ba6e8core.fdrmat_hrertlass=/a>); <*latore._notifyeref">fventnt" clatore._notify    > 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr1d"v3254" 31ass="li7e" na754vL31013><191o/110     oa hkfrhhvirtua9_aire9attriass=c1="sre"Bect1ef">deviceo/a> *oa href="1code=10sref">GLOBAL_cl8ss="li7e" nae=">g"w_boola78kruct< href="+code=dev" class="s#flass=c#7276"filba6e8core.c#6318" id8v=c#7276"filbsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=ue.c# _at" na756 id91019e.ue.c# _at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr1d4sre"Bect1eeta>); dto_92" cl9ss="li6e" na70"vL27dto_devo118vL296" cl1ss="li6e" na69"vL31016><211o/1010e5core.c#7255"st_chilef="242" id9vL301" cat" E na70"vL27 <291o/10189los"w_bos_not_s="+(a> dna756 id1018><291o/10189   >L/kfreeo/a>(oa hvir10189>101e_attr1e=dev" cla1;viT_LIST_HEADsref><32= r1mov_b1ola78kruct< href="+code=remov_boola"se=">g"w_boola78kruct< href="+code=dev" class="s#flass=c#7276"filba6e8core.c#6318" id8v=c#7276"filbsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=/101_at" na756 id91019e./101_at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr1d9dev" cla1;s="li7e" na711 dto_devo11d8vL311" c18ss="li7e" na711 <11011><191ovo11>LL="+code=dev" csadd="+_chilef="242" id9vL301" cue.c# at" E na70"vL27<211oo/a181a href="drivers/ba1oo/ac clc9eate ar1eo/a>syma71ka_poo265" " cdev"inic#6t1e3s/b11clNULLe_shfvst_children_gefsad+code=e=">g"w_boola78kruct< href="+code=dev" class="s#flass=c#7276".c#flass="sref">deviceo/a> *oa href="+code=dev" class="sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr1d"v3254" 31ass="li7e" na754 cl1014><191oow113LL="+code=dev" csadd9vL300" cl9ss="li7e" na70"vL27dto_devo11d4sre"Bect1rodevL3h id"v="+code=dev"1ap;vi1tual_ass="srpav" csadd="+_chilef="242" id9vL301" c/101at" E na70"vL27101ttriap11irtual_as1errota hr id"v_air_childs1errvi1ti_= efcode=retval" cl42" id9vL301" c/101mpre.c#7276"nns_eref">fventnt" t_B1mpre.c#7276"nns_sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr1deo/afor_e1E___________________">dte1E__vi1tva_stss=>envof="drive3s/ba7e/core.c#7266" id8c1t=dev" cla1to_derrota hrhf="driversa1to_vi11          (void (d)(9a hri97trierrotc1tdto_derro1rsldren_pufoug"w_boola78kruct< href="+code=dev" class="s#flass=addaddreeolass="sref">deviceo/a> *oa hreaddaddreeolass="srsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr128vL311" c1s="li7e" na78"vL29c12oLe_shfv8" id9v3292" cl9ss="li6e" na70"vL27dto_devo112vL292" cl1t" id8vL285" cl8ss="li6el1t" >c121/ba6e8core.fdrmat_href="242" id9vL301" cSass="sE na70"vL27syma71s="li6e" na69"vL39c12clNULLe_shfvs84" cl8ss="li6ee=">g"w_boola78kruct< href="+code=dev" class="s#flass=addaat" ref">deviceo/a> *oa hreaddaat" rsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr12"v3254" 31"dri_href="+code=dev" cl31"dr>c12LLe_shfv8" id9v3292" cl9ss="li6e" na70"vL27dto_devo1124sre"Bect1odevL326"><32= remov_boof1ode>c12ual_ass="srpav" csaddef="242" id9vL301" cAt" rE na70"vL27g"w_boola78kruct< href="+code=dev" class="sbuseaddave3s/ba6e8core.c#6318buseaddave3s/bsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr12irtual_as1"dri_= efcode=retval" cls1"dr>c12LLe_shfv8" id9v3292" cl9ss="li6e" na70"vL27dto_devo11seo/afor_e1_HEADsref><32= remov_booe1_HE>c12s/ba6e8core.fdrmat_href="242" id9vL301" cBurE na70"vL27c125"st_children_gefsadd="+ckliset>g"w_boola78kruct< href="+code=dev" class="s#pm_v" clao/a>(oa href="+cod#pm_v" clao/asre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr12dto_derro1f>dto_derrota href="drivo1f>d>c12coderef"ef">dto_devo/a>(oahf="dr" na70"vL27dto_devo1138vL311" c1ss="li7e" na711 c13>LL="+code=dev" csaddef="242" id9vL301" cDPME na70"vL27 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr1so/a>syma71p;virtual_ass"+code=remo71p;v>c13     oa hkfrhhvirtua9_aire9attriass=c1s"v3254" 31ss="li7e" na754vL39c13sref">GLOBAL_ce" na73"vL295"><285ou9v6Notify clic# muof"drivredo/aiid8vc iT3isscc#68o9d8 5">l71sr          oa hrire9attri97ef="dcccc13 clvo78kf1a>); env8/a>999999999*9af3"v #pm_v" clao/a2o/9v89" id8v3shfvst_=ue.c# ()8 c1sselcklset/bas7hre/*ers/basef99999999*87a hreef="drive3s/ba6e9core.9#6318"te"c13irtual_as1s="li7e" na78"vL39<"><28s1s=">c13LLe_shfv8" id9v3292" cl9ss="li6e3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"bu7e" na72"vL391spaue3s/b      (void (d)(9a hef9>dto_devo113eo/afor_e1>); d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.dto_devo113=dev" cla1viT_LIST_HEADsref><32= ra1viT>c13la78kruct< href="+codddddddddddddddddddddddddddddd42" id9vL301" cBUS_NOTIFY_ADD_DEVICE0"vL27(oa h i><32= remov_booo1a>(>c1s.c#f=>(struct<<<<<<<<<10189>101ef="dr148vL311" c1device39;t seBLOCK h3ef=c1dev>c14="st_children_gefsadd="+cklishfvst_=ue.c# e=dev" clNULLe_shfvst_=ue.c# sre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr14vL292" cl1>);  3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr14o/a>syma71ref">dev id8vL299" cl8ss71ref>c142Le_shfv8" id9v3292" cl9ss="li6e*_pooleref">fventnt" clos_not_s=f="drive3s/ba6e9core.9#6318"te"c14"v3254" 31" 338ss="li7e" na73"vL2931" 3>c143LL="+code=dev" csaddevo/a_ro.addatails/ba6e8core.c#6tt8/a>addatailsre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.fventnt" knns__*_pool3" i"     (void (d)(9a hef9>dto_devo114 clvo78kf1odevL326"><32= delew_boof1ode>c14ual_ass="srpav" csadd="+_chilllllllld   lo/a> = or href=*_pooleref">fventnt" clos_not_se ">gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"kt8/a>childrea hr)rref="drivekt8/a>childreacaer/a>(struct<<<<<<<<<10189>101ef="dr14vL296" cl1ss="li7e" na711 c149evo/a>(oa hch"v_air_r10189>101ttriap1dirtual_as1s="li7e" na78"vL391"><38s1s=">c14LLe_shfv8" id9v3292" cl9ss="li6e3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="li7e"6e8coba6e8core.c#6t36e8cocaer/L/kfreeo/a>(oa hvir10189>101e_attr14eo/afor_e1cifyea=">fc#7239" id8v32e1cif>c14s/ba6e8core.fdrmat_hrertlass=/a>); d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"mutexba6e8core.c#6t3mutexcaer/a>(struct<<<<<<<<<10189>101ef="dr14=dev" cla1/basef="d*i7e9_setuf="d a1/ba>c14la78kruct< href="+codee" na73"vL295"><285ou9v6tie><281o/9 8c*e L29 drivred*87a hreef="drive3s/ba6e9core.9#6318"te"c1ddto_derro1/basef="d*i@ei9: s="sre"o1/ba>c14ULL="+code=dev" csadd00" cl9ss="li7ect8/a>addatails/ba6e8core.c#6tt8/a>addatailsre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.dto_devo1158vL311" c1/basef="d*i@fmt:="drmat c1/ba>c15>LL="+code=dev" csadd="+_chilllllllld   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"tt8/a>drivreoba6e8core.c#6t3kt8/a>drivreocaer/a>(struct<<<<<<<<<10189>101ef="dr15vL292" cl1/basef="d*c#7239" id8v32l1/ba>c151a href="drivers/ba1oo/ac clc9eate ar15o/a>syma71a_pooler_setuf="drive3s/71a_p>c15clNULLe_shfvst_childree" na73"vL295"><285ou9v6notify 232"ev3"vfa/b="thtt L29 drivredisshered*87a hreef="drive3s/ba6e9core.9#6318"te"c1/"v3254" 31ss="li7e" na754vL396"><331ss=>c153LL="+code=dev" csaddevo/a_ro.id8_eachs="sref">deviceo/a> *t8/a>id8_eachs="sresre"> 3l8ss="li7e" nddreeoev3fa6e8core.c#6318ef="dsev3fct<="     (void (d)(9a hef9>dto_devo115 clvo78kf1odevL326"va_sfsrodesrefef1ode>c15ual_ass="srpav" csadd="+_chillllllllllllld   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"ev3"vfa/b=vo78kfsrodevL3hev3"vfa/b=ccaer  id8v3256" 3l8snns_eref">fventnt" nns_sre"=f="drive3s/ba6e9core.9#6318"te"c15vL296" cl1to_derrota href=rive3s/bl1to_>c1/e5core.c#7255"st_chilllllllll9v3292" cl9ss="li6eddreeoev3fa6e8core.c#6318ef="dsev3fct<=8v3256" 3l8ss="li7e"addave3a6e8core.c#6318addave3sre"=f="drive3s/ba6e9core.9#6318"te"c15irtual_as1s="li7e" na78"vL391"><38s1s=">c15i_= efcode=retval" cl+code=dev" csaddevo/a_ro.00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> ddreeoev3fa6e8core.c#6318ef="dsev3fct<=/a>(struct<<<<<<<<<10189>101ef="dr15eo/afor_e1_HEADsrefva_stss=odesrefe1_HE>c15s/ba6e8core.fdrmat_hrertlass=/a>); d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"mutexba6e8core.c#6t3mutexcaer/a>(struct<<<<<<<<<10189>101ef="dr15=dev" cla1errota href=rive3s/ba7e5a1err>c1/la78kruct< hrf="drive3s/ba7e/core.c#7266" id8c15dto_derro1a>(oa h iva_251odesrefe"o1a>(>c1/ULL="o/a> = or href="_3/10/ba7e/core.c#7_3/ct<=:="drive3s/ba7e/core.c#7266" id8c168vL311" c1f>dto_derrota href=rive3c1f>d>c16="st_children_gefsadd="+ckliv86ow9v82lvo78kfsrodevL3h u/_ve3s/b3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr16vL292" cl1ss="li7e" na78"vL392"><3l1ss=>c16ss9(oahf="dr" na70"vL27(struct<<<<<<<<<10189>101ef="dr16o/a>syma71rEXPORT_SYMBOL_GPrive3s/71rEX>c1f     242" id9vL301" cDPME na70"vL27<3831s=">c16sref">GLOBAL_cl8ss="li7e" nabusess="sreve3s/ba6e8core.c#6318busess="sreve3s/b3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr16 clvo78kf1 a ;fc#7239" id8v32f1 a >c1fs="li242" id9vL301" cBurE na70"vL27c165al_ass="srparap;vird"v="+coda href="+codeat" ref">deviceo/a> *oa hre="+codeat" r3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr16irtual_as1/basef="d*i@ei9: s="sre"s1/ba>c1f8v323242" id9vL301" cAt" rE na70"vL27c16va_stss=>envo/a>); deviceo/a> *oa hre="+codeef="dslass="sr3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr16=dev" cla1/basef="d*iByteir ">dtwea1/ba>c1fre.c#7 3l8ss="li7e" nSass="sE na70"vL27dto_devo/a>(oahf="drMAJOR0"vL27<291o/10189los"w_bos_not_s="+(a> dna756 id1018><291o/10189   >="drive3s/ba7e/core.c#7266" id8c178vL311" c1/basef="d*ibe sets(ryealc1/ba>c1/bLL="+code=dev" csadd00" cl9ss="li7eive1mpre.dele76"nns_eref">fventnt" t_B1mpre.dele76"nns_3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr17vL292" cl1/basef="d* o"drrwis3 s="l1/ba>c1/re.c#7255" idto_devo/a>(oahf="drMAJOR0"vL27<291o/10189los"w_bos_not_s="+(a> dna756 id1018><291o/10189   >="drive3s/ba7e/core.c#7266" id8c17o/a>syma71 wefuncti* s="sre_remov_71 we>c17clNULLe_shfvst_children_gefsad+code=*oa hre="+code.c#flass="sref">deviceo/a> *oa href="+code=dev" class="sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr17"v3254" 31ppr-">dto*="drioolac#72331ppr>c1/sref">os_not_s="+(a> dna7at" E na70"vL27c1/+coderef"ef">dto_evo/a>(oahf="drMAJOR0"vL27<291o/10189los"w_bos_not_s="+(a> dna756 id1018><291o/10189   >="drive3s/ba7e/core.c#7266" id8c17vL296" cl1"+code=dev" classr6sysfsl1"+c>c1/e5core.c#7255"st_children_gefsad+codivehref="+codefilba6e8core.c#6318" id8v=="+codefilbsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=/101_at" na756 id91019e./101_at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr17irtual_as1ss="li7e" na754vL39w_boos1ss=>c178v323242" id9vL301" cue.c# at" E na70"vL27deviceo/a> *oa href="e1f">>c17va_stss=>envo/a>); 00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=ue.c# _at" na756 id91019e.ue.c# _at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr17=dev" cla1s="li7e" na78"vL295"><28a1s=">c17re.c#7 3l8ss="li7e" nat" E na70"vL27d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr188vL311" c1YS.67o/a> d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr18vL292" cl18v3231" 338ss="li7e" na7l18v3>c1Y1a hr242" id9vL301" cE na70"vL27syma71srodevL326"><32">LL="+co71sro>c1YclNULLe_shfvs84" cl8ss="li6ecleanup_#flass=*_pooleref">fventnt" cleanup_#flass=*_poolsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr18"v3254" 31s="li7e" na784vL396"><3831s=">c18LLe_shfv8" id9v3292" cl9ss="li6e*_pooleref">fventnt" clos_not_s=f="drive3s/ba6e9core.9#6318"te"c18 clvo78kf1gid   lo/a> = ef="drive3f1gid>c18ual_ass="srpav" csadd_gefsadd="+ckliv86ow9v82lvo78kfsrodevL3h u/_ve3s/b3256" 3l8ss="li7e" n*_pooleref">fventnt" clos_not_s=ef="drivers/ba7e/core.c#7251" idc18vL296" cl1ss="li7e" na711 <3l1ss=>c1Y5al_a id8v3256" 3l8sn+co_e=">g"w_boola78kruct"+co_e=">gct<=:="drive3s/ba7e/core.c#7266" id8c18irtual_as1s="li7e" na78"vL39}fven8s1s=">c1YLLe_shfv8" idevo/a_ro.<291o/10189los"w_bos_not_s="+(a> lvo78kfsrodevL3h id"v=ef="drivers/ba7e/core.c#7251" idc18eo/afor_e1syma78ka_pooleref">dev" e1sym>c18va_stss=>envo/a>);  = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc18=dev" cla1ss="li7e" na754vL39w_><2a1ss=>c18la78kruct< href="242" id9vL301" c7_3/10/ba7e/core.c#7_3/ct<=ef="drivers/ba7e/core.c#7251" idc1Ydto_derro1f">deviceo/a> *oa href="o1f">>c1Y_251>f="drive3s/ba7e/core.c#7266" id8c198vL311" c1to_derrota href="drive3sc1to_>c1toLe_s="drive3s/ba7e/core.c#7266" id8c19vL292" cl1a>); 2399v8nto/a>(vent_vant">/**<9span 96ccccccccc19o/a>syma71s="li6e" na69"vL39c19re.c#f()"willversagree"dbouf="" id8v=="na73"v -e" na73"v a drivredwith"L29 3/bas78  7"><28poev3"vc*e L29 drivredR)7">); env8/a>9; c198v3232" 338ss="li7e" na73"vL2923d add i8" "><2813/bas78iT3n8two R)eps caa ed cc#6e8nto/a>ef="drivers/ba7e9core.97ccccccccc19eo/afor_e1s="li7e" na75"vL398"><28e1s=">c19="li7e" na73"vL295"><388o/9,8 se#63 clly, buts=3261is><281easiest923d mod8 5">mon8 dto_derrota href="driva1f>d>c19char/="drihrefe.c#ies.  Sett tI.e. you should onlyscc#68v3n8two helpa9rcse#63 clly if c19.c#f="rom be te cev" cd.  cccchave8a clearl2" 3fimL29  39 ="2us9 23de" fcount L29 ve3s/b32a hrruct239"  <291o/120re.c#f()"willversagree"dbouf="For mir>,inore.aid8v, se" L29 kerneldocL29}fdrivresevicials="()  and"drive3 add()8 ); env8/a>9; <221o/1020selcklset/bas7hre/*ers/basef="NOTE: _Ne_a9_7e" na7l" idee"7"><9af3"v cc#6a75s=3261funcid8v, e.c#  gv_a up L29 <28e2rertv20="li7e" na73"vL295"><388o/9,8 r "vL8/a>_inicials="d9in t3261funcid8v_in73"ad8 <32= r2mov_b20char/="drihrefe.c#ies.  Sett 87a hreef="drive3s/ba6e9core.9#6318"te"c2d9dev" cla2;s="li7e" na711 ); <291ocu9v81o/a>(struct<291ovo21>LL="/kfreeo/a>(oa hvir10189>101e_attr29vL292" cl2ss="li7e" na70" cl1012><221oo/a211"st_children_gefsadd="+cklive3s/b_inicials="a6e8core.c#6318" id8v=inicials="sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr2eo/a>syma72ka_poo265" " cdev"inic#6t2e3s/b21clNULLe_shfvsv82commevo/a>(oahf="drdrive3 adda6e8core.c#6318" id8v=o/asre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr2d"v3254" 32ass="li7e" na754 cl1014><291oow213LL="f="drive3s/ba7e/core.c#7266" id8c2d4sre"Bect2rodevL3h id"v="+code=dev"2ap;vi2tual_a="drive3s/ba7e/core.c#7266" id8c2dvL296" cl2d sepspecifyea=">fass= ol2d svi21selcklset/bas7hre/*ers/base9v8nto/a>(vent_vant">/**<9span 96ccccccccc21irtual_as2errota hr id"v_air_childs2errvi218v3232" 338ss="li7e" na73"vL293s/_ve3s/b -eevcremc# 8r "vL8/a>_count 29}fdrivre8 dte2E__vi21="li7e" na73"vL295"><388o/9,8 7"><28drivre8 <281cc#68vo3shfvst_=3s/(),><2ough c22 clbas_hrere.c#f()"dri">239" 8poev3"vcp"vL"d9in8 syma72s="li6e" na69"vL39c22re.c#f()"willversagree"dbouf=87a hreef="drive3s/ba6e9core.9#6318"te"c22"v3254" 32"dri_href="+code=dev" cl32"dr>c22LLe_senvo/a>); ); <291ocu9v81o/a>(struct<32= remov_boof2ode>c22ual_a/kfreeo/a>(oa hvir10189>101e_attr2svL296" cl2s="li6e" na69"vL39c225al_ass="srpav82commevo/a>(oahf="drdrivL11013><291ocu9v81o/a ?n_gefsadd="+cklishfveco_drivL11013><291ocushfveco_drisre"> 3l8ss="li7e" nshfvst_=3s/e=dev" clNULLe_shfvst_=3s/sre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro. = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc22irtual_as2"dri_= efcode=retval" cls2"dr>c22LLe_sf="drive3s/ba7e/core.c#7266" id8c2seo/afor_e2_HEADsref><32= remov_booe2_HE>c22s/ba6="drive3s/ba7e/core.c#7266" id8c2s=dev" cla2"drive3s/ba7e/core.c#724a2"dr>c22char/="drihrefe.c#ies.  Set9v8nto/a>(vent_vant">/**<9span 96ccccccccc22dto_derro2f>dto_derrota href="drivo2f>d>c22.c#f="rom be te cev" cd.  ccccv86ow9v82l -edecremc# 8r "vL8/a>_count8 c23ev3232" 338ss="li7e" na73"vL297"><28drivre9in quesid8vc 239" 87a hreef="drive3s/ba6e9core.9#6318"te"c2so/a>syma72p;virtual_ass"+code=remo72p;v>c23     voidd_gefsadd="+ckliv86ow9v82lvo78kfsrodevL3h u/_ve3s/b3256"envo/a>); <291ocu9v81o/a>(structc23sref"/kfreeo/a>(oa hvir10189>101e_attr23 clvo78kf2a>); GLOBAL_ce" na73"vL295"><285ou9v6might_sleep();" 87a hreef="drive3s/ba6e9core.9#6318"te"c2svL296" cl2 c#7255" id8vL280" cl8ssl2 c#>c235al_ass="srpai6e3s/ba6e8core.c#6t318"  id8v3256" 3l8ss="l>(structd   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr23eo/afor_e2>); <32= ra2viT>c23          (void (d)(9a hri97trierrotc2sdto_derro2a>(oa h i><32= remov_booo2a>(>c23.c#f="rom be te cev" cd.  c9v8nto/a>(vent_vant">/**<9span 96ccccccccc248vL311" c2device39;t seBLOCK h3ef=c2dev>c24ev3232" 338ss="li7e" na73"vL29" id8v=del -edele768drivre9from 3/bas78 ); 239" 87"><28drivre8 syma72ref">dev id8vL299" cl8ss72ref>c24re.c#f()"willversagree"dbouf= c24325" cl8ss="li7e" na73"vL391">T3261is><281first vlotuof"L29 drivredun="na73raid8v <32= delew_boof2ode>c24s="li7e" na75s="s9">env8/a>9; seque/a>.>T3261="+cods"L29 drivredfrom L29 t8/as w9 control c24selcklset/bas7hre/*ers/basef="from here, has9i8"v8+codddfrom L29 oL29r d"v_a9 modelsra hrruct<38s2s=">c248v3232" 338ss="li7e" na73"vL29ive3/bas7e9i8"wa61add39 ="2in drive3 add(), 23de" +cods"itsra hrructc24="li7e" na73"vL295"><388o/9,8 from L29 shfvst_ hierarchy8 c24char/="drihrefe.c#ies.  Sett  c24.c#f="rom be te cev" cd.  ccccNOTE: t3261should ed cc#6e8 manuc#6y _iff_ drive3 add()"wa6 c25ev3232" 338ss="li7e" na73"vL29also cc#6e8 manuc#6y8 c25 clbas_hrere.c#f()"dri">239" 87a hreef="drive3s/ba6e9core.9#6318"te"c25o/a>syma72a_pooler_setuf="drive3s/72a_p>c25     voidd_gefsadd="+ckli" id8v=dela6e8core.c#6318" id8v=delsre">envo/a>); <291ocu9v81o/a>(struct<332ss=>c25sref"/kfreeo/a>(oa hvir10189>101e_attr25 clvo78kf2odevL326"va_sfsrodesrefef2ode>c25ual_ass="srpaenvo/a>); fventnt" clos_not_s= lo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6el_pooleref">fventnt" clos_not_sa>(struct<<<<<<<<<10189>101ef="dr25vL296" cl2to_derrota href=rive3s/bl2to_>c2/e5core.c#7255envo/a>); fventnt" clrot_ev3"vfa/bL290" cl8ss="li7e" naclrot_ev3fa6e8core.c#6318ef="dsev3fct<=a>(struct<<<<<<<<<10189>101ef="dr25s2"dri_= es="li7e" na78"vL391"><38s2s=">c25a href="drivers/ba7e9core.9#7318"" cc25eo/afor_e2_HEADsrefva_stss=odesrefe2_HE>c25s/ba6e8core.fce" na73"vL295"><285ou9v6Notify clic# muof"drivred" +coalc iT3isscc#68o9d8 5">l71sr          oa hrire9attri97ef="dcccc25=dev" cla2errota href=rive3s/ba7e5a2err>c25char/="drihrefe.c#ies.  Setttttttttt29b id8v3#pm_v" cla" +cod()8 (oa h iva_251odesrefe"o2a>(>c25.c#f="rom be te cev" cd.  cctttttttt287a hreef="drive3s/ba6e9core.9#6318"te"c268vL311" c2f>dto_derrota href=rive3c2f>d>c26oLe_shfv8" id9v3292" cl9ss="li6eivers/ba7e/core.c#7283" id8vL284" cl8ss="li6ebu7e" na72"vL391spaue3s/b      (void (d)(9a hef9>dto_devo126vL292" cl2ss="li7e" na78"vL392"><3l2ss=>c261/ba6e8core.fdrmat_hrertlass=/a>); d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.dto_devo126o/a>syma72rEXPORT_SYMBOL_GPrive3s/72rEX>c26clNULLe_shfvst_childrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr6" 3l8ss="li7e"BUS_NOTIFY_DEL_DEVICE0"vL27<3832s=">c26sref">GLOBAL_cl8ss="li7e" na#pm_v" cla" +cod6 id1014><291o/1pm_v" cla" +codsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr26 clvo78kf2 a ;fc#7239" id8v32f2 a >c26+coderef"ef">dto_evo/a>(oahf="dr*_pooleref">fventnt" clos_not_s=f="drive3s/ba6e9core.9#6318"te"c26vL296" cl2/basef="d* s="sre_to_hrel2/ba>c26e5core.c#7255"st_children_gefsad+codkt8/a>drls/ba6e8core.c#6tt8/a>delsre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.fventnt" knns__*_pool3" i/a>(struct<<<<<<<<<10189>101ef="dr26s2"dri_= e/basef="d*i@ei9: s="sre"s2/ba>c26LLe_shfv8" id9v3292" cl9ss="li6eMAJOR0"vL27<291o/10189los"w_bos_not_s="+(a> dna756 id1018><291o/10189   >L/kfreeo/a>(oa hvir10189>101e_attr26eo/afor_e2cifyea=" c#7239" id8v323e2cif>c26s/ba6e8core.fdrmat_hrertlass=/a>); fventnt" t_B1mpre.dele76"nns_3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr26=dev" cla2/basef="d*iByteir ">dtwea2/ba>c26la78kruct< href="+code=remov_boola"s*oa hre="+code.c#flass="sref">deviceo/a> *oa href="+code=dev" class="sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr26dto_derro2/basef="d*ito .c#7ers/bao2/ba>c26ULL="+code=dev" csadd00" cl9ss="li7eivehref="+codefilba6e8core.c#6318" id8v=="+codefilbsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=/101_at" na756 id91019e./101_at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr278vL311" c2/basef="d*ibe sets(ryealc2/ba>c2/bLL="+code=def="drive3s/ba7e/core.c#7266" id8c27vL292" cl2/basef="d* o"drrwis3 s="l2/ba>c2/re.c#7255" idto_devo/a>(oahf="dra756 id1014><291o/10189los"w_bos_not_s="+(a> id101a6e8core.c#6318ef="d89lo/L/kfreeo/a>(oa hvir10189>101e_attr27o/a>syma72 wefuncti* s="sre_remov_72 we>c27clNULLe_shfvst_children_gefsad+code=*oa hre="+codeef="dslass="sref">deviceo/a> *oa hre="+codeef="dslass="sr3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr27"v3254" 32ppr-">dto*="drioolac#72332ppr>c2/sref">(struct<<<<<<<<<10189>101ef="dr27 clvo78kf2 a ;c27ual_ass="srpav" csadd_gefsadd="+cklimutex_lockba6e8core.c#6t3mutex_locksre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"mutexba6e8core.c#6t3mutexcaer/a>(struct<<<<<<<<<10189>101ef="dr27vL296" cl2"+code=dev" classr6sysfsl2"+c>c2/e5core.c#7255"st_childe" na73"vL295"><285ou9v6notify 232"ev3"vfa/b="thtt L29 drivredissnow goned*87a hreef="drive3s/ba6e9core.9#6318"te"c27irtual_as2ss="li7e" na754vL39w_boos2ss=>c27LLe_shfv8" idchildren_gefsadd="+cklit8/a>id8_eachs="sref">deviceo/a> *t8/a>id8_eachs="sresre"> 3l8ss="li7e" nddreeoev3fa6e8core.c#6318ef="dsev3fct<="     (void (d)(9a hef9>dto_devo127eo/afor_e2f">deviceo/a> *oa href="e2f">>c27s/ba6e8core.fdrmat_hrrrrrrrrrrrrrrrrrrrrrd   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"ev3"vfa/b=vo78kfsrodevL3hev3"vfa/b=ccaer  id8v3256" 3l8snns_eref">fventnt" nns_sre"=f="drive3s/ba6e9core.9#6318"te"c27=dev" cla2s="li7e" na78"vL295"><28a2s=">c27la78kruct< href="+coddddddddd9v3292" cl9ss="li6eddreeoev3fa6e8core.c#6318ef="dsev3fct<=8v3256" 3l8ss="li7e"ss="sreve3a6e8core.c#6318ss="sreve3sre"=f="drive3s/ba6e9core.9#6318"te"c27dto_derro2to_derrota hrd"v="+code=o2to_>c27ULL="+code=dev" csaddhfv8" idchildren_gefsadd="+ckliddreeoev3fa6e8core.c#6318ef="dsev3fct<=8v3256" 3l8ss="li7e"ss="sreve3a6e8core.c#6318ss="sreve3sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> ddreeoev3fa6e8core.c#6318ef="dsev3fct<=/a>(struct<<<<<<<<<10189>101ef="dr288vL311" c2YS.67o/a> <285ou9v6ss="sr"L29 drivredfrom L29 73"vL t8/ad*87a hreef="drive3s/ba6e9core.9#6318"te"c28vL292" cl28v3231" 338ss="li7e" na7l28v3>c281/ba6e8core.fdrmat_hrertlass=/a>); drls/ba6e8core.c#6tt8/a>delsre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr28o/a>syma72srodevL326"><32">LL="+co72sro>c28clNULLe_shfvst_children_gefsad+code=mutex_unlockba6e8core.c#6t3mutex_unlocksre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.gid   lo/a> = of=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"mutexba6e8core.c#6t3mutexcaer/a>(struct<<<<<<<<<10189>101ef="dr28"v3254" 32s="li7e" na784vL396"><3832s=">c28LLe_shfv8" idf="drive3s/ba7e/core.c#7266" id8c28 clvo78kf2gid   lo/a> = ef="drive3f2gid>c28ual_ass="srpa00" cl9ss="li7eivehref="+codefilba6e8core.c#6318" id8v=="+codefilbsre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" d   lo/a> = or href=ue.c# _at" na756 id91019e.ue.c# _at" 89lo/a>(struct<<<<<<<<<10189>101ef="dr28vL296" cl2ss="li7e" na711 <3l2ss=>c285al_ass="srparap;vird"v="+coda href="+codeat" ref">deviceo/a> *oa hre="+codeat" r3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr28irtual_as2s="li7e" na78"vL39}fven8s2s=">c2YLLe_shfv8" idevo/a_ro.<291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr28eo/afor_e2syma78ka_pooleref">dev" e2sym>c28va_stss=>envo/a>); <291o/1veass=*m=" +cod3256" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr28=dev" cla2ss="li7e" na754vL39w_><2a2ss=>c285"st_children_gefsadd="+ckli<<<<<<291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr28dto_derro2f">deviceo/a> *oa href="o2f">>c28.c#f=>(struct<<<<<<<<<10189>101ef="dr298vL311" c2to_derrota href="drive3sc2to_>c29="st_children_e" na73"vL295"><285ou9v6Notify L29 platore.uof"L29 " +coal,2in ccse"they7a hreef="drive3s/ba6e9core.9#6318"te"c29vL292" cl2a>); 239st_childr*9  39 ="2do 232thing..8 syma72s="li6e" na69"vL39c29re.c#f()"willversagree"dbouft_childr*87a hreef="drive3s/ba6e9core.9#6318"te"c29"v3254" 327o/a> <291o/*latore.enotify=" +codsre"=f="drive3s/ba6e9core.9#6318"te"c29 clvo78kf2reta>); <291o/*latore.enotify=" +codsre"" 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr29vL296" cl2nd dto_derrota href="dril2nd >c295al_ass="srparap;vird"v="+coshfvst_=ue.c# e=dev" clNULLe_shfvst_=ue.c# sre">d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr29irtual_as2311" cl8ss="li7e" na711 s2311>c29LLe_shfv8" idevo/a_ro.fventnt" cleanup_#flass=*_poolsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr29eo/afor_e2s="li7e" na75"vL398"><28e2s=">c29va_stss=>envo/a>); d   lo/a> = or href="+code=dev" class="sref">dto_devo/a_ro.(struct<<<<<<<<<10189>101ef="dr29=dev" cla2f>dto_derrota href="driva2f>d>c295"st_children_gefsadd="+ckliv86ow9v82lvo78kfsrodevL3h u/_ve3s/b3256" 3l8ss="li7e" n*_pooleref">fventnt" clos_not_s=ef="drivers/ba7e/core.c#7251" idc29dto_derro2ss="li7e" na711 c29_251>f="drive3s/ba7e/core.c#7266" id8c3/pre>2399v8nto/a>(vent_vant">/**<9span 96ccccccccc3d"v3254" 33ass="li7e" na754vL31013><391o/130re.c#f()"willversagree"dbouf="#flass=un="na73"v -eun="na73"v drivre9from 3/bas78  7"><28drivre9goa75saway8 ); env8/a>9; <231o/1030selcklset/bas7hre/*ers/basef="W9 v"2L3261in two vlots, like9w9 v"2*oa hre="na73"v(). First, <2c# <28e3rertv30="li7e" na73"vL295"><388o/9,8 w9 vecremc# 8L29 " "vL8/a>_count via v86ow9v82l(=. If"thtt dto_derrota href="driva3mov_b30char/="drihrefe.c#ies.  Sett 1is><281final " "vL8/a>_count,"L29 drivredwi#68ed clean39 up <391ovo31ev3232" 338ss="li7e" na73"vL29stick aroun9 until><281final " "vL8/a>_*e L29 drivredis>dropped8 <231oo/a31 clbas_hrere.c#f()"dri">239" 87a hreef="drive3s/ba6e9core.9#6318"te"c3eo/a>syma73ka_poo265" " cdev"inic#6t3e3s/b31     voidd_gefsadd="+ckli" id8v=un="na73"v6 id1014><291o/1veass=un="na73"v3256"envo/a>); <291ocu9v81o/a>(struct<391oow31sref"/kfreeo/a>(oa hvir10189>101e_attr3d4sre"Bect3rodevL3h id"v="+code=dev"3ap;vi31ual_ass="srpa00" cl9ss="li7epfventnt" c"" id8v: '%s': %s\n"7a hree"  id8v3256" 3l8ss="_ode=vL11013><291ocu9v8_ode=sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/"  id8v3256" 3l8s__func__6 id1014><291o/__func__ot_s=ef="drivers/ba7e/core.c#7251" idc3dvL296" cl3d sepspecifyea=">fass= ol3d svi315al_ass="srparap;vird"v="+coda hrefdela6e8core.c#6318" id8v=delsre"> 3l8ss="li7e" na756 id1014><291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr31irtual_as3errota hr id"v_air_childs3errvi31LLe_shfv8" idevo/a_ro.<291o/10189lo/a>(struct<<<<<<<<<10189>101ef="dr3deo/afor_e3E___________________">dte3E__vi31s/ba6f="drive3s/ba7e/core.c#7266" id8c3d=dev" cla3to_derrota hrhf="driversa3to_vi31          (void (d)(9a hri97trierrotc3d9dev" cla3rsldren_pufou); <291o/tt8/a>i3"vL290" cl8ss="li7e" naivo78kfsrodevL3he1o/a>(struct(oa hvir10189>101e_attr32vL292" cl3t" id8vL285" cl8ss="li6el3t" >c321/ba6e8core.fenvo/a>); fventnt" tt8/a>nns_L290" cl8ss="li7e" nanvo78kfsrodevL3hnL290" lo/a> = of hns_+tt8/a>nex6eref">fventnt" tt8/a>nex63256" 3l8ss="li7e" nivo78kfsrodevL3he1o/a>a>(struct<<<<<<<<<10189>101ef="dr3so/a>syma73s="li6e" na69"vL39c322/ba6e8core.fenvo/a>); <291ocu9v81o/a= lo/a> = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc32"v3254" 33"dri_href="+code=dev" cl33"dr>c323/ba6e8core.fenvo/a>); <32= remov_boof3ode>c32ual_a="drive3s/ba7e/core.c#7266" id8c3svL296" cl3s="li6e" na69"vL39c325al_ass="srpa9v3292" cl9ss="li6envo78kfsrodevL3hnL290/L/kfreeo/a>(oa hvir10189>101e_attr32irtual_as3"dri_= efcode=retval" cls3"dr>c32LLe_shfv8" idchildren_gefsadd="+cklilvo78kfsrodevL3h id"v= lo/a> = of hns_+co_driass=*ba7atd=*_pooleref">fventnt" co_driass=*ba7atd=*_pool3256" 3l8ss="li7e" nnvo78kfsrodevL3hnL290/ef="drivers/ba7e/core.c#7251" idc32eo/afor_e3_HEADsref><32= remov_booe3_HE>c32s/ba6e8core.fdrmat_hrertlass=/a>); <291ocu9v81o/a= lo/a> = of hns_+=vo78kfsrodevL3h id"v8v3256" 3l8ss="li7e"ve3s/ba6e8core.c#6318" id8vL290ef="drivers/ba7e/core.c#7251" idc32=dev" cla3"drive3s/ba7e/core.c#724a3"dr>c32la78kruct< hrf="drive3s/ba7e/core.c#7266" id8c32dto_derro3f>dto_derrota href="drivo3f>d>c32ULL="+code=dev82commevo/a>(oahf="drdrivL11013><291ocu9v81o/aef="drivers/ba7e/core.c#7251" idc338vL311" c3ss="li7e" na711 c33ev323f="drive3s/ba7e/core.c#7266" id8c33vL292" cl3s="li7e" na70"vL31c331a href="drivers/ba1oo/ac clc9eate ar3so/a>syma73p;virtual_ass"+code=remo73p;v>c33re.c#f()"willversagree"dbou9v8nto/a>(vent_vant">/**<9span 96ccccccccc3s"v3254" 33ss="li7e" na754vL39c33325" cl8ss="li7e" na73"vL391">driass=3s/_ve3nns_ - pathuof"drivrednns_ filbsro/a>(vent_vant">/**<9span 96ccccccccc3s4sre"Bect3a>); env8/a>9; 7"><28drivresro/a>(vent_vant">/**<9span 96ccccccccc3svL296" cl3 c#7255" id8vL280" cl8ssl3 c#>c33selcklset/bas7hre/*ers/basef="@mode:"v82comL29filb access modesro/a>(vent_vant">/**<9span 96ccccccccc3sirtual_as33LLe_shfv8" id9v3292" cl93s=">c338v3232" 338ss="li7e" na73"vL29@uid:"v82comL29filb own"vL2o/a>(vent_vant">/**<9span 96ccccccccc3seo/afor_e3>); <388o/9,8 7gid:"v82comL29filb group <32= ra3viT>c33char/="drihrefe.c#ies.  Sett 1@tmp28possibly c#6ocatdd enva75 (oa h i><32= remov_booo3a>(>c33.c#f="rom be te cev" cd.  c9; c34ev3232" 338ss="li7e" na73"vL29R82commL29 " lative pathuof"a8possible"drivrednns_8 ); 239" 8Non-default= ">gs may9  39 ="2c#6ocatd"a8memory ="2"drposesro/a>(vent_vant">/**<9span 96ccccccccc34o/a>syma73ref">dev id8vL299" cl8ss73ref>c34re.c#f()"willversagree"dbouf="a8" cl.>T3261memory 261="2comL29in tmp 23de  39s ="2besro/a>(vent_vant">/**<9span 96ccccccccc34"v3254" 33" 338ss="li7e" na73"vL2933" 3>c34325" cl8ss="li7e" na73"vL391">ideed by><281cc#6er8 <32= delew_boof3ode>c34s="li7e" na75s="s9">env8/a>9;87a hreef="drive3s/ba6e9core.9#6318"te"c34vL296" cl3ss="li7e" na711 c34selckcond8 5har" cl8ss="li7e" na79"ass=3s/_ve3nns_6 id1014><291o/1veass=3s/_ve3nns_3256"envo/a>); <291ocu9v81o/a"     (void (d)(9a hef9>dto_devo134s2"dri_= 3s="li7e" na78"vL391"><38s3s=">c34LLe_shfv8" idchildren8core.fdrmat_hrertlass=/a>); fventnt" umode_lL290" cl8ss="li7e" namns_6 id1014><291o/mns_3256"  id8v3256" 3l8skuid_leref">fventnt" kuid_lL290" cl8ss="li7e" nauideref">fventnt" uid3256"  id8v3256" 3l8skgid_leref">fventnt" kgid_lL290" cl8ss="li7e" nagideref">fventnt" gid3256"     (void (d)(9a hef9>dto_devo134eo/afor_e3cifyea=">fc#7239" id8v32e3cif>c34s/ba6e8core.fdrmat_hrrrrrrrrrrrrrrrrcond8 5har"  cl8ss="li7e" natmperef">fventnt" cmp1o/a>(structc34char//kfreeo/a>(oa hvir10189>101e_attr3ddto_derro3/basef="d*i@ei9: s="sre"o3/ba>c34ULL="+code=de5har" cl8ss="li7e" naref">deviceo/a> s1o/aef="drivers/ba7e/core.c#7251" idc358vL311" c3/basef="d*i@fmt:="drmat c3/ba>c35oLe_s="drive3s/ba7e/core.c#7266" id8c35vL292" cl3/basef="d*c#7239" id8v32l3/ba>c351/ba6e8core.f cl8ss="li7e" natmperef">fventnt" cmp1o/a= lo/a> = of hns_+na772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc35o/a>syma73a_pooler_setuf="drive3s/73a_p>c35     f="drivers/ba7e/core.c#7251" idc35"v3254" 33ss="li7e" na754vL396"><333ss=>c35sref">GLOBAL_ce" na73"vL295"><285ou9v6L29 drivredtype may9provide a specificL396"9;87a hreef="drive3s/ba6e9core.9#6318"te"c35 clvo78kf3odevL326"va_sfsrodesrefef3ode>c35+coderef"ef">dto_evo/a>(oahf="dr"+code=dev" class="sref">dto_devo/a_ro.fventnt" cypecoderd   ld   llo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6etypeeref">fventnt" cypecode8v3256" 3l8ss="li7e"ve3nns_6 id1014><291o/1venns_sre"=f="drive3s/ba6e9core.9#6318"te"c35vL296" cl3to_derrota href=rive3s/bl3to_>c3/e5core.c#7255e8core.f cl8ss="li7e" natmperef">fventnt" cmp1o/a= lo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6etypeeref">fventnt" cypecode8v3256" 3l8ss="li7e"ve3nns_6 id1014><291o/1venns_sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> mns_6 id1014><291o/mns_3256"  id8v3256" 3l8suideref">fventnt" uid3256"  id8v3256" 3l8sgideref">fventnt" gid3256/ef="drivers/ba7e/core.c#7251" idc35s2"dri_= 3s="li7e" na78"vL391"><38s3s=">c35LLe_shfv8" id9v32 cl8ss="li7e" natmperef">fventnt" cmp1o/a>(structc35s/ba6e8core.fdrmat_hrv82comm cl8ss="li7e" natmperef">fventnt" cmp1o/aef="drivers/ba7e/core.c#7251" idc35=dev" cla3errota href=rive3s/ba7e5a3err>c35          (void (d)(9a hri97trierrotc35dto_derro3a>(oa h iva_251odesrefe"o3a>(>c359ref">GLOBAL_ce" na73"vL295"><285ou9v6L29 73"vL may9provide a specificL396"9;87a hreef="drive3s/ba6e9core.9#6318"te"c368vL311" c3f>dto_derrota href=rive3c3f>d>c36oLe_shfv8" id9v3292" cl9ss="li6eivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e/ba7ers/ba7e/core.c#/ba7ecoderd   ld   llo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e/ba7ers/ba7e/core.c#/ba7ecode8v3256" 3l8ss="li7e"ve3nns_6 id1014><291o/1venns_sre"=f="drive3s/ba6e9core.9#6318"te"c36vL292" cl3ss="li7e" na78"vL392"><3l3ss=>c361/ba6e8core.fdrmat_hr cl8ss="li7e" natmperef">fventnt" cmp1o/a= lo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6e/ba7ers/ba7e/core.c#/ba7ecode8v3256" 3l8ss="li7e"ve3nns_6 id1014><291o/1venns_sre">00" cl9ss="li7eivers/ba7e/core.c#7283" i" is_not_s="+(a> mns_6 id1014><291o/mns_3256/ef="drivers/ba7e/core.c#7251" idc36o/a>syma73rEXPORT_SYMBOL_GPrive3s/73rEX>c36clNULLe_shfvs9v32 cl8ss="li7e" natmperef">fventnt" cmp1o/a>(struct<3833s=">c36sref">GLOBAL_drmat_hrv82comm cl8ss="li7e" natmperef">fventnt" cmp1o/aef="drivers/ba7e/core.c#7251" idc36 clvo78kf3 a ;fc#7239" id8v32f3 a >c36ual_a="drive3s/ba7e/core.c#7266" id8c36vL296" cl3/basef="d* s="sre_to_hrel3/ba>c36e5core.c#72550e" na73"vL295"><285ou9v6ss2comm396"9without2c#6ocatd8v, tmp == v8nt9;87a hreef="drive3s/ba6e9core.9#6318"te"c36s2"dri_= 3/basef="d*i@ei9: s="sre"s3/ba>c36LLe_shfv8" id9v3292" cl9ss="li6eenvchv6 id1014><291o/envchvsre">00" cl9ss="li7eive_ode=vL11013><291ocu9v8_ode=sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/"  _hrere.c#f()enva75">'!'7a hree) == o/a> = of hns_+na772vL285"><285ouev8nto/a>>(structc36s/ba6e8core.fdrmat_hrv82commevo/a>(oahf="drdri_ode=vL11013><291ocu9v8_ode=sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/ef="drivers/ba7e/core.c#7251" idc36=dev" cla3/basef="d*iByteir ">dtwea3/ba>c36          (void (d)(9a hri97trierrotc36dto_derro3/basef="d*ito .c#7ers/bao3/ba>c369ref">GLOBAL_ce" na73"vL295"><285ou9v6replared'!'9in t3em396"9withd'/'9;87a hreef="drive3s/ba6e9core.9#6318"te"c378vL311" c3/basef="d*ibe sets(ryealc3/ba>c3/bLL="+code=de cl8ss="li7e" natmperef">fventnt" cmp1o/a= lo/a> = of hns_+kenvduperef">fventnt" kenvdupsre">00" cl9ss="li7eive_ode=vL11013><291ocu9v8_ode=sre"> 3l8ss="li7e" na756 id1014><291o/10189lo/"  3l8ss="li7e" nGFP_KERNE72vL285"><285oueGFP_KERNE789lo/ef="drivers/ba7e/core.c#7251" idc37vL292" cl3/basef="d* o"drrwis3 s="l3/ba>c3/re.c#7255" idto_d! cl8ss="li7e" natmperef">fventnt" cmp1o/a>(structsyma73 wefuncti* s="sre_remov_73 we>c37clNULLe_shfvst_childrv82commevo/a>(oahf="drna772vL285"><285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc37"v3254" 33ppr-">dto*="drioolac#72333ppr>c37sref">GLOBAL_whilb (292" cl9ss="li6eeef">deviceo/a> s1o/a= lo/a> = of hns_+envchv6 id1014><291o/envchvsre"> cl8ss="li7e" natmperef">fventnt" cmp1o/a"  _hrere.c#f()enva75">'!'7a hree))>(structc37ual_ass="srpav" csadd_gefsadd="+cklieef">deviceo/a> s1o/a[0]= lo_hrere.c#f()enva75">'/'7a hreeef="drivers/ba7e/core.c#7251" idc37vL296" cl3"+code=dev" classr6sysfsl3"+c>c3/e5core.c#7255v82comm cl8ss="li7e" natmperef">fventnt" cmp1o/aef="drivers/ba7e/core.c#7251" idc37irtual_as3ss="li7e" na754vL39w_boos3ss=>c37LLe_sf="drive3s/ba7e/core.c#7266" id8c37eo/afor_e3f">deviceo/a> *oa href="e3f">>c37s/ba6="drive3s/ba7e/core.c#7266" id8c37=dev" cla3s="li7e" na78"vL295"><28a3s=">c37char/="drihrefe.c#ies.  Set9v8nto/a>(vent_vant">/**<9span 96ccccccccc37dto_derro3to_derrota hrd"v="+code=o3to_>c37.c#f="rom be te cev" cd.  cccc1veass=id8_eachschild -edeivredchild i3"vator8  drivre8 c38 clbas_hrere.c#f()"dri">239" 87fn:1funcid8v_="2be cc#6e8 29}feach>drivre8 syma73srodevL326"><32">LL="+co73sro>c38re.c#f()"willversagree"dbouf="@data: data 29}f<281ccllback8 <3833s=">c38325" cl8ss="li7e" na73"vL391"  = ef="drive3f3gid>c38s="li7e" na75s="s9">env8/a>9; I3"vate o_a997*_pool'sdchild drivres, 23decc#687fn 29}feach, <3l3ss=>c38selcklset/bas7hre/*ers/basef="p"vLa75sit"@data8 dev" e3sym>c38="li7e" na73"vL295"><388o/9,8 WedcheckmL29 " 2commof87fn each>ticl.>If9i8"v82coms 232thing <2a3ss=>c38char/="drihrefe.c#ies.  Sett 1oL29r thrih0, w9 break out2c3de" 2commL2at value8 deviceo/a> *oa href="o3f">>c38.c#f="rom be te cev" cd.  ccc87a hreef="drive3s/ba6e9core.9#6318"te"c398vL311" c3to_derrota href="drive3sc3to_>c39="st_e.265" " cdev"inicc#flass=id8_eachschild6 id1014><291o/1veass=id8_eachschild3256"envo/a>); fventnt" clos_not_s, voidd cl8ss="li7e" na7ataa6e8core.c#6318"ata3256"     (void (d)(9a hef9>dto_devo139vL292" cl3a>); ); <291ocu9v81o/a" voidd cl8ss="li7e" na7ataa6e8core.c#6318"ata3256)>(structsyma73s="li6e" na69"vL39c39re.c#/kfreeo/a>(oa hvir10189>101e_attr39"v3254" 337o/a> i3"v6 id1014><291o/tt8/a>i3"vL290"); ); ); <291o/child3256ef="drivers/ba7e/core.c#7251" idc39vL296" cl3nd dto_derrota href="dril3nd >c395al_ass="srpae.265" " cdev"iniccerrov6 id1014><291o/errov1o/a= l0ef="drivers/ba7e/core.c#7251" idc39irtual_as3311" cl8ss="li7e" na711 s3311>c39a href="drivers/ba7e9core.9#7318"" cc39eo/afor_e3s="li7e" na75"vL398"><28e3s=">c39va_stss=>envoto_d!cl8ss="li7e" na*_pooleref">fventnt" clos_not_se ">gid   lo/a> = of=vo78kfsrodevL3h id"v>(structdto_derrota href="driva3f>d>c39la78kruct< href="+cod" 2comm0ef="drivers/ba7e/core.c#7251" idc39dto_derro3ss="li7e" na711 c39.c#f=>(struct<<<<<<<<<10189>101ef="dr4/pre>i3"v=inic6 id1014><291o/tt8/a>i3"v=inic3256"d   lo/a> = or href=*_pooleref">fventnt" clos_not_se ">gid   lo/a> = of=vo78kfsrodevL3h id"vdto_devo/a_ro.childos_6 id1014><291o/tt8/a>childos_1o/a" d   lo/a> = or href=ivo78kfsrodevL3he1o/a>a>(struct<<<<<<<<<10189>101ef="dr4claddnt" c4ap;virtual_ass"+code=remo4_bbas401/ba6e8core.fwhilb (292" cl9ss="li6echild6 id1014><291o/child3256= lo/a> = of hns_+nex6ow9v82lvo78kfsrodevL3hnex6ow9v82l3256"d   lo/a> = or href=ivo78kfsrodevL3he1o/a>)rd   ld   ll!cl8ss="li7e" naerrov6 id1014><291o/errov1o/a>(struct<491o/140clNULLe_shfvst_children_gefsad+code=errov6 id1014><291o/errov1o/a= lcl8ss="li7e" nafnvo78kfsrodevL3hfnL290292" cl9ss="li6echild6 id1014><291o/child3256"  id8v3256" 3l8ssataa6e8core.c#6318"ata3256)a>(struct<<<<<<<<<10189>101ef="dr4c3v3254" 34ao/a> GLOBAL_cl8ss="li7e" natt8/a>i3"v=exic6 id1014><291o/tt8/a>i3"v=exic3256"d   lo/a> = or href=ivo78kfsrodevL3he1o/a>a>(struct<<<<<<<<<10189>101ef="dr4c4v3254" 34aeta>); (oahf="drerrov6 id1014><291o/errov1o/aa>(struct<<<<<<<<<10189>101ef="dr4c5v3254" 34ad dto_derrota href="dril41o/1040selckf="drive3s/ba7e/core.c#7266" id8c486L296" cl4s11" cl8ss="li7e" na711 s4v" cl40a href="drivers/ba7e9core.9#7318"" cc4v7rtual_as46="li7e" na75"vL398"><28e4rertv40="li7e" na73"vL295"><388o/99v8nto/a>(vent_vant">/**<9span 96ccccccccc4v8rtual_as46>dto_derrota href="driva4mov_b40char/="drihrefe.c#ies.  Sett 11veass=iindschild -edeivredi3"vator 29}f6ocatd75sa vloticular>drivre8 drivre <491ovo41ev3232" 338ss="li7e" na73"vL29@match: Ccllback1funcid8v_="2checkmdrivre <241oo/a41 clbas_hrere.c#f()"dri">239" "@data: Data to"p"vL to"match1funcid8v <491oow41325" cl8ss="li7e" na73"vL391">T3261is>similar>*e L29 drivre=id8_eachschild()1funcid8v_ab"sr, but"itsra hrructenv8/a>9; v82coms 2 " "vL8/a>_*e a drivredt2at is>'foun9'929}f6a3"v use,"a6 <281@match1ccllback8 dte4E__vi41="li7e" na73"vL295"><388o/9,8 T281ccllback1should " 2comm0oto_L29 drivreddoesn't"match123de on-zero _*e L29 <281cc#6er c42 clbas_hrere.c#f()"dri">239"  _withdv86ow9v82l(= af3"v use8 c42325" cl8ss="li7e" na73"vL391"87a hreef="drive3s/ba6e9core.9#6318"te"c424sre"Bect4odevL326"><32= remov_boof4ode>c42ual_aenvo/a>); <291o/1veass=iindschild3256"envo/a>); fventnt" clos_not_s, voidd cl8ss="li7e" na7ataa6e8core.c#6318"ata3256"     (void (d)(9a hef9>dto_devo14svL296" cl4s="li6e" na69"vL39c42e5core.c#7255e8core.frmat_hrrrrrrrrrrre.26> cl8ss="li7e" namatch6 id1014><291o/matchL290/"envo/a>); <291ocu9v81o/a" voidd cl8ss="li7e" na7ataa6e8core.c#6318"ata3256)>(structc42LLe_s/kfreeo/a>(oa hvir10189>101e_attr42eo/afor_e4_HEADsref><32= remov_booe4_HE>c42s/ba6e8core.fenvo/a>); <291o/tt8/a>i3"vL290"); c42la78kruct< hrenvo/a>); <291o/child3256ef="drivers/ba7e/core.c#7251" idc42dto_derro4f>dto_derrota href="drivo4f>d>c42.c#f=>(struct<<<<<<<<<10189>101ef="dr438vL311" c4ss="li7e" na711 c43oLe_shfv8" id9v32!cl8ss="li7e" na*_pooleref">fventnt" clos_not_s>(struct<285ouev8nto/a>ef="drivers/ba7e/core.c#7251" idc4so/a>syma74p;virtual_ass"+code=remo74p;v>c43     f="drivers/ba7e/core.c#7251" idc4s"v3254" 34ss="li7e" na754vL39c43sref">GLOBAL_cl8ss="li7e" natt8/a>i3"v=inic6 id1014><291o/tt8/a>i3"v=inic3256"d   lo/a> = or href=*_pooleref">fventnt" clos_not_se ">gid   lo/a> = of=vo78kfsrodevL3h id"vdto_devo/a_ro.childos_6 id1014><291o/tt8/a>childos_1o/a" d   lo/a> = or href=ivo78kfsrodevL3he1o/a>a>(struct<<<<<<);  = or href=ivo78kfsrodevL3he1o/a>)>(structc43e5core.c#7255e8core.f9v3292" cl9ss="li6ematch6 id1014><291o/matchL290292" cl9ss="li6echild6 id1014><291o/child3256"  id8v3256" 3l8ssataa6e8core.c#6318"ata3256)rd   ld   llo/a> = of hns_+3s/_ve382lvo78kfsrodevL3h3s/_ve382lL290292" cl9ss="li6echild6 id1014><291o/child3256)>(struct(struct<<<<<<); <291o/tt8/a>i3"v=exic3256"d   lo/a> = or href=ivo78kfsrodevL3he1o/a>a>(struct<<<<<<<<<10189>101ef="dr43=dev" cla4viT_LIST_HEADsref><32= ra4viT>c43la78kruct< hrv82commevo/a>(oahf="drchild6 id1014><291o/child3256ef="drivers/ba7e/core.c#7251" idc43dto_derro4a>(oa h i><32= remov_booo4a>(>c43_251>f="drive3s/ba7e/core.c#7266" id8c448vL311" c4device39;t seBLOCK h3ef=c4dev>c44oLe_s="drive3s/ba7e/core.c#7266" id8c44vL292" cl4>); <291o/_=inic3256>); (structsyma74ref">dev id8vL299" cl8ss74ref>c44re.c#/kfreeo/a>(oa hvir10189>101e_attr44"v3254" 34" 338ss="li7e" na73"vL2934" 3>c44sref">GLOBAL_cl8ss="li7e" na#e3s/bs=ksec6 id1014><291o/ve3s/bs=ksec3256= lo/a> = of hns_+ksec_create_a3d_add6 id1014><291o/ksec_create_a3d_addL29029_hrere.c#f()enva75">"" id8vs"7a hree" d   lo/a> = or href="+cass=ue.c# _opref">deviceo/a> *oa hreue.c# _opr3256"  id8v3256" 3l8sna772vL285"><285ouev8nto/a>>ef="drivers/ba7e/core.c#7251" idc444sre"Bect4odevL326"><32= delew_boof4ode>c44+coderef"ef">dto_!cl8ss="li7e" na#e3s/bs=ksec6 id1014><291o/ve3s/bs=ksec3256>(structc44e5core.c#7255e8core.fv82comm-cl8ss="li7e" naENOMEM6 id1014><291o/ENOMEM3256ef="drivers/ba7e/core.c#7251" idc44s2"dri_= 4s="li7e" na78"vL391"><38s4s=">c44LLe_shfv8" idevo/a_ro. = of hns_+khfvst_=create_a3d_add6 id1014><291o/khfvst_=create_a3d_addL29029_hrere.c#f()enva75">"" i"7a hree"  id8v3256" 3l8sna772vL285"><285ouev8nto/a>>ef="drivers/ba7e/core.c#7251" idc44eo/afor_e4cifyea=">fc#7239" id8v32e4cif>c44va_stss=>envoto_d!cl8ss="li7e" na9v8_cve3s/ba6e8core.c#69v8_cve33256>(structc44la78kruct< href="+codgotodevo/a_ro.<291o/1ve_cve3_erv3256ef="drivers/ba7e/core.c#7251" idc44dto_derro4/basef="d*i@ei9: s="sre"o4/ba>c44ULL="+code=deevo/a_ro. = of hns_+khfvst_=create_a3d_add6 id1014><291o/khfvst_=create_a3d_addL29029_hrere.c#f()enva75">"block"7a hree"  id8v3256" 3l8ss="_cve3s/ba6e8core.c#69v8_cve33256>ef="drivers/ba7e/core.c#7251" idc458vL311" c4/basef="d*i@fmt:="drmat c4/ba>c45oLe_shfv8" id9v32!cl8ss="li7e" nasysfev" clblock_cve3s/ba6e8core.c#6sysfev" clblock_cve33256>(structc451/ba6e8core.fdrmat_hrgotodevo/a_ro.<291o/block_cve3_erv3256ef="drivers/ba7e/core.c#7251" idc45o/a>syma74a_pooler_setuf="drive3s/74a_p>c452LL="+code=deevo/a_ro. = of hns_+khfvst_=create_a3d_add6 id1014><291o/khfvst_=create_a3d_addL29029_hrere.c#f()enva75">"5har"7a hree"  id8v3256" 3l8ss="_cve3s/ba6e8core.c#69v8_cve33256>ef="drivers/ba7e/core.c#7251" idc45"v3254" 34ss="li7e" na754vL396"><334ss=>c45LLe_shfv8" id9v32!cl8ss="li7e" nasysfev" cl5har_cve3s/ba6e8core.c#6sysfev" cl5har_cve33256>(structc45+coderef"ef">drmat_hrgotodevo/a_ro.<291o/5har_cve3_erv3256ef="drivers/ba7e/core.c#7251" idc45vL296" cl4to_derrota href=rive3s/bl4to_>c4/e5corf="drivers/ba7e/core.c#7251" idc45s2"dri_= 4s="li7e" na78"vL391"><38s4s=">c45LLe_shfv8" id" 2comm0ef="drivers/ba7e/core.c#7251" idc45eo/afor_e4_HEADsrefva_stss=odesrefe4_HE>c45s/ba6="drive3s/ba7e/core.c#7266" id8c45=dev" cla4errota href=rive3s/ba7e5a4err>c45     devo/a_ro.<291o/5har_cve3_erv3256:="drive3s/ba7e/core.c#7266" id8c45dto_derro4a>(oa h iva_251odesrefe"o4a>(>c45ULL="+code=deevo/a_ro.ef="drivers/ba7e/core.c#7251" idc468vL311" c4f>dto_derrota href=rive3c4f>d>c46oLe_shevo/a_ro.<291o/block_cve3_erv3256:="drive3s/ba7e/core.c#7266" id8c46vL292" cl4ss="li7e" na78"vL392"><3l4ss=>c461/ba6e8core.fevo/a_ro.ef="drivers/ba7e/core.c#7251" idc46o/a>syma74rEXPORT_SYMBOL_GPrive3s/74rEX>c46clNULLevo/a_ro.<291o/1ve_cve3_erv3256:="drive3s/ba7e/core.c#7266" id8c46"v3254" 34s="li7e" na784vL396"><3834s=">c46sref">GLOBAL_cl8ss="li7e" natsec_un="na73"v6 id1014><291o/tsec_un="na73"vL290292" cl9ss="li6es="s/bs=ksec6 id1014><291o/ve3s/bs=ksec3256>ef="drivers/ba7e/core.c#7251" idc464sre"Bect4 a ;fc#7239" id8v32f4 a >c46ual_ass="srpav82comm-cl8ss="li7e" naENOMEM6 id1014><291o/ENOMEM3256ef="drivers/ba7e/core.c#7251" idc46vL296" cl4/basef="d* s="sre_to_hrel4/ba>c46selckf="drive3s/ba7e/core.c#7266" id8c46s2"dri_= 4/basef="d*i@ei9: s="sre"s4/ba>c46a href="drivers/ba7e9core.9#7318"" cc46eo/afor_e4cifyea=" c#7239" id8v323e4cif>c46s/ba6cl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=id8_eachschild6 id1014><291o/1veass=id8_eachschild3256>ef="drivers/ba7e/core.c#7251" idc46=dev" cla4/basef="d*iByteir ">dtwea4/ba>c46     cl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=iindschild6 id1014><291o/1veass=iindschild3256>ef="drivers/ba7e/core.c#7251" idc46dto_derro4/basef="d*ito .c#7ers/bao4/ba>c46.c#f=>(struct<<<<<<<<<10189>101ef="dr478vL311" c4/basef="d*ibe sets(ryealc4/ba>c4/bLL="cl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=inicializba6e8core.c#6318" id8v=inicializb3256>ef="drivers/ba7e/core.c#7251" idc47vL292" cl4/basef="d* o"drrwis3 s="l4/ba>c4/re.c#cl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=add6 id1014><291o/s="s/b=add3256>ef="drivers/ba7e/core.c#7251" idc47o/a>syma74 wefuncti* s="sre_remov_74 we>c47clNULcl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=="na73"v6 id1014><291o/1veass=="na73"vL290>ef="drivers/ba7e/core.c#7251" idc47"v3254" 34ppr-">dto*="drioolac#72334ppr>c47sref"f="drivers/ba7e/core.c#7251" idc474sre"Bect4 a ;c47ual_acl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=dela6e8core.c#6318" id8v=delsre">ef="drivers/ba7e/core.c#7251" idc47vL296" cl4"+code=dev" classr6sysfsl4"+c>c4/e5corcl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=un="na73"v6 id1014><291o/1veass=un="na73"v3256>ef="drivers/ba7e/core.c#7251" idc47s2"dri_= 4ss="li7e" na754vL39w_boos4ss=>c47LLe_scl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6e3s/_ve382lvo78kfsrodevL3h3s/_ve382lL290>ef="drivers/ba7e/core.c#7251" idc47eo/afor_e4f">deviceo/a> *oa href="e4f">>c47s/ba6cl8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6ev86ow9v82lvo78kfsrodevL3h u/_ve3s/b3256>ef="drivers/ba7e/core.c#7251" idc47=dev" cla4s="li7e" na78"vL295"><28a4s=">c47          (void (d)(9a hri97trierrotc47dto_derro4to_derrota hrd"v="+code=o4to_>c47.c#f="l8ss="li7e" naEXPORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=create_filb6 id1014><291o/1veass=create_filb3256>ef="drivers/ba7e/core.c#7251" idc488vL311" c4YS.67o/a> <285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=ss="sr_filb6 id1014><291o/1veass=ss="sr_filb3256>ef="drivers/ba7e/core.c#7251" idc48vL292" cl48v3231" 338ss="li7e" na7l48v3>c481a href="drivers/ba1oo/ac clc9eate ar48o/a>syma74srodevL326"><32">LL="+co74sro>c48re.c#statica92" cl9ss="li6eDEFINE_MUTEX6 id1014><291o/DEFINE_MUTEXL290292" cl9ss="li6es="s/b=hotplug_lock6 id1014><291o/1veass=hotplug_lock3256>ef="drivers/ba7e/core.c#7251" idc48"v3254" 34s="li7e" na784vL396"><3834s=">c48sref"f="drivers/ba7e/core.c#7251" idc48 clvo78kf4gid   lo/a> = ef="drive3f4gid>c48s="livoidd_gefsadd="+cklilock_1veass=hotplug6 id1014><291o/lock_1veass=hotplug3256"void>(struct<3l4ss=>c48selck/kfreeo/a>(oa hvir10189>101e_attr48irtual_as4s="li7e" na78"vL39}fven8s4s=">c48LLe_shfv8" idevo/a_ro.<291o/mutex_lock3256"d   lo/a> = or href=s="s/b=hotplug_lock6 id1014><291o/1veass=hotplug_lock3256>ef="drivers/ba7e/core.c#7251" idc48eo/afor_e4syma78ka_pooleref">dev" e4sym>c48s/ba6f="drive3s/ba7e/core.c#7266" id8c48=dev" cla4ss="li7e" na754vL39w_><2a4ss=>c48          (void (d)(9a hri97trierrotc48dto_derro4f">deviceo/a> *oa href="o4f">>c48.c#f=voidd_gefsadd="+ckliunlock_1veass=hotplug6 id1014><291o/unlock_1veass=hotplug3256"void>(struct(oa hvir10189>101e_attr49vL292" cl4a>);  = or href=s="s/b=hotplug_lock6 id1014><291o/1veass=hotplug_lock3256>ef="drivers/ba7e/core.c#7251" idc49o/a>syma74s="li6e" na69"vL39c49re.c#f="drive3s/ba7e/core.c#7266" id8c49"v3254" 347o/a> ); <291o/1veass=check_offhrhf3256"envo/a>); <291ocu9v81o/a" voidd cl8ss="li7e" nanot_used6 id1014><291o/not_used3256>(structc49LLe_shfv8" id9.265" " cdev"iniccrec6 id1014><291o/rec3256ef="drivers/ba7e/core.c#7251" idc49eo/afor_e4s="li7e" na75"vL398"><28e4s=">c49s/ba6="drive3s/ba7e/core.c#7266" id8c49=dev" cla4f>dto_derrota href="driva4f>d>c49la78kruct< hr5" " cdev"iniccrec6 id1014><291o/rec3256= lo/a> = of hns_+iveass=id8_eachschild6 id1014><291o/1veass=id8_eachschild3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a"  id8v3256" 3l8sna772vL285"><285ouev8nto/a>"  id8v3256" 3l8ss="ass=check_offhrhf="id1014><291o/1veass=check_offhrhf3256>ef="drivers/ba7e/core.c#7251" idc49dto_derro4ss="li7e" na711 c49ULL="+code=de9v3292" cl9ss="li6erec6 id1014><291o/rec3256>(struct<291o/rec3256ef="drivers/ba7e/core.c#7251" idc5claddnt" c5ap;virtual_ass"+code=remo5_bbas501a href="drivers/ba1oo/ac clc9eate ar5d"v3254" 35ass="li7e" na754vL31013><591o/150clNULLe_shfvsv82commevo/a>(oahf="drdriass=supports_offhrhf="id1014><291o/1veass=supports_offhrhf3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a)rd   ld   ll!cl8ss="li7e" na79"vL11013><291ocu9v81o/adto_devo/a_ro.<291o/offhrhf3256 ?m-cl8ss="li7e" naEBUSY2vL285"><285oueEBUSY3256 :m0ef="drivers/ba7e/core.c#7251" idc5c3v3254" 35ao/a> ); /**<9span 96ccccccccc586L296" cl5s11" cl8ss="li7e" na711 s5v" cl508v3232" 338ss="li7e" na73"vL291veass=offhrhf - Preclos_L29 drivred29}fhot-ss="sal8 <28e5rertv50="li7e" na73"vL295"><388o/99; 7"><28Drivredt"2be put offhrhf8 dto_derrota href="driva5mov_b50char/="drihrefe.c#ies.  Sett  <591ovo51ev3232" 338ss="li7e" na73"vL29L29 drivred29}fa subsequoolfhot-ss="sal8  If"that succ 39s,9L29 drivredmustsra hrruct<251oo/a51 clbas_hrere.c#f()"dri">239" " otdbe used until eiL29r it 261="="srd or itsdbusdtype'sd.onhrhf()1ccllbacksra hrruct<591oow51325" cl8ss="li7e" na73"vL391" env8/a>9; Ccll under>drivre=hotplug_lock8 <291o/1veass=offhrhf3256"envo/a>); <291ocu9v81o/a>(structdte5E__vi51="li7/kfreeo/a>(oa hvir10189>101e_attr5d8rtual_as5to_derrota hrhf="driversa5to_vi51la78kruct< hr9.265" " cdev"iniccrec6 id1014><291o/rec3256ef="drivers/ba7e/core.c#7251" idc5d9rtual_as5rsldren_pufouc521/ba6e8core.fdrmat_hrv82comm-cl8ss="li7e" naEPERM6 id1014><291o/EPERM3256ef="drivers/ba7e/core.c#7251" idc52"v3254" 35s="li6e" na69"vL39c52     f="drivers/ba7e/core.c#7251" idc52"v3254" 35"dri_href="+code=dev" cl35"dr>c52sref">GLOBAL_cl8ss="li7e" narec6 id1014><291o/rec3256= lo/a> = of hns_+iveass=id8_eachschild6 id1014><291o/1veass=id8_eachschild3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a"  id8v3256" 3l8sna772vL285"><285ouev8nto/a>"  id8v3256" 3l8ss="ass=check_offhrhf="id1014><291o/1veass=check_offhrhf3256>ef="drivers/ba7e/core.c#7251" idc524sre"Bect5odevL326"><32= remov_boof5ode>c52+coderef"ef">dto_evo/a>(oahf="drrec6 id1014><291o/rec3256>(struct<291o/rec3256ef="drivers/ba7e/core.c#7251" idc52irtual_as5"dri_= efcode=retval" cls5"dr>c52a href="drivers/ba7e9core.9#7318"" cc52eo/afor_e5_HEADsref><32= remov_booe5_HE>c52va_stss=>envo/a>); <291o/1veass=lock3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc528rtual_as5"drive3s/ba7e/core.c#724a5"dr>c52la78kruct< hr9v3292" cl9ss="li6eiveass=supports_offhrhf="id1014><291o/1veass=supports_offhrhf3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a)) /kfreeo/a>(oa hvir10189>101e_attr52dto_derro5f>dto_derrota href="drivo5f>d>c5295core.c#7255e8core.f9v3292" cl9ss="li6eivers/ba7e/core.c#7283" id8vL284" cl8ss="li6eoffhrhf="id1014><291o/offhrhf3256) /kfreeo/a>(oa hvir10189>101e_attr538vL311" c5ss="li7e" na711 c53="st_childrenss="srpa>GLOBAL_cl8ss="li7e" narec6 id1014><291o/rec3256= l1ef="drivers/ba7e/core.c#7251" idc53vL292" cl5s="li7e" na70"vL31c531/ba6e8core.fdrmat_hr} else /kfreeo/a>(oa hvir10189>101e_attr53"v3254" 35p;virtual_ass"+code=remo75p;v>c53clNULLe_shfvst_childr>GLOBAL_cl8ss="li7e" narec6 id1014><291o/rec3256= lo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6ebusrs/ba7e/core.c#bus3" id8vL284" cl8ss="li6eoffhrhf="id1014><291o/offhrhf3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc5s"v3254" 35ss="li7e" na754vL39c53sref">GLOBAL_drmat_hre8core.f9v32!cl8ss="li7e" narec6 id1014><291o/rec3256> /kfreeo/a>(oa hvir10189>101e_attr534sre"Bect5a>); drmat_hrt_childr>GLOBAL_cl8ss="li7e" nashfvst_=ue.c# 6 id1014><291o/shfvst_=ue.c# 3256"d   lo/a> = or href=s="rs/ba7e/core.c#7283" id8vL284" cl8ss="li6ecve3s/ba6e8core.c#6cve33256"  id8v3256" 3l8sKOBJ_OFFLINEs/ba6e8core.c#6KOBJ_OFFLINE1o/a>ef="drivers/ba7e/core.c#7251" idc5svL296" cl5 c#7255" id8vL280" cl8ssl5 c#>c53e5core.c#7255e8core.ft_childr>GLOBAL_cl8ss="li7e" na79"vL11013><291ocu9v81o/adto_devo/a_ro.<291o/offhrhf3256  lo/a> = of hns_+nvof="id1014><291o/nvof3256ef="drivers/ba7e/core.c#7251" idc53irtual_as53LLe_shfv8" id9v3292" cl95s=">c53LLe_shfv8" idchildren8core.fdf="drive3s/ba7e/core.c#7266" id8c5seo/afor_e5>); <32= ra5viT>c53la78kruct< hrf="drive3s/ba7e/core.c#7266" id8c5sdto_derro5a>(oa h i><32= remov_booo5a>(>c53ULL="+code=deevo/a_ro.<291o/1veass=unlock3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc548vL311" c5device39;t seBLOCK h3ef=c5dev>c54oLe_s="drive3s/ba7e/core.c#7266" id8c54vL292" cl5>); <291o/rec3256ef="drivers/ba7e/core.c#7251" idc54o/a>syma75ref">dev id8vL299" cl8ss75ref>c54re.c#f="drive3s/ba7e/core.c#7266" id8c54"v3254" 35" 338ss="li7e" na73"vL2935" 3>c54sref"f="drivers/ba7e/core.c#7251" idc544sre"Bect5odevL326"><32= delew_boof5ode>c54s="li7e" na75s="s9">env8/a>9v8nto/a>(vent_vant">/**<9span 96ccccccccc54vL296" cl5ss="li7e" na711 c54selcklset/bas7hre/*ers/basef="deeass=onhrhf - Put_L29 drivredback1onhrhf af3"v succ ssful91veass=offhrhf()8 <38s5s=">c548v3232" 338ss="li7e" na73"vL297"><28Drivredt"2be put back1onhrhf8 c54="li7e" na73"vL295"><388o/99; c54char/="drihrefe.c#ies.  Sett 1If91veass=offhrhf() has2been succ ssfully1executedd29}f7"><, but"L29 drivre c54.c#f="rom be te cev" cd.  cccchas2 otdbeen ="="srd subsequoolly,1execute itsdbusdtype'sd.onhrhf()1ccllbacksra hrructc55ev3232" 338ss="li7e" na73"vL29Lo indicatedt2at L29 drivredcm bbe used again8 c55 clbas_hrere.c#f()"dri">239"  syma75a_pooler_setuf="drive3s/75a_p>c55re.c#f()"willversagree"dbouf= Ccll under>drivre=hotplug_lock8 <335ss=>c55325" cl8ss="li7e" na73"vL391"87a hreef="drive3s/ba6e9core.9#6318"te"c554sre"Bect5odevL326"va_sfsrodesrefef5ode>c55+codee.265" " cdev"inicc#flass=onhrhf="id1014><291o/1veass=onhrhf3256"envo/a>); <291ocu9v81o/a>(structc55selck/kfreeo/a>(oa hvir10189>101e_attr55s2"dri_= 5s="li7e" na78"vL391"><38s5s=">c55LLe_shfv8" id9.265" " cdev"iniccrec6 id1014><291o/rec3256= l0ef="drivers/ba7e/core.c#7251" idc55eo/afor_e5_HEADsrefva_stss=odesrefe5_HE>c55s/ba6="drive3s/ba7e/core.c#7266" id8c55=dev" cla5errota href=rive3s/ba7e5a5err>c55la78kruct< hr5" " cdev"inicc1veass=lock6 id1014><291o/1veass=lock3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc55dto_derro5a>(oa h iva_251odesrefe"o5a>(>c55ULL="+code=de9v3292" cl9ss="li6eiveass=supports_offhrhf="id1014><291o/1veass=supports_offhrhf3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a)) /kfreeo/a>(oa hvir10189>101e_attr568vL311" c5f>dto_derrota href=rive3c5f>d>c56="st_childrenss="srpa9v3292" cl9ss="li6eivers/ba7e/core.c#7283" id8vL284" cl8ss="li6eoffhrhf="id1014><291o/offhrhf3256) /kfreeo/a>(oa hvir10189>101e_attr56vL292" cl5ss="li7e" na78"vL392"><3l5ss=>c561/ba6e8core.fdrmat_hrrrrrrrrrcl8ss="li7e" narec6 id1014><291o/rec3256= lo/a> = of hns_+ivers/ba7e/core.c#7283" id8vL284" cl8ss="li6ebusrs/ba7e/core.c#bus3" id8vL284" cl8ss="li6eonhrhf="id1014><291o/onhrhf3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc56o/a>syma75rEXPORT_SYMBOL_GPrive3s/75rEX>c56clNULLe_shfvst_childr>GLOBAL_9v32!cl8ss="li7e" narec6 id1014><291o/rec3256> /kfreeo/a>(oa hvir10189>101e_attr56"v3254" 35s="li7e" na784vL396"><3835s=">c56sref">GLOBAL_drmat_hre8core.frrrrrrrrcl8ss="li7e" nashfvst_=ue.c# 6 id1014><291o/shfvst_=ue.c# 3256"d   lo/a> = or href=s="rs/ba7e/core.c#7283" id8vL284" cl8ss="li6ecve3s/ba6e8core.c#6cve33256"  id8v3256" 3l8sKOBJ_ONLINEs/ba6e8core.c#6KOBJ_ONLINE1o/a>ef="drivers/ba7e/core.c#7251" idc564sre"Bect5 a ;fc#7239" id8v32f5 a >c56+coderef"ef">drmat_hrt_childr>GLOBAL_cl8ss="li7e" na79"vL11013><291ocu9v81o/adto_devo/a_ro.<291o/offhrhf3256  lo/a> = of hns_+falsf="id1014><291o/falsf3256ef="drivers/ba7e/core.c#7251" idc56vL296" cl5/basef="d* s="sre_to_hrel5/ba>c56e5core.c#7255e8core.ft_childrf="drive3s/ba7e/core.c#7266" id8c56s2"dri_= 5/basef="d*i@ei9: s="sre"s5/ba>c56LLe_shfv8" idchildren} else /kfreeo/a>(oa hvir10189>101e_attr56eo/afor_e5cifyea=" c#7239" id8v323e5cif>c56s/ba6e8core.fdrmat_hr>GLOBAL_cl8ss="li7e" narec6 id1014><291o/rec3256= l1ef="drivers/ba7e/core.c#7251" idc56=dev" cla5/basef="d*iByteir ">dtwea5/ba>c56la78kruct< href="+codf="drive3s/ba7e/core.c#7266" id8c56dto_derro5/basef="d*ito .c#7ers/bao5/ba>c56ULL="+code=def="drive3s/ba7e/core.c#7266" id8c578vL311" c5/basef="d*ibe sets(ryealc5/ba>c57="st_children_; <291ocu9v81o/a>ef="drivers/ba7e/core.c#7251" idc57vL292" cl5/basef="d* o"drrwis3 s="l5/ba>c571a href="drivers/ba1oo/ac clc9eate ar57o/a>syma75 wefuncti* s="sre_remov_75 we>c57clNULLe_shfvsv82commevo/a>(oahf="drrec6 id1014><291o/rec3256ef="drivers/ba7e/core.c#7251" idc57"v3254" 35ppr-">dto*="drioolac#72335ppr>c57sref"f="drive3s/ba7e/core.c#7266" id8c574sre"Bect5 a ;c57ual_a="drive3s/ba7e/core.c#7266" id8c57vL296" cl5"+code=dev" classr6sysfsl5"+c>c5/e5corenvo/a>); c57LLe_shfv8" idenvo/a>); <291ocu9v81o/aef="drivers/ba7e/core.c#7251" idc57eo/afor_e5f">deviceo/a> *oa href="e5f">>c57s/ba6e8core.fenvo/a>); <291o/own"v1o/aef="drivers/ba7e/core.c#7251" idc57=dev" cla5s="li7e" na78"vL295"><28a5s=">c57     }ef="drivers/ba7e/core.c#7251" idc57dto_derro5to_derrota hrd"v="+code=o5to_>c57.c#f=>(struct<<<<<<<<<10189>101ef="dr588vL311" c5YS.67o/a> <291o/inhrhf3256fenvo/a>); ); (structc581a hr/kfreeo/a>(oa hvir10189>101e_attr58o/a>syma75srodevL326"><32">LL="+co75sro>c58clNULLe_shfvsv82commevo/a>(oahf="drcontainer_ofa6e8core.c#6318container_of3256"cl8ss="li7e" na7a6e8core.c#6318"1o/a,fenvo/a>); <3835s=">c58sref"f="drive3s/ba7e/core.c#7266" id8c58 clvo78kf5gid   lo/a> = ef="drive3f5gid>c58ual_a="drive3s/ba7e/core.c#7266" id8c58vL296" cl5ss="li7e" na711 <3l5ss=>c585LL="staticavoidd_gefsadd="+ckliroo6ow9v82l_releasf="id1014><291o/roo6ow9v82l_releasf3256"envo/a>); <291ocu9v81o/a>(structdev" e5sym>c58va_stss=>envo/a>); <291ocu9v81o/a))ef="drivers/ba7e/core.c#7251" idc58=dev" cla5ss="li7e" na754vL39w_><2a5ss=>c58     f="drive3s/ba7e/core.c#7266" id8c58dto_derro5f">deviceo/a> *oa href="o5f">>c58.c#f=>(struct<<<<<<<<<10189>101ef="dr598vL311" c5to_derrota href="drive3sc5to_>c59ev3232" 338ss="li7e" na73"v9v8nto/a>(vent_vant">/**<9span 96ccccccccc59vL292" cl5a>); 239" "__roo6ow9v82l_rena73"v - al6ocate9a3derena73"v a roo6 drivre syma75s="li6e" na69"vL39c59re.c#f()"willversagree"dbouf= @9 @own"v: own"v modulb of"th81roo6 drivre, usually1THIS_MODULE ); env8/a>9; c598v3232" 338ss="li7e" na73"vL29usd75sw9v82l_rena73"v(). In order>to freb8L29 " 2comed1oa hrruct<28e5s=">c59="li7e" na73"vL295"><388o/99; drivre, us81roo6ow9v82l_un="na73"v()8 dto_derrota href="driva5f>d>c59char/="drihrefe.c#ies.  Sett  c59.c#f="rom be te cev" cd.  ccccRoo6 drivres ar9 dummy drivres which12l6ow oL29r drivres /sys/drivres. Use2L3261funcid8v_to 239" "al6ocate9a roo6 drivre9a3d ids_+khfvst_=create_a3d_add6 id102t asoa h hrruct<6e8cel97ccccccccc6claddnt" c6ap;virtual_ass2+code=remo5s=">c59re.c#f()"willver6ommev60bouf= @9c59325" cl8ss="li7e6a7e/c60L391" 9; Ccll under>drivre=hotpluomm0uncid8v_to c59selcklset/bas7hr6/*ers6base9v8nto/a>(vent_vant">/**pluksra e, usuef="r_rel97ccccccccc59=dev" cla5f>dto_derrot6"vL398"><26e5rertv50="li7e" na73"vL265"><368o/99; 7"><28Drivredt"2be put _rel97ccccccccc59=dev" cla5f>dto_derrot6"8L398"><26e5f>d>c59char/="drihrefe.6#ies.6 Sett 11veass=iindschild -edeivR"vL8/a>s/ba7oa h id"v_a9rhpointro o29}f7"><,,onhrERR_PTR() o29errorr_rel97ccccccccc59=dev" cla5f>dto_derrot6"9L398"><26e5ss=>c59.c#f="rom be te 6ev" c6.  ccccExecute_L29 drivredbusd_rel97ccccccccc59=dev" cla5f>dto_derrot6711 <110116<591ovo51ev3232" 338ss="l67e" n673"vL29L29 drivred29}fa subsequNotrruYou probabdto_derrot60" cl1012>6251oo/a51 clbas_hrere.c#f6)"dri6>239" " otdbe used until eiL29core.9#6318"te"c554sre"Bect5odevL326"va_6cdev"inic#6t5e3s/b51re.c#f()"willver6agree612riroo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/ al6ocate9a3derena73"v0" cl8ss="li7e" al6ocate9a3derena73"vL1101li7st e3s/d6 id1014><291o/nowil0" cl8ss="li7e"_a9r_rriroo6ow9v82lvo78kfsrodevLulbL290" cl8ss="li7e" naown"v6 id1014><291o/own"v1o/aef="drivers/ba7e/core.c#"957254" 58irtual_as5s="li7e" na76754 cl10146<591oow51325" cl8ss="li7e6 na736vL391"101e_attr58eo/afor_e5syma78ka_poo6="+code=de6"5ap;vi51s="li7e" na75s="69">en61hildr>GLOBAL_o6ow9v82lvo78kfsrodevL3hroo6ow9v82llNULL cl8ss="li7e" nato_roo6ow9v82lvo78kfsrodli7e2llNULL cl8ss="li7ee.c#7251" idc57=dev" cla5s="li7e" na76a=">fass= 6l5d svi51selcklset/bas7hr6/*ers61hildrf="driveid1014><291o/rec325e3_erv3256:="driveore.c#7 = id1014><291o/ENOMEM3256ef="drivers/ba7e/core.c#7251" idc46vL296" cl4/basef="d* s6v_air_chil6s5errvi518v323e.265" " cd6v"ini61e.9#7318"" cc52eo/afor_e5_HEADsref><36_______">d6e5E__vi51="li7/kfreeo/a>(6a hvi61)rresfreba6e8core.c#6318sfreli7e2llNULL cl8ss="li7ee.c#_=create_a3d_add6 iz3d id"cl8ss="li7e" naz3d iddrive3izeofe3s/ba6e8core.c#6318" i3hroo6ow9v82llNULL cl8ss="li7e" nato_roo6)013><291ocu9v81o/GFP_KERNE"  id8v3256" 3l8GFP_KERNE"re.c#7251" idc58"v3254" 35s="li7e" na76hf="driver6a5to_vi51la78kruct< hr9.265" " 61ss="li6eiveass=su014><291o/rec3256i7e2llNULL cl8ss="li7ee.c#"957254" 58irtual_as5s="li7e" na7679L398"><26o5rslvi51.c#f=>(struct<<<6<<<<<61292" cl9ss="li6eiversntainer_ofa6e8core.c#6ERR_PTR6ef="drivers/ba7RR_PTRL11013><291ocu9v81o/e3_erv3256:="driveore.c#7#7251" idc58"v3254" 35s="li7e" na76"vL29c52oLe_shfv8" id9v3692" c62.c#7266" id8c54vL292" cl5>); c521/ba6e8core.fdrm6t_hrv62t_Bemutex_unlock6 id1014><29e3_erv3256:="driveore.c#7 = 2lvo78kfsrodevLd8v_l9ssowil0" cl8ss="li7e"d8v_l9ssowil=s="rs/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL285t;5har"7a hree"  id8v = or href="+ca id1014><291o/nowil0" cl8ss="li7e"_a9r_rri#7251" idc58"v3254" 35s="li7e" na76"dev"inic#675s=">c52     f="drivers/6a7e/c622s="li6eiveass=su3><291ocu9v81o/e3_erv3256:="driveore.c#7#>101e_attr57s2"dri_= 5ss="li7e" na6ode=dev" c635"dr>c52sref">GLOBAL_cl86s="li62ore.frrrrrrrrcl8ss="lcore.c#6318sfreb3256"cl8ss="li7e" nato_roo6ow9v82lvo78kfsrod6i7e2llNULL cl8ss="li7ee.c#"7251" idc58"v3254" 35s="li7e" na76""+code=de6f5ode>c52+coderef"ef">dto6evo/a62hildr>GLOBAL_cl8ss="lntainer_ofa6e8core.c#6ERR_PTR6ef="drivers/ba7RR_PTRL11013><291ocu9v81o/e3_erv3256:="driveore.c#7#7251" idc58"v3254" 35s="li7e" na76"=">fass= 6l5s=">c52e5core.c#7255e8c6re.fv62comm5" " cdev266" id8c58dto_derro5f">deviceo/a6=retval" c6s5"dr>c52a href="drivers/6a7e9c6re.9#7318"" cc52eo/afor_e5_HEADsref><36= remov_bo6e5_HE>c52va_stss=>envo/a>6; <2916i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL.14><291o/rec3256eow9v82l_releasf3256"ehrhf="driv = 2lvo78kfsrodevL014><291o/roo6ow9v82l_releasf3256"envo/a>); c52la78kruct< hr9v3692" c62ri97trierrotc48dto_derro4f">deviceo/a6 href="dri6o5f>d>c5295core.c#7255e8c6re.f962t_Be1veass=unlock6 id1014><2e3_erv3256:="driveore.c#7 = 2lvo78kfsrodevLd8v1o/1veass=="na73"vL290>ef="drivers/ba7e/core.crs/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL#7251" idc58"v3254" 35s="li7e" na7611 c53="st_childrenss=6srpa>63ss="li6eivers/ba7e/core.c#7283" e3_erv3256:="driveore.c#7#>101e_attr57s2"dri_= 5ss="li7e" na6"vL31c531/ba6e8core.fdrm6t_hr}6else /kfreeo/a>(oa hvie/core.c#7283" h u/_ve3s/b3256>ef="drivers/ba7e/core.crs/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL#7251" idc58"v3254" 35s="li7e" na761dev"inic#675p;v>c53clNULLe_shfvst_c6ildr>6LOBAL_cl8ss="li7e" narntainer_ofa6e8core.c#6ERR_PTR6ef="drivers/ba7RR_PTRL11013><291ocu9v81o/e3_erv3256:="driveore.c#7#7251" idc58"v3254" 35s="li7e" na7654vL39c53sref">GLOBAL_drm6t_hre6core.f9v32!cl8266" id8c58dto_derro5f">deviceo/a6id"v="+cod6f5a>)>c53+coderef"ef">drm6t_hrt63.c#7266" id8c58vL296" cl5ss="li7e" na6L280" cl8s6l5 c#>c53e5core.c#7255e8c6re.ft6childr#ifdefr_ofa6e8core.c#6CONFIGd"v_a9rServ3256:="driveCONFIGd"v_a9rSre.f9v38nto/a>(vent_vant">/**<9r_cvta rs/b a   id8v3rhfcor  id8v way101e_attr57s2"dri_= 5ss="li7e" na6" remov_bo6e5>);>c53s/ba6e8core.fdrm6t_hrf6"drive3s/ba7e/core.c#7o6ow9v82lvo78kfsrodevLulbL29_o/a> = 0" cl8ss="li7e" naown_o/a> = roo6ow9v82lvo78kfsrodmlock3256"d   lo/ak.c#7 = s/ba7e/core.c#7283" v1o/aef="drivers/ba7e/core.c#rhf="id1014><291o/ofm256"  id8v3256" 3l8msKOBJ_ON7251" idc58"v3254" 35s="li7e" na765f="driver6a5viT>c53la78kruct< hrf="6rive363ri97trierrotc48dto_derro4f">deviceo/a6= remov_bo6o5a>(>c53ULL="+code=deevo6a_ro.63292" cl9ss="li6eiverslock6 id1014><2e3_erv3256:="driveore.c#7 = 2lvo78kfsrodevL>ef="dcrs/ba7lckkerv3256:="drive>ef="dcrs/ba7lckkre.crs/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL.14><291o/rec325256"  id8v3256" 3l8sKOBJ_ONLIs/ba7e/core.c#7283" mlock3256"d   lo/ak.c#7s/ba6e8core.c#6cve33256"  id8v3256" 3l8sKOBJ_ONLINt;5har"7a hree"  id8ve, usu<= or href="+#7251" idc58"v3254" 35s="li7e" na76BLOCK h3ef6c5dev>c54oLe_s="drive3s/b67e/co64292" cl9ss="li6eivers/ba7e/core.c#7283" e3_erv3256:="driveore.c#7#>101e_attr57s2"dri_= 5ss="li7e" na6<32= ">gde6l5>);>c541/ba6e8core.fv826omm5"64rrrrrcl8ss="li7e" narec6 id1014><291o/rec325hrructef="drivers="li6es="s/bs=ks/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL#7251" idc58"v3254" 35s="li7e" na76L299" cl8s675ref>c54re.c#f="drive3s/6a7e/c64OBAL_9v32!cl8ss="li7e" narec6ntainer_ofa6e8core.c#6ERR_PTR6ef="drivers/ba7RR_PTRL11013><291ocu9v81o/e3_erv3256:="driveore.c#7#7251" idc58"v3254" 35s="li7e" na76" na73"vL2635" 3>c54sref"f="drivers/6a7e/c64ore.frrrrrrrrcl8ss="l266" id8c58dto_derro5f">deviceo/a6= delew_bo6f5ode>c54s="li7e" na75s="69">en64hildr>GLOBAL_cl8ss="le/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofv1o/aef="drivers/ba7e/core.c# = 2lvo78kfsrodevLv1o/aef="drivers/ba7e/core.c#7251" idc57=dev" cla5s="li7e" na7611 c54selcklset/bas7hr6/*ers64comm5" " cdev266" id8c58dto_derro5f">deviceo/a6"vL391"><36s5s=">c548v3232" 338ss="l67e" n673"vL2#endif66" id8c58dto_derro5f">deviceo/a6" remov_bo6e5cif>c54="li7e" na73"vL265"><364.c#7266" id8c55=dev" cla5errota href=69_setuf="d6a5/ba>c54char/="drihrefe.6#ies.64ss="li6eiveasntainers/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL7251" idc57=dev" cla5s="li7e" na761 remov_bo6o5/ba>c54.c#f="rom be te 6ev" c6.  ccc266" id8c58dto_derro5f">deviceo/a6mt:="drmat6c5/ba>c55ev3232" 338ss="l67e" n65RT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=ss="sr_filb6 id10 al6ocate9a3derena73"v0" cl8ss="li7e" al6ocate9a3derena73"vL110#7251" idc58"v3254" 35s="li7e" na76239" id8v36l5/ba>c55 clbas_hrere.c#f6)"dri65c clc9eate ar57o/a>syma75 wefuncti* s6f="drive3s675a_p>c55re.c#f()"willver6agree6dbouf= Ccll under>drivre=hot<9span 96ccccccccc59vL292" cl5a>); <635ss=>c55325" cl8ss="li7e6 na736vL391"87a hreef="drive3s/ba6e9)8 syma75s="li6e" na66fsrodesref6f5ode>c55+codee.265" " cd6v"ini65/a>9; Ccll under>drivre=hotpluack1on"v_a9rhgon oraway_rel97ccccccccc59o/a>syma75s="li6e" na66f1 c55selck/kfreeo/a>(6a hvi65ase9v8nto/a>(vent_vant">/**pl_rel97ccccccccc59o/a>syma75s="li6e" na66fvL391"><36s5s=">c55LLe_shfv8" id9.265" " 653"vL291veass=offhrhf - Preclosa roo6 drivre9oa h id"v_s a3d_3rhfcs upooa"v_a9rhsed awas crs/bad by_rel97ccccccccc59o/a>syma75s="li6e" na66f remov_bo6e5_HE>c55s/ba6="drive3s/b67e/co65o/99; drivre, us81roo6ow9v82l_8 dto_derrot6ive3s/ba7e6a5err>c55la78kruct< hr5" 6 cdev65Sett 11veass=iindschild -edeicore.9#6318"te"c554sre"Bect5odevL326"va_651odesrefe6o5a>(>c55ULL="+code=de9v3692" c65iunlock_1veass=hotplug6 i8 ); <291ocu9v81o/a>(structd>c56="st_childrenss=6srpa9660189>101e_attr49vL292" cl4a>); <6l5ss=>c561/ba6e8core.fdrm6t_hrr6rrrrrrcl8ss="lo6ow9v82lvo78kfsrodevL3hroo6ow9v82llNULL cl8ss="li7e" nato_roo6ow9v82lvo78kfsrodli7e2llNULL cl8ss="li7ee.c#id1014><291o/nvof32vL3hto_roo6ow9v82l3256"cl8ss="li7e" na79"vL11013><291ocu9v81o/a))ef="drivers/ba7e/core.c7251" idc58"v3254" 35s="li7e" na76L_GPrive3s675rEX>c56clNULLe_shfvst_c6ildr>66e.c#7251" idc52"v3254" 35"dri_href="+64vL396"><3635s=">c56sref">GLOBAL_drm6t_hre6core.frrrrrrrrid1014><291o/rec3256i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofv1o/aef="drivers/ba7e/core.c#"957254" 58irtual_as5s="li7e" na76 srodesref6f5 a >c56+coderef"ef">drm6t_hrt6childr>GLOBAL_cl8ss="l2lvo78kfsrodevL>ef="ders/ba7lckkerv3256:="drive>ef="ders/ba7lckkre.crs/ba7e/core.c#7283" 6i7e2llNULL cl8ss="li7ee.c#rhf="id1014><291o/ofa"  id8v3256" 3l8sna772vL.14><291o/rec325256"  id8v3256" 3l8sKOBJ_ONLINt;5har"7a hree"  id8ve, usu<= or href="+#7251" idc58"v3254" 35s="li7e" na76"sre_to_hr6l5/ba>c56e5core.c#7255e8c6re.ft6childr251" idc58"v3254" 35s="li7e" na76"vL391"><36s5/ba>c56LLe_shfv8" idchi6dren}6else /kfreeo/a14><291o/rec325hrructef="drivers="li6es="s/bs=k3><291ocu9v81o/a))ef="drivers/ba7e/core.c7251" idc58"v3254" 35s="li7e" na76L remov_bo6e5cif>c56s/ba6e8core.fdrm6t_hr>66e.c#7266" id8c48=dev" cla4ss="li7e" na6teir ">dtw6a5/ba>c56la78kruct< href=6+codf6ORT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=iindschild6 id1018 ); c56ULL="+code=def="6rive360189>101ef="dr478vL311" c4/basef="d*ib6 sets(ryea6c5/ba>c57="st_children_; 6a hrh67.c#7266" id8c54vL292" cl5>); c571a href="drivers6ba1oo6ac clckliroo6ow9v82l_releasf="id1a>); ); <291ocu9v81o/a>(structc57clNULLe_shfvsv826ommev6/a>(oa101e_attr49vL292" cl4a>); c57sref"f="drive3s/6a7e/c67" narec6 id1014><291o/rec325pr/a>b1veass=hotplug325pr/a>b1v/b=iint;5har"7a hree"  id8v na79":uksra  sra :uksr7;>\n = or href="+ca id1014><291o/nd8v_owil0" cl8ss="li7e"d8v_owil=s="r3><291ocu9v81o/a>(struct<291o/n__6 dr__0" cl8ss="li7e" a6 dr__/bs=c7251" idc58"v3254" 35s="li7e" na76239" id8v36f5 a >c57ual_a="drive3s/b67e/co674 narec6 id1014><291o/rec325b3256"cl8ss="li7e" nato_roo6ow9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc58"v3254" 35s="li7e" na76lassr6sysf6l5"+c>c5/e5corenvo/a>); <6 hrhf6"driro266" id8c48=dev" cla4ss="li7e" na654vL39w_bo6s5ss=>c57LLe_shfv8" idenv6/a>);67e.9#7318"" cc52eo/afor_e5_HEADsref><36 *oa href=6e5f">>c57s/ba6e8core.fenv6/a>);6<36 eir ">dtw6a5s=">c57     }ef="driver6/ba7e67RT_SYMBOL_GP72vL285"a>); <291ocu9v81o/284" vL284" cl8ss="l284" vL11roo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/hrructeass=hotplug325prructvL11r318"" cc52eo/afor_e5_HEADsref><36 1odesrefe6o5to_>c57.c#f=>(struct<<<6<<<<<67292" cl9ss="li6eiversAL_cl8ss="l2lvo78kfsrodevLd8v_teass=hotplug325d8v_t92" c2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt_used6 id1014><291o/ndrvdataeass=hotplug325drvdatavL11r318"" cc52eo/afor_e5_HEADsref><36h3NULL="+c6c5YS.>c58bLL="statica92" 6l9ss=68OBAL_cl8ss="li7e" narec6 id10000li7st o6ow9v82lvo78kfsrodevLata hbuba7es. Ueass=hotplug325ata hbuba7es. UvL11016 id1014><291o/nes. Useass=hotplug325es. UsvL11r318"" cc52eo/afor_e5_HEADsref><36hrrwis3 s=6l58v3>c581a hr/kfreeo/a>(6a hvi68rrrrrcl8ss="li7e" narec6 id10000li7st e3s/d6 id1014><291o/nfmteass=hotplug325fmtJ_ONLINid1014><291o/nva7lcsteass=hotplug325va7lcst92" c2lvo78kfsrodevLarg8vL284" cl8ss="larg8/bs="957254" 58irtual_as5s="li7e" na7632">LL="+c675sro>c58clNULLe_shfvsv826ommev68a>(oa101e_attr49vL292" cl4a>); <3635s=">c58sref"f="drive3s/6a7e/c68" narec6 id103s/ba6e8core.c#6318" id8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>(struct<291o/nvof3/a>"  id8v3256" 3l8ss="ass=7251" idc58"v3254" 35s="li7e" na76 ef="drive6f5gid>c58ual_a="drive3s/b67e/co68oahf="drrec6 id1014><291o/rec3256= val2l_releasf3256"e= valc clid1id1014><291o/ENOMEMDEVMBOL_GP7L290292"EMDEVass=7251" idc58"v3254" 35s="li7e" na76 assr6sysf6l5ss=>c585LL="staticavoid6_gefs68hildr251" idc58"v3254" 35s="li7e" na76"vL39}fven6s5s=">c58LLe_s/kfreeo/a>(6a hvi68re.fdf="drive/ba7e/core.c#7283" 284" vL284" cl8ss="l284" vL110=d1014><291o/nvof3/a>"  id8v3256" 3l8ss="ass= ||1014><291o/nvof3IS_ERR6ef="drivers/baIS_ERRoo6ow9v82lvo78kfsrod284" vL284" cl8ss="l284" vL11)"957254" 58irtual_as5s="li7e" na763*oa href=6e5sym>c58va_stss=>envo/a>6; <2e3_o_erv3256:="driveoreore.c#7251" idc57=dev" cla5s="li7e" na7654vL39w_><6a5ss=>c58     f="drive3s/6a7e/c68ri97trierrotc48dto_derro4f">deviceo/a6 *oa href=6o5f">>c58.c#f=>(struct<<<6<<<<<68t_Be1veass=unlock6 id1014><291ostruct<291o/nvof3iz3d id"cl8ss="li7e" naz3d iddrive3izeofe13><291ocu9v81o/a>(struct<291ocu9v81o/GFP_KERNE"  id8v3256" 3l8GFP_KERNE"re.c#7251" idc58"v3254" 35s="li7e" na76ef="drive36c5to_>c59ev3232" 338ss="l67e" n69ss="li6eivers/ba713><291ocu9v81o/adto_devo/a_ro.101e_attr57s2"dri_= 5ss="li7e" na6"drit_Becv6l5a>)>c59 clbas_hrere.c#f6)"dri69lse /kfreeo/a>(oa hvie/core.c#7283" 6= val2l_releasf3256"e= valc clid1id1014><291o/ENOMEM3256ef="drivers/ba7e/core.c#7251" idc46vL296" cl4/basef="d* s6"vL39c59re.c#f()"willver6agree69OBAL_9v32!cl8ss="li7egotoslock6 id1014><2e3_o_erv3256:="driveoreore.c#7251" idc57=dev" cla5s="li7e" na76LL="+code=6357o/>c59325" cl8ss="li7e6 na7369ore.f9v32!cl8266" id8c58dto_derro5f">deviceo/a6hf="fdrmat6f5ret>c59s="li7e" na75s="69">en69.c#7266" id8c58vL296" cl5ss="li7e" na6a href="dr6l5nd >c59selcklset/bas7hr6/*ers695_Be1veass=unlock6 id1014><291ostructc598v3232" 338ss="l67e" n69lse /kfreeo/a14><291o/rec325hrrstructc59="li7e" na73"vL265"><369)rre1veass=lock6 id1014><291o/1struct<6a5f>d>c59char/="drihrefe.6#ies.69nicc1veass=lock6 id1014><291o/1structc59.c#f="rom be te 6ev" c69t_Be1veass=unlock6 id1014><291ostruct); <291o_l9ssdrvdataeass=hotplug325d1o_l9ssdrvdataoo6ow9v82lvo78kfsroda))ef="drivers/ba7e/core.ca id1014><291o/ndrvdataeass=hotplug325drvdatavL11#7251" idc58"v3254" 35s="li7e" na77s"+code=re7o6_bbas60 clbas_hrere.c#f7)"dri70c clc9eate ar57o/a>syma75 wefuncti* s7s2+code=re7o5s=">c59re.c#f()"willver7ommev702dri1veass=unlock6 id1014><26= val2l_releasf3256"e= valc clid114><291o/rec325256" = ol9ssowil_varg8vL284" cl8ss="l256" = ol9ssowil_varg8re.crs/ba7e/core.c#7283" 91ostruct<291o/narg8vL284" cl8ss="larg8/bs="7251" idc58"v3254" 35s="li7e" na77s3+code=re7o57o/>c59325" cl8ss="li7e7a7e/c70ore.frrrrrrrrid1014><291o/rec3256= val2l_releasf3256"e= valc cl"957254" 58irtual_as5s="li7e" na77hf="fdrmat7f5s/ba650ual_a="drive3s/b77e/co70hildr>GLOBAL_cl8ss="lgotoslock6 id1014><2e3_o_erv3256:="driveoreore.c#7251" idc57=dev" cla5s="li7e" na77h5="fdrmat7f5nd >c59selcklset/bas7hr7/*ers70hildr251" idc58"v3254" 35s="li7e" na77h6="fdrmat7f5311>c598v3232" 338ss="l77e" n70lse /kfreeo/a14><291o/rec3256= val2l_releasf3256"e= valc clid114><291o/rec325d8v1o/1veass=="na73"vL290>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc58"v3254" 35s="li7e" na77"vL398"><27e5rertv50="li7e" na73"vL275"><3707re.frrrrrrrrid1014><291o/rec3256= val2l_releasf3256"e= valc cl"957254" 58irtual_as5s="li7e" na77h8L398"><27e5f>d>c59char/="drihrefe.7#ies.70drive3s/ba7e/core.c#7gotoslock6 id1014><2e3_o_erv3256:="driveoreore.c#7251" idc57=dev" cla5s="li7e" na77h9L398"><27e5ss=>c59.c#f="rom be te 7ev" c70189>101ef="dr478vL311" c4/basef="d*ib7711 <110117<591ovo51ev3232" 338ss="l77e" n71"dri1veass=unntainer_ofa6e8core.c#6a"  id8v3256" 3l8sna772vL7251" idc57=dev" cla5s="li7e" na770" cl1012>7251oo/a51 clbas_hrere.c#f7)"dri71c clc9eate ar57o/a>syma75 wefuncti* s7cdev"inic#7t5e3s/b51re.c#f()"willver7agree712rirolock6 id1014><2e3_o_erv3256:="driveoreore.c#:9eate ar57o/a>syma75 wefuncti* s7c3+code=re7<591oow51325" cl8ss="li7e7 na7371" narec6 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc58"v3254" 35s="li7e" na77="+code=de7"5ap;vi51s="li7e" na75s="79">en71hildr>GLOBAL_ntainer_ofa6e8core.c#6ERR_PTR6ef="drivers/ba7RR_PTRL11013><291ocu9v81o/6= val2l_releasf3256"e= valc cl"7251" idc58"v3254" 35s="li7e" na77=5="fdrmat7l5d svi51selcklset/bas7hr7/*ers71driro266" id8c48=dev" cla4ss="li7e" na7v_air_chil7s5errvi518v323e.265" " cd7v"ini71e.9#7318"" cc52eo/afor_e5_HEADsref><37_______">d7e5E__vi51="li7/kfreeo/a>(7a hvi71o/99; drivre, us81roo6ow9v8<9span 96ccccccccc59vL292" cl5a>); ); ef="pan 96ccccccccc59vL292" cl5a>); <27o5rslvi51.c#f=>(struct<<<7<<<<<71  ccccRoo6 drivres ar9 dummy d@drivr:hpointro oa h id3s/ba6edrivrused agaisa"v_a9rhrivreddbeoa h id"veda9r_rel97ccccccccc6claddnt" c6ap;virtual_a7"vL29c52oLe_shfv8" id9v3792" c723"vL29L29 drivred29}fa subsequ@prruct:hpointro oa h idhrructc521/ba6e8core.fdrm7t_hrv72239" "al6ocate9a roo6 drivre9aack1t:hgain8 <_te ); c52sref">GLOBAL_cl87s="li72L391">@own"v: own"v modulb of"tfmt: 7a hree ); c52+coderef"ef">dto7evo/a72/a>9; Ccll under>drivre=hotpluaarg8: va7lcste ); c52e5core.c#7255e8c7re.fv72ase9v8nto/a>(vent_vant">/**pl_rel97ccccccccc59o/a>syma75s="li6e" na67=retval" c7s5"dr>c52a href="drivers/7a7e9c723"vL291veass=offhrhf - Preclosa roo6 drivre9ructsyma75s="li6e" na67=______">d7e5_HE>c52va_stss=>envo/a>7; ef=",oa h id"veda9r h id3pecifiedre, usr_rel97ccccccccc59=dev" cla5f>dto_derrot7"f="driver7a5"dr>c52la78kruct< hr9v3792" c72Sett  c53="st_childrenss=7srpa>733"vL29Lo be grouped under>/sys/ain8 <_teiquooll0,0r_rel97ccccccccc59=dev" cla5f>dto_derrot7"vL31c531/ba6e8core.fdrm7t_hr}73239" "al6ocate9a roo6 drivre9aId1ahpointro oa adhrructdto_derrot7"dev"inic#775p;v>c53clNULLe_shfvst_c7ildr>73bouf= @9ef="r_rel97ccccccccc59=dev" cla5f>dto_derrot754vL39c53sref">GLOBAL_drm7t_hre73L391">@own"v: own"v modulb of"omm0pointro oa h id3s/ba6e"v_a9rh"vL8/dto_derrot75"+code=de7f5a>)>c53+coderef"ef">drm7t_hrt73/a>9; Ccll under>drivre=hotpluAnyo6 ra h i>ef=" filerused amight/dto_derrot755="fdrmat7l5 c#>c53e5core.c#7255e8c7re.ft73ase9v8nto/a>(vent_vant">/**plupointror_rel97ccccccccc59=dev" cla5f>dto_derrot75retval" c795s=">c53LLe_shfv8" idchi7dren8733"vL291veass=offhrhf - Preclo_rel97ccccccccc59=dev" cla5f>dto_derrot75______">d7e5>);>c53s/ba6e8core.fdrm7t_hrf73o/99; drivre, us81roo6ow9v82l_R"vL8/a>s/ba7oa h id"v_a9rhpointro o29}f7"><,,onhrERR_PTR() o29errorr_rel97ccccccccc59=dev" cla5f>dto_derrot75f="driver7a5viT>c53la78kruct< hrf="7rive373Sett  (>c53ULL="+code=deevo7a_ro.73  ccccRoo6 drivres ar9 dummy dNotrruh id3s/ba6edrivrupoff d touctsyma75s="li6e" na67BLOCK h3ef7c5dev>c54oLe_s="drive3s/b77e/co743"vL29Lo be grouped under>/sysy,1excrs/bad with aned"v tou grouacrs/baa9r_rel97ccccccccc59=dev" cla5f>dto_derrot7<32= ">gde7l5>);>c541/ba6e8core.fv827omm5"74239" " otdbe used until eiL29core.9#6318"te"c554sre"Bect5odevL326"va_7L299" cl8s775ref>c54re.c#f="drive3s/7a7e/c742riroo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>); ); <291ocu9v81o/284" vL284" cl8ss="l284" vL11roo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/hrructeass=hotplug325prructvL11r318"" cc52eo/afor_e5_HEADsref><37" na73"vL2735" 3>c54sref"f="drivers/7a7e/c74ore.frrrrrrrrcl8ss="lllllllllllllllllllllock6 id1014><291o_teass=hotplug325d8v_t92" c2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt_used6 id1014><291o/ndrvdataeass=hotplug325drvdatavL11r0li7st e3s/d6 id1014><291o/nfmteass=hotplug325fmtJ_ONL318"" cc52eo/afor_e5_HEADsref><37""+code=de7f5ode>c54s="li7e" na75s="79">en74hildr>GLOBAL_cl8ss="lllllllllllllllllllllock6 id1014><2va7lcsteass=hotplug325va7lcst92" c2lvo78kfsrodevLarg8vL284" cl8ss="larg8/bs="957254" 58irtual_as5s="li7e" na7711 c54selcklset/bas7hr7/*ers740189>101e_attr55s2"dri_= 5s="li7e" na77"vL391"><37s5s=">c548v3232" 338ss="l77e" n74lse /kfreeo/antainer_ofa6e8core.c#6a" ; <291ocu9v81o/hrructeass=hotplug325prructvL11rc2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt id1014><291o/ndrvdataeass=hotplug325drvdatavL11r0014><291o/nvof3/a>"  id8v3256" 3l8ss="ass=L318"" cc52eo/afor_e5_HEADsref><37"______">d7e5cif>c54="li7e" na73"vL275"><374OBAL_cl8ss="li7e" narec6 id10lllllllllllllllllllock6 id1014><2fmteass=hotplug325fmtJ_ONLINid1014><291o/narg8vL284" cl8ss="larg8/bs="7251" idc58"v3254" 35s="li7e" na779_setuf="d7a5/ba>c54char/="drihrefe.7#ies.74e.c#7266" id8c58dto_derro5f">deviceo/a71 remov_bo7o5/ba>c54.c#f="rom be te 7ev" c7.  ccc_ofa6e8core.c#6E<285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=iindschild6 id101a>); ); ); c55 clbas_hrere.c#f7)"dri75239" " otdbe used until eiL<9span 96ccccccccc59vL292" cl5a>); drivre=hoteiva>); ef="pan 96ccccccccc59vL292" cl5a>); <735ss=>c55325" cl8ss="li7e7 na737vL391"87a hreef="drive3s/ba6e9)@drivr:hpointro oa h id3s/ba6edrivrused agaisa"v_a9rhrivreddbeoa h id"veda9r_rel97ccccccccc6claddnt" c6ap;virtual_a7fsrodesref7f5ode>c55+codee.265" " cd7v"ini75/a>9; Ccll under>drivre=hotpluaprruct:hpointro oa h idhrructc55selck/kfreeo/a>(7a hvi75ase9v8nto/a>(vent_vant">/**plaack1t:hgain8 <_te <37s5s=">c55LLe_shfv8" id9.275" " 753"vL291veass=offhrhf - Preclos); c55s/ba6="drive3s/b77e/co75o/99; drivre, us81roo6ow9v82l_tfmt: 7a hree ); c55la78kruct< hr5" 7 cdev75Sett 11veass=iindschild -edei=sn 96ccccccccc59vL292" cl5a>); (>c55ULL="+code=de9v3792" c75  ccccRoo6 drivres ar9 dummy da roo6 drivre9ructsyma75s="li6e" na67 href=rive7c5f>d>c56="st_childrenss=7srpa9763"vL29Lo be grouped under>/sys"vL8/ef=",oa h id"veda9r h id3pecifiedre, usr_rel97ccccccccc59=dev" cla5f>dto_derrot78"vL392"><7l5ss=>c561/ba6e8core.fdrm7t_hrr76239" " otdbe used until eiL29_rel97ccccccccc59=dev" cla5f>dto_derrot78="drive3s775rEX>c56clNULLe_shfvst_c7ildr>76bouf= Ccll under>drivre=hoteivA   id8v na  id8v file_"vL8/<3735s=">c56sref">GLOBAL_drm7t_hre76L391"87a hreef="drive3s/ba6e9)/ain8 <_teiquooll0,0r_rel97ccccccccc59=dev" cla5f>dto_derrot7 srodesref7f5 a >c56+coderef"ef">drm7t_hrt76/a>9; Ccll under>drivre=hotpluId1ahpointro oa adhrructdto_derrot7"sre_to_hr7l5/ba>c56e5core.c#7255e8c7re.ft76ase9v8nto/a>(vent_vant">/**plaoa h id"v_a9rh"vL8/ef="r_rel97ccccccccc59=dev" cla5f>dto_derrot7"vL391"><37s5/ba>c56LLe_shfv8" idchi7dren}763"vL291veass=offhrhf - Preclosa m0pointro oa h id3s/ba6e"v_a9rh"vL8/dto_derrot7L remov_bo7e5cif>c56s/ba6e8core.fdrm7t_hr>76o/99; drivre, us81roo6ow9v82l_Anyo6 ra h i>ef=" filerused amight/dto_derrot7teir ">dtw7a5/ba>c56la78kruct< href=7+codf76Sett 11veass=iindschild -edeivpointror_rel97ccccccccc59=dev" cla5f>dto_derrot7L1odesrefe7o5/ba>c56ULL="+code=def="7rive376  ccccExecute_L29 drivredbusd_rel97ccccccccc59=dev" cla5f>dto_derrot7 sets(ryea7c5/ba>c57="st_children_; 7a hrh773"vL29Lo be grouped under>/sysR"vL8/a>s/ba7oa h id"v_a9rhpointro o29}f7"><,,onhrERR_PTR() o29errorr_rel97ccccccccc59=dev" cla5f>dto_derrot7drrwis3 s=7l5/ba>c571a href="drivers7ba1oo77239" " otdbe used until eiL29_rel97ccccccccc59=dev" cla5f>dto_derrot7"sre_remov775 we>c57clNULLe_shfvsv827ommev77bouf= Ccll under>drivre=hoteivNotrruh id3s/ba6edrivrupoff d touctsyma75s="li6e" na67rioolac#72735ppr>c57sref"f="drive3s/7a7e/c77L391"87a hreef="drive3s/ba6e9)y,1excrs/bad with aned"v tou grouacrs/baa9r_rel97ccccccccc59=dev" cla5f>dto_derrot7239" id8v37f5 a >c57ual_a="drive3s/b77e/co77/a>9; Ccll under>drivre=hotplcore.9#6318"te"c554sre"Bect5odevL326"va_7lassr6sysf7l5"+c>c5/e5corenvo/a>); <7 hrhf775riroo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>); ); <291ocu9v81o/284" vL284" cl8ss="l284" vL11roo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/hrructeass=hotplug325prructvL11r318"" cc52eo/afor_e5_HEADsref><3754vL39w_bo7s5ss=>c57LLe_shfv8" idenv7/a>);77lse /kfreeo/a"lllllllllllllllllllllock6 id1014><291o_teass=hotplug325d8v_t92" c2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt_used6 id1014><291o/ndrvdataeass=hotplug325drvdatavL11r0li7st e3s/d6 id1014><291o/nfmteass=hotplug325fmtJ_ONL ..."957254" 58irtual_as5s="li7e" na77 *oa href=7e5f">>c57s/ba6e8core.fenv7/a>);7dtw7a5s=">c57     }ef="driver7/ba7e77nicc1veass=lock6 id1014><291va7lcsteass=hotplug325va7lcst92" c2lvo78kfsrodevLvarg82l_releasf3256"varg8/bs=7251" idc58"v3254" 35s="li7e" na77 1odesrefe7o5to_>c57.c#f=>(struct<<<7<<<<<77292" cl9ss="l3s/ba6e8core.c#6318" id8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>(struct); c581a hr/kfreeo/a>(7a hvi78t_Bemutex_unlock6 id1014><29va7starteass=hotplug325va7start/b=iindschild6 id101varg82l_releasf3256"varg8/bs=LINEs/ba6e8core.cfmteass=hotplug325fmtJ_ON"7251" idc58"v3254" 35s="li7e" na7732">LL="+c775sro>c58clNULLe_shfvsv827ommev782dri1veass=unlock6 id1014><291ostruct<291o/nvof3a>); ); <291ocu9v81o/284" vL284" cl8ss="l284" vL11ro3><291ocu9v81o/hrructeass=hotplug325prructvL11rc2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt id1014><291o/ndrvdataeass=hotplug325drvdatavL11r0014><291o/nvof3fmteass=hotplug325fmtJ_ONLINid1014><291o/nvarg82l_releasf3256"varg8/bs="7251" idc58"v3254" 35s="li7e" na773ioolac#72735s=">c58sref"f="drive3s/7a7e/c78" narec6 id1014><291o/rec325va7endeass=hotplug325va7end/b=iindschild6 id101varg82l_releasf3256"varg8/bs="7251" idc58"v3254" 35s="li7e" na77339" id8v37f5gid>c58ual_a="drive3s/b77e/co78hildr>GLOBAL_ntainer_ofa6e8core.c#6a>(structc585LL="staticavoid7_gefs78driro266" id8c48=dev" cla4ss="li7e" na7"vL39}fven7s5s=">c58LLe_s/kfreeo/a>(7a hvi78re.fd_ofa6e8core.c#6E<285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es="s/b=iindschild6 id101a>); ); c58va_stss=>envo/a>7; <7a5ss=>c58     f="drive3s/7a7e/c78Sett 11veass=iindschild -ed<9span 96ccccccccc59vL292" cl5a>); >c58.c#f=>(struct<<<7<<<<<78  ccccRoo6 drivres ar9 dummy da>); ef="pan 96ccccccccc59vL292" cl5a>); )>c59 clbas_hrere.c#f7)"dri79239" "al6ocate9a roo6 drivre9aaprruct:hpointro oa h idhrruct); en79/a>9; Ccll under>drivre=hotpluaes. Us: ss="-tromin/bad lcstellyata hbuba es. Us sdrivrcrs/bad_rel97ccccccccc59=dev" cla5f>dto_derrot7a href="dr7l5nd >c59selcklset/bas7hr7/*ers79ase9v8nto/a>(vent_vant">/**plaafmt: 7a hree ); c598v3232" 338ss="l77e" n793"vL291veass=offhrhf - Preclo_rel97ccccccccc59=dev" cla5f>dto_derrot7L*oa href=7e5s=">c59="li7e" na73"vL275"><379o/99; drivre, us81roo6ow9v82l_a roo6 drivre9ructsyma75s="li6e" na67L4vL39w_><7a5f>d>c59char/="drihrefe.7#ies.79Sett 11veass=iindschild -edeiv"vL8/ef=",oa h id"veda9r h id3pecifiedre, usr_rel97ccccccccc59=dev" cla5f>dto_derrot7L*oa href=in8 <_te syma758wefuncti* s7s2+code=re7o58=">c580lNULLe_shfvst_c7ildr>76bouf= Ccll under>drivre=hoteivA   id8v na  id8v file_"vL8/c580ref">GLOBAL_drm7t_hre76L391"87a hreef="drive3s/ba6e9)/ain8 <_teiquooll0,0r_rel97ccccccccc58irtual_as58="li7e" na77hf="fdrmat7f58/ba6580coderef"ef">drm7t_hrt76/a>9; Ccll under>drivre=hotpluId1ahpointro oa adhrruct/**plaoa h id"v_a9rh"vL8/ef="r_rel97ccccccccc58"v3254" 358="li7e" na77h6="fdrmat7f5811>c580Le_shfv8" idchi7dren}763"vL291veass=offhrhf - Preclosa m0pointro oa h id3s/ba6e"v_a9rh"vL8/<27e58ertv580/ba6e8core.fdrm7t_hr>76o/99; drivre, us81roo6ow9v82l_Anyo6 ra h i>ef=" filerused amight/<27e58>d>c580a78kruct< href=7+codf76Sett 11veass=iindschild -edeivpointror_rel97ccccccccc58=dev" cla58="li7e" na77h9L398"><27e58s=>c580LL="+code=def="7rive376  ccccExecute_L29 drivredbusd_rel97ccccccccc588vL311" c48basef="d*ib7711 <110117<581ovo581"st_children_; 7a hrh773"vL29Lo be grouped under>/sysR"vL8/a>s/ba7oa h id"v_a9rhpointro o29}f7"><,,onhrERR_PTR() o29errorr_rel97ccccccccc58=dev" cla58="li7e" na770" cl1012>7258oo/a581a href="drivers7ba1oo77239" " otdbe used until eiL29_rel97ccccccccc58o/a>syma758wefuncti* s7cdev"inic#7t583s/b581lNULLe_shfvsv827ommev77bouf= Ccll under>drivre=hoteivNotrruh id3s/ba6edrivrupoff d touctsyma758wefuncti* s7c3+code=re7<581oow581ref"f="drive3s/7a7e/c77L391"87a hreef="drive3s/ba6e9)y,1excrs/bad with aned"v tou grouacrs/baa9r_rel97ccccccccc58"v3254" 358="li7e" na77="+code=de7"58p;vi581al_a="drive3s/b77e/co77/a>9; Ccll under>drivre=hotplcore.9#6318"te"c58"v3254" 358="li7e" na77=5="fdrmat7l58 svi5815corenvo/a>); <7 hrhf775riroo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><29r9 dummy da>vof3a>); leasf3256"a>); <291ocu9v81o/284" vLer>drivre=hotplcore.9#6318"te"c58"v3254" 358s="li7e" na7v_air_chil7s58rrvi581Le_shfv8" idenv7/a>);77lse /kfreeooooooooooooo84" cl8ss="l284" vL11roo6ow9v82lvo78kfsrodevLd8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/hrructeaso/a"lllllllllllllllllllllock6 id1014><291o_teass=hotplug325d8v_t92" c2lvo78kfsrodevLd8vteer>drivre=hotplcore.9#6318"te"c58"v3254" 358HEADsref><37_______">d7e58__vi581"li7e" na73"vL275"><374OBAL_cl8ss="li7e" narecss=hotplug325d8vtvL11rt_used6 id1014><291o/ndrvdataeass=hotplug325drvdatavL11r318"" cc58vL292" cl58>); <291o/nes. Useass=hotplug325es. UsvL11r318"" cc58vL292" cl58>); <27o58slvi581c#f=>(struct<<<6<<<<<67292" cl9s..............s="li7g325drvdatavL11r0li7st e3s/d6 id1014><291o/nfmteass=hotplug325fmtJ_ONL ..."957254" 58laddnt" c68p;virtual_a7"vL29c582"st_childrenss=6srpa9660189>101e_attr48o/a>syma758="li6e" na67cl8ss="li67l58" >c582a hr/kfreeo/a>(7a hvi78t_Bemutess=lock6 id1014><291va7lcsteass=hotplug325va7lcst92" c2lvo78kfsrodevLvarg82l_releasf3256"varg8/bs=7251" idc58eo/afor_e58="li7e" na77"dev"inic#7758=">c582lNULLe_shfvsv<<7<<<<<77292" cl9ss="l3s/ba6e8core.c#6318" id8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>(struct); c58sref">struct); c582al_a="drive3s/b67e/co674 narutex_unlock6 id1014><29va7starteass=hotplug325va7start/b=iindschild6 id101varg82l_releasf3256"varg8/bs=LINEs/ba6e8core.cfmteass=hotplug325fmtJ_ON"7251" idc58vL292" cl58>); c582elcklset/bas7hr6/*ers695_Be1veass=unlock6 id1014><291ostruct<28core.c#6a" ; <291ocu9v81o/hrructeass=hotplug325prructvL11rc2lvo78kfsrodevLd8vteass=hotplug325d8vtvL11rt id1014><291o/ndrvdataeass=hotplug325drs. UvL11016 id1014><291o/nes. Useass=hotplug325es. UsvL11r318"" cc58o/a>syma758="li6e" na67=retval" c7s58dr>c582Le_shfv8" idenv7/a>);77lse /kfreeooooooooooooohotplug325drvdatavL11r0014><291o/nvof3fmteass=hotplug325fmtJ_ONLINid1014><291o/nvarg82l_releasf3256"varg8/bs="7251" idc58o/a>syma758="li6e" na67=______">d7e58HE>c582"li7e" na73"vL265"><369)rre1ec6 id1014><291o/rec325va7endeass=hotplug325va7end/b=iindschild6 id101varg82l_releasf3256"varg8/bs="7251" idc58=dev" cla58>dto_derrot7"f="driver7a58dr>c582har/="drihrefe.6#iesl8ss="li7e" na79"vL11013><291ocu9v81o/a>(structc583v3232" 338ss="l67e" n65RT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es9"vL11013><29r9 dummy da>vof3a>); leasl_releasf3256"varg8/bs="7251" idc58=dev" cla58>dto_derrot7"vL31c583clbas_hrere.c#f7)"dri71c clc9eate ar58=dev" cla58>dto_derrot7"dev"inic#7758;v>c583e.c#f="ore.f/b67e/co68oahf="drr__match_ctvL11rc2lvo78kfsro__match_ctvLleasf3256"a>); <291ocu9v81o/a>s=hotpluss=hotplug325d8vtvL11r11rt id1014><291o/ndataeass_hrere.c#f7)"dri71c clc9eate ar58=L292" cl58>dto_derrot754vL39c58sref">hildrenss=6srpa9660189>101e_attr48=dev" cla58>dto_derrot75"+code=de7f58>)>c583al_a="drive3shotplu/a"lllllllllllllllllllllock6 id1014><291o_teacl8ss="li7e" na79"vrhf="id1014><291o/ofa" teass=hotplug325d8vt11rt id1014><291o/ndataeas_releasf3256"varg8/bs="7251" idc58=L292" cl58>dto_derrot755="fdrmat7l58c#>c583elcklset/bas7hr7/*ers70hildr251" idc58=dev" cla58>dto_derrot75retval" c7958=">c583v3232" 338ss="l77e" n74lse /kfreeo/antL11013><291ocu9v81o/a>ostructsyma758>dto_derrot75______">d7e58);>c583/ba6e8core.fdrm6t_hr>66e.c#7266" id8c48=dev" cla58>dto_derrot75f="driver7a58iT>c583    f="drive3s/6a7e/c68ri97trierrotc48dto_derro58s="li7e" na7= remov_bo7o58>(>c58ULL="+code=deevo7a_ro.73  cc 11veass=iindschild -ed<9span 96ccccccccc58o/a>syma758="li6e" na67BLOCK h3ef7c58ev>c58oLe_s="drive3s/b77e/co743"vL29Lba7vargde325oy - kkerv3s h id"v_s a3d_3rhfcs upooa"e3s/bba7varg82l_re()veass=iindschild -ed<9span 96ccccccccc58odev" cla58>dto_derrot7<32= ">gde7l58);>c581/ba6e8core.fv827omm5"74239" "L29 drivred29}fa subsequ@drivr:hpointro oa h id3s/ba6erhfc8/c584e.c#f()"willver7agree79bouf= @9<37" na73"vL27358 3>c584ref"f="drive3s/7a7e/c77L391"8veass=iindschild -ed<9span 96ccccccccc58odev" cla58HEADsref><37""+code=de7f58de>c584coderef"ef">drm7t_hrt76/a>9; Crivree9)y,- Preclosa roo6 drivre9oa h id"v_s a3d_3rhfcs upooa"e3s/baveass=iindschild -ed<9span 96ccccccccc58oL292" cl58="li7e" na7711 c5845core.c#7255e8c7re.ft76ase9v8ne9)y,1exba7varg82l_re()ned"v tou grouacrs/baa9r_rel97ccccccccc58s2"dri_= 58="li7e" na77"vL391"><37s58=">c584Le_shfv8" idchi7dren}763"vL29Ccll under>drivre=hotplcore.9#6318"te"c58eo/afor_e58HEADsref><37"______">d7e58if>c58="li7eers6ba1oo6ac clckliroo6ow9vde325oyvof3a>); ); <291ocu9v81o/284" vLo/a"lllllllllllllllllllllock6 id1014><291o_teass=hotplug325d8v_t92" c2lvo78kfsrodevLd8vts_hrere.c#f7)"dri71c clc9eate ar58"v3254" 358="li7e" na779_setuf="d7a58ba>c58char/=hildrenss=6srpa9660189>101e_attr48dto_derro58">deviceo/a71 remov_bo7o58ba>c584c#f=>(struct<<<7<<<<<77292" cl9ss="l3s/ba6e8core.c#6318" id8vL290" cl8ss="li7e" na79"vL11013><291ocu9v81o/a>(structc585a hr/kfreeo/a>(7a hvi78t_Bemveass=unlock6 id1014><291ostruct<291o/rec325p crs/bafind id1014; <291ocu9v81o/284" vL284" cl8ss="l284tavL11r0014><291o/nvof3/a>"   = ol9ssowil_varg8re.crL11rc2lvo78kfsrodevLd8vteass=hotplug325d8__match_ctvL11rc2lvo78kfsro__match_ctvLleasl_releasf3256"varg8/bs="7251" idc58vL292" cl58>); <3707re.frrrrveass=unlock6 id1014><291to_devo/a_ro.101e_attr58vL292" cl58>); <7358s=>c585ref"f="drivers/7a7e/c84" cl8ss="l284"c6 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc58laddnt" c68p;virtual_a7fsrodesref7f58de>c585="li7e" na75s="79">ena1oo6ac clckliroo6ow9vhild6 id1018 ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc58lL292" cl58="li6e" na67f1 c585elcklset/bas78core.fdrm6t_hr>66e.c#7266" id8c48eo/afor_e58="li7e" na77fvL391"><37s58=">c58LLe_sh8core.fdrm6t_hr>66e.c#7266" id8c48eo/afor_e58>); c58s/ba6=" 338ss="l67e" n65RT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es9"vL110de325oyvof3a>); ); c585    f="drive3s/6a7e/c68ri97trierrotc48vL292" cl58>); (>c58ULL="+code=de9v3792" c75  cc 11veass=iindschild -ed<9span 96ccccccccc58o/a>syma758="li6e" na67 href=rive7c58>d>c58="st_childrenss=7srpa9763"vL29Ldeass=="n=riv - kk=rivs h id"v_sveass=iindschild -ed<9span 96ccccccccc58oL292" cl58>dto_derrot78"vL392"><7l58s=>c581/ba6e8core.fdrm7t_hrr76239" "@9dto_derrot78="drive3s7758EX>c58clNULLe_shfvst_c7ildr>76bouf= C@new84" c: id"v_a9rive3e"v_a9e id"v_sveass=iindschild -ed<9span 96ccccccccc58=L292" cl58s="li7e" na74vL396"><37358=">c58sref">GLOBAL_drm7t_hre76L391"8veass=iindschild -ed<9span 96ccccccccc58=addnt" c68>dto_derrot7 srodesref7f58a >c58+coderef"ef">drm7t_hrt76/a>9; Cc"driva9e responsibilitye"v_a9e e9)yhrhf -provide mutu valass=iindschild -ed<9span 96ccccccccc58=L292" cl58>dto_derrot7"sre_to_hr7l58ba>c58e5core.c#7255e8c7re.ft76ase9v8nexclusvrupbetw hretwexbiffepluIde9)yse"v_deass=="n=rivalass=iindschild -ed<9span 96ccccccccc58=o/afor_e58>dto_derrot7"vL391"><37s58ba>c58LLe_shfv8" idchi7dren}763"vL291odschiisve3e0pointrsteensurs a3d_3new84" cdrivvals6banbveass=iindschild -ed<9span 96ccccccccc58=o/afor_e58>dto_derrot7L remov_bo7e58if>c58s/ba6e8core.fdrm7t_hr>76o/99; dwon: 7a tshotflica"v_a9rous81r0pointdlly1Taid"v_a9rhin >ef="r_rel97ccccccccc58=dev" cla58>dto_derrot7teir ">dtw7a58ba>c58la78kruct< href=7+codf76Sett 1ly1Taid"v_a9rhin >ef="r_rel97ccccccccc58=L292" cl58>dto_derrot7L1odesrefe7o58ba>c58ULL="+code=def="7rive376  ccccCcll unDon: 7a tsh9)y,1s/ba6edrivru.  CurpluIlyh id"v_atwerkuivelay81re9)ysedaructdto_derrot7 sets(ryea7c58ba>c58="st_children_; 7a hrh773"vL29L6edrivru, but a3d_3r oa change.  veasfollile_"vLext"v_a9rKay SieTis_e"vfepuctdto_derrot7drrwis3 s=7l58ba>c581a href="drivers7ba1oo77239" " so cdrnsight:ctdto_derrot7"sre_remov7758we>c58clNULLe_shfvsv827ommev77bouf= ctc58sref"f="drive3s/7a7e/c77L391"87Rn=rie_"v0pointddrivracy o6 rany leTils, sym7rik roo6 ous81rstuff ars notctdto_derrot7239" id8v37f58a >c58ual_a="drive3s/b77e/co77/a>9;  replacildatome.d9ry,roo6 you get h rivre=erv3rivre=hueTint, but it: 7a hreot easy9rhrivreddbeoa h id"veda9r_rel97ccccccccc684sre"Bect58devL326"va_7lassr6sysf7l58+c>c5875core.c#7255e8c7re.ft76ase9v8neonnect id"veTinthf - Preol6banbt<3754vL39w_bo7s58s=>c587Le_shfv8" idchi7dren}763"vL291d9rh id"rcdrin: 7a tseTin suppors/bad,hro6 ndschiikernel nowlly1Taid"v_a9rhin >ef="r_rel97ccccccccc58irtual_as58="li7e" na77 *oa href=7e58">>c587/ba6e8core.fdrm7t_hr>76o/99; ly1Taid"v_a9rhin >ef="r_rel97ccccccccc58idev" cla58="li7e" na77 eir ">dtw7a58=">c587a78kruct< href=7+codf76Sett 11Idschiimeantime, dunt_varn=rie_", youd,harget 4" cdra h i>eftakin by onous81ly1Taid"v_a9rhin >ef="r_rel97ccccccccc58iL292" cl58="li7e" na77 1odesrefe7o58o_>c587c#f=>(struct<<<7<<<<<78  ccccRoef="r,cs upot_vahotflicas. Or- Preol6b4" cdrivtakin directly offhrhyouly1Taid"v_a9rhin >ef="r_rel97ccccccccc58"v3254" 358="li7e" na77h3NULL="+c7c58S.>c588"st_children_; 7a hrh773"vL29Lkk=rivbdit --- Prn you get eTints/bad,hrivsve3eDEVPATH, bebade you eTin sevalass=iindschild -ed<9span 96ccccccccc58vL292" cl58); c588a href="drivers7ba1oo77239" " hrivrivre=erv3rivre=heTint.Cc": 7a hrjff daime"v_aanbtLL="+c7758ro>c588lNULLe_shfvst_c7ildr>76bouf= Ckernel 0pointrrn=rie_". Besidl_Anyo6, it: 7a hreot eTin imple76boebtef="r_rel97ccccccccc58"v3254" 358="li7e" na77339" id8v37f58id>c588al_a="drive3s/b77e/co77/a>9; ly1Taid"v_a9rhin >ef="r_rel97ccccccccc58"sre"Bect58="li7e" na77hassr6sysf7l58s=>c5885core.c#7255e8c7re.ft76ase9v8nWe ars curpluIly abouthf -changev_atwerkrrn=rie_" ndsu0pohf -completed"v_amustehavrhprv_aously_rel97ccccccccc58=dev" cla48s="li7e" na7"vL39}fven7s58=">c588Le_shfv8" idchi7dren}763"vL291disallilrrn=rie_" "v_deass=s ndschiisve3e=rivspaes. sschiikernel uses,v_amustehavrhprv_aously_rel97ccccccccc58=rtual_as58="li7e" na773*oa href=7e58ym>c588/ba6e8core.fdrm7t_hr>76o/99; dbecause we e9n: 7a tssolveroo6 sroble7fct<7a58s=>c58     f="drive3s/7a7e/c78Sett"87of multiple offhrfas=s v_a9outhras=s. Mivre,rrn=rie_" "v_eth[0-9]11veassond"v_amustehavrhprv_aously_rel97ccccccccc58=L292" cl58>); >c58.c#f=>(struct<<<7<<<<<78  ccccR*plallilruh idso cdous81r4" cdnyon eth[0-9]1,/bad,hrivabade78  vruvbveass=iindschild -ed<9span 96ccccccccc58vL292" cl58>); ef="r_rel97ccccccccc58laddnt" c68p;virtual_a7"drit_Becv7l58>)>c58 clbas_hrere.c#f7)"dri79239" "ly1Taid"v_a9rhin >ef="r_rel97ccccccccc58ldev" cla58="li6e" na67"vL39c58re.c#f()"willver7agree79bouf= @Maki9oa h rivre= uplrivre=h4" cdrdschii>ef="r bebade you ld6 id10aanyust_v_a9rhadbveass=iindschild -ed<9span 96ccccccccc58vL292" cl58="li7e" na77LL="+code=7358o/>c58325" cl8ss="li7e7 na7379L391"87so cdous81re3s7775f"rhbad,userspaes. idfind,hrivwhreegaiad,usesu0pohf -adbveass=iindschild -ed<9span 96ccccccccc58vv3254" 358>); en79/a>9; Csym7rik r---but neTisLkk4" cdkernel 0points lat"r,cit: 7a hra-completeime"v.nWeveass=iindschild -ed<9span 96ccccccccc58vsre"Bect58>dto_derrot7a href="dr7l58d >c58selcklset/bas7hr7/*ers79ase9v8ndon: 7a tseTin wanthf -get offo ido6 and,hry9rh imple76boschiimisquivepies=s ndveass=iindschild -ed<9span 96ccccccccc58vdev" cla48>); c588v3232" 338ss="l77e" n793"vL29_a9e eccccnWe  uplly  toucous81rpies=s  idfixdrdschii>ef="r cccc3me"v.n:)veass=iindschild -ed<9span 96ccccccccc58=dev" cla58>dto_derrot7L*oa href=7e58=">c58="li7e" na73"vL275"><379o/99; Ccll under>drivre=hotplcore.9#6318"te"c58o/a>syma758="li6e" na67L4vL39w_><7a58>d>c58char/=/b67e/co68oahf="drrdeass=="n=rivvof3a>); ); <291ocu9v81o/a>s=hotplug325drvdatavL11r0li7snew84" cL11013><291ocu9new84" cd8vts_hrere.c#f7)"dri71c clc9eate ar58=dev" cla58>dto_derrot7L*oa href=in88<_te 8a gain_devo/a_ro.101e_attr59=dev" cla59="li7e" na7791occ/73/c7369c7e5690v3232" 338ss=g325drvdatavL11r0li7sol6ve3s/b384" cL11013><291ocu9ol6ve3s/b384" c<291ostruct<291o/nvof3/a>"ef="drivers/ba7e/core.c7251" idc59"v3254" 359="li7e" na77s"+code=re7o69bbas690a hr/kfreeo/a/b67e/co68oahf="drre712rirolock6 id1014><2e3_o_eef="drivers/ba7e/core.c7251" idc59"23254" 359="li6e" na67"vL39c590lNULLf="drivers/ba7e/core.c7251" idc59"33254" 359="li7e" na77LL="+code=7359o/>c590ref"f="drive3s/7a7e/c78" narveass=unlock6 id1014><291ostruct<291o/rec325p get id1014256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc59irtual_as59="li7e" na77hf="fdrmat7f59/ba6590="li7e" na75sL275!f="drivers/ba7e/core.cr9v82lvo78kfsroda))f="drivers/ba7e/core.c7251" idc59i5tual_as59=dto_derrot7a href="dr7l59d >c590elcklset/bas7" 338ss="l77e" -" 338ss="l67e" nINVA2vL285"><285oueEXINVA2_o_eef="drivers/ba7e/core.c7251" idc59"6tual_as59=); c590v323e.265" " cd7v"ini71e.9#7318"" cc59"v3254" 359="li7e" na77"vL398"><27e59ertv590"li7e" na73"vL265"><369)rre1pr idbug><291o/rec325p ur idbug256>ef na73"vL275"vent_v">l under>d014: : 7a : 77;s: 7a : : 77;s:rrn=rie_"  id: 7a : 77;s: 7a \nl undecll undLo/a"llllllllllllllll=rivvof3a>); <27e59>d>c590har/="drihrefe.7#ies..ss=hotplug325d8__6edr__11rc2lvo78kfsro__6edr__d8vteass=hotplug325d8new84" cL11013><291ocu9new84" cd8vtsef="drivers/ba7e/core.c7251" idc59"9tual_as59=dto_derrot7L*oa href=in89s=>c590LL="+f="drivers/ba7e/core.c7251" idc598vL311" c49basef="d*ib7711 <110117<591ovo5910li7e" na73"vL265"><369)rre1ol6ve3s/b384" cL11013><291ocu9ol6ve3s/b384" c<291ostruct<285oueEGFP_KERNE2d8vtsef="drivers/ba7e/core.c7251" idc59=dev" cla59="li7e" na770" cl1012>7259oo/a5911"li7e" na75sL275!f="drivers/ba7eol6ve3s/b384" cL11013><291ocu9ol6ve3s/b384" c<291to_devo/a_ro.101e_attr59o/a>syma759wefuncti* s7cdev"inic#7t593s/b5912ar/="drihrefe.7#ies.e/co68oahf="drre712rirolock6 id1014><2e3_o_eost-" 338ss="l67e" nNOMEMvL285"><285oueEXNOMEM_o_eef="drivers/ba7e/core.c7251" idc59o/a>syma759wefuncti* s7c3+code=re7<591oow591ref"f="drivers/7a7e/cgo idf="drivers/ba7eouL11rc2lvo78kfsroouL_o_eef="drivers/ba7e/core.c7251" idc59ortual_as59="li7e" na77="+code=de7"59p;vi591="li7e" na75s8core.fdrm6t_hr>66e.c#7266" id8c49"v3254" 359="li7e" na77=5="fdrmat7l59 svi591elcklset/bas7hr7/*ers70hildr251" idc59"v3254" 359s="li7e" na7v_air_chil7s59rrvi591Le_shfv8" ideL275"><3707re.frrrrveass=unlock6 id1014><291ostruct<291ocu9v81o/284" vto_devo/a_ro.101e_attr59ov3254" 359HEADsref><37_______">d7e59__vi591"li7e" na73"vL275"><3e/co68oahf="drre712rirolock6 id1014><2e3_o_eoste/co68oahf="drroo6owg"n=riv_7rikirolock6 id1014oo6owg"n=riv_7rik<291e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81o/284" vostruct101e_attr59ortual_as59>); <291ostruct<369)rre1ol6ve3s/b384" cL11013><291ocu9ol6ve3s/b384" c<291eass=hotplug325d8new84" cL11013><291ocu9new84" cd8vtsef="drivers/ba7e/core.c7251" idc59vL292" cl59>); <27o59slvi591c#f=>(struct<<<6<<<<<3707re.frrrre712rirolock6 id1014><2e3_o_e)f="drivers/ba7e/core.c7251" idc59laddnt" c69p;virtual_a7"vL29c5920ar/="drihrefe.7#ies.........go idf="drivers/ba7eouL11rc2lvo78kfsroouL_o_eef="drivers/ba7e/core.c7251" idc59o/a>syma759="li6e" na67cl8ss="li67l59" >c592a hr/kfreeo/a8core.fdrm6t_hr>66e.c#7266" id8c49eo/afor_e59="li7e" na77"dev"inic#7759=">c592lNULLf="drivers/ba7e/core.c7251" idc59vL292" cl59>); c592ref"f="drive3s/7a7e/c78" nare712rirolock6 id1014><2e3_o_eoste/co68oahf="drrkobject="n=rivvof3a>); <369)rre1new84" cL11013><291ocu9new84" cd8vtsef="drivers/ba7e/core.c7251" idc59vv3254" 359>); c592="li7e" na75sL275"><3707re.frrrre712rirolock6 id1014><2e3_o_e)f="drivers/ba7e/core.c7251" idc59lv3254" 359>); c592elcklset/bas7" 338ss=go idf="drivers/ba7eouL11rc2lvo78kfsroouL_o_eef="drivers/ba7e/core.c7251" idc59ov3254" 359="li6e" na67=retval" c7s59dr>c592v323e.265" " cd7v"ini71e.9#7318"" cc59o/a>syma759="li6e" na67=______">d7e59HE>c592/ba6=" 338ss="l67e" ouL11rc2lvo78kfsroouL_o_e:.265" " cd7v"ini71e.9#7318"" cc59ortual_as59>dto_derrot7"f="driver7a59dr>c592    }ef="driver7/ba7e77nicc1"c6 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc59vL292" cl59s="li7e" na7 href="dri7o59>d>c592LL="+f="drivers/ba7e/core.c7251" idc59dto_derro59s="li7e" na711 c5930li7e" na73"vL265"><369)rre1kfrevvof3a>); ef="drivers/ba7eol6ve3s/b384" cL11013><291ocu9ol6ve3s/b384" c<291tef="drivers/ba7e/core.c7251" idc59=dev" cla59>dto_derrot7"vL31c593clbas_hrere.c#f7)"dri71c clc9eate ar59=dev" cla59>dto_derrot7"dev"inic#7759;v>c5932ar/="drihref"l77e" n74lse /kfreeo/e712rirolock6 id1014><2e3_o_eef="drivers/ba7e/core.c7251" idc59=L292" cl59>dto_derrot754vL39c59sref">8core.fdrm6t_hr>66e.c#7266" id8c49=dev" cla59>dto_derrot75"+code=de7f59>)>c593al_a=" 338ss="l67e" n65RT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es9"vL110"n=rivvof3a>); dto_derrot755="fdrmat7l59c#>c593elcklset/bas7hr7/*ers70hildr251" idc59=dev" cla59>dto_derrot75retval" c7959=">c593v3232="ore.f/b67e/co68oahf="drrba7vargerv3__derr_7rik>vof3a>); alasf3256"a>); <291ocu9v81o/a>sset/bas7hr7/*ers70hildr251" idc59=/a>syma759>dto_derrot75______">d7e59);>c593"li7e" na73"vL275"><374OBAL_cl8ss="li7e"3256"a>); <291ocu9v81ol6v" vL11o/a>sset/bas7hr7/*ers70hildr251" idc59=rtual_as59>dto_derrot75f="driver7a59iT>c593har/="drihrefe.7#ies....................3256"a>); <291ocu9v81new8" vL11_o_e)f="drivers/ba7e/core.c7251" idc59dto_derro59s="li7e" na7= remov_bo7o59>(>c593 gain_devo/a_ro.101e_attr59o/a>syma759="li6e" na67BLOCK h3ef7c59ev>c5940li7e" na73"v/b67e/co68oahf="drre712rirolock6 id1014><2e3_o_eost0ef="drivers/ba7e/core.c7251" idc59odev" cla59>dto_derrot7<32= ">gde7l59);>c594clbas_hrere.c#f7)"dri71c clc9eate ar59odev" cla59devL326"va_7L299" cl8s7759ef>c594lNULLe_shfvsvL275"><3707re.frrrrol6v" vL11ro3><291ocu9v81ol6v" vL11o/a>)f="drivers/ba7e/core.c7251" idc59oL292" cl59HEADsref><37" na73"vL27359 3>c594ref"f="drivers/7a7e/c84" cl8ss="l284oo6owg"nerv3_7rikirolock6 id1014oo6owg"nerv3_7rik<291e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostructl under>d014l undecll undtef="drivers/ba7e/core.c7251" idc59odev" cla59HEADsref><37""+code=de7f59de>c594="li7e" na75sL275"><3707re.frrrrnew8" vL11ro3><291ocu9v81new8" vL11_o_e)f="drivers/ba7e/core.c7251" idc59oL292" cl59="li7e" na7711 c594elcklset/bas7" 338ss=e/co68oahf="drre712rirolock6 id1014><2e3_o_eoste/co68oahf="drroo6owg82l_rel7rikirolock6 id1014oo6owg82l_rel7rik<291e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81new8" vL11_o_eostruct<37s59=">c594Le_shfv8" idenv7/a>);77lse /kfreeooooooooooooovL na73"vL275"vent_v">l under>d014l undecll undtef="drivers/ba7e/core.c7251" idc59o/a>syma759HEADsref><37"______">d7e59if>c594"li7e" na73"v"l77e" n74lse /kfreeo/e712rirolock6 id1014><2e3_o_eef="drivers/ba7e/core.c7251" idc59"v3254" 359="li7e" na779_setuf="d7a59ba>c59char/=8core.fdrm6t_hr>66e.c#7266" id8c49dto_derro59">deviceo/a71 remov_bo7o59ba>c594LL="+f="drivers/ba7e/core.c7251" idc59"v3254" 359="li7e" na77mt:="drmat7c59ba>c595v3232" 338ss="l77e" n793"vL 11veass=iindschild -ed<9span 96ccccccccc59vL292" cl59); c595a href="drivers7ba1oo77239" " ba7vargerv3 - erv3s h id"v_s are=h); ); <7359s=>c59525" cl8ss="li7e7 na7379L391"87anew8" vL11: id"v_a9rotpluId"v_a9e id"v_s (sed ayr>dri)veass=iindschild -ed<9span 96ccccccccc59laddnt" c69p;virtual_a7fsrodesref7f59de>c595="li7e" na75s="79">en79/a>9; Ccdpm_order: howrstereorder_a9e ipm_7lcsteass=iindschild -ed<9span 96ccccccccc59lL292" cl59="li6e" na67f1 c595elcklset/bas7hr7/*ers79ase9v8Ccll under>drivre=hotplcore.9#6318"te"c59eo/afor_e59="li7e" na77fvL391"><37s59=">c59LLe_sh/b67e/co68oahf="drrba7vargerv3vof3a>); ); <291ocu9v81o/a>s.3256"a>); <291ocu9v81new8" vL11_o_eef="drivers/ba7e/core.c7251" idc59eo/afor_e59>); c595"li7e" na73"vL275"><3enum>); ); c595har/=hildrenss=6srpa9660189>101e_attr49vL292" cl59>); (>c595c#f=>(structsyma759="li6e" na67 href=rive7c59>d>c5960li7e" na73"v3256"a>); <291ocu9v81ol6v" vL11o/a>ef="drivers/ba7e/core.c7251" idc59oL292" cl59>dto_derrot78"vL392"><7l59s=>c5961li7e" na73"v3256"a>); ); ef="drivers/ba7e/core.c7251" idc59odev" cla59>dto_derrot78="drive3s7759EX>c596lNULLf="drivers/ba7e/core.c7251" idc59=L292" cl59s="li7e" na74vL396"><37359=">c596ref"f="drive3s/7a7e/c78" narveass=unlock6 id1014><291ostruct<291o/rec325p get id1014256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda))ef="drivers/ba7e/core.c7251" idc59=addnt" c69>dto_derrot7 srodesref7f59a >c596="li7e" na75sL275!f="drivers/ba7e/core.cr9v82lvo78kfsroda))f="drivers/ba7e/core.c7251" idc59=L292" cl59>dto_derrot7"sre_to_hr7l59ba>c596elcklset/bas7" 338ss="l77e" -" 338ss="l67e" nINVA2vL285"><285oueEXINVA2_o_eef="drivers/ba7e/core.c7251" idc59=o/afor_e59>dto_derrot7"vL391"><37s59ba>c596v323e.265" " cd7v"ini71e.9#7318"" cc59=o/afor_e59>dto_derrot7L remov_bo7e59if>c596"li7e" na73"vL265"><369)rre1ba7vargpm_7ockirolock6 id1014ba7vargpm_7ock256>e)ef="drivers/ba7e/core.c7251" idc59=v3254" 359>dto_derrot7teir ">dtw7a59ba>c596    }ef="driver7/ba7e77nicc1new8" vL11ro3><291ocu9v81new8" vL11_o_eostruct<291o/rec325p get id1014256>ef="drivers/ba7enew8" vL11ro3><291ocu9v81new8" vL11_o_e)ef="drivers/ba7e/core.c7251" idc59=L292" cl59>dto_derrot7L1odesrefe7o59ba>c5969   }ef="driver7/ba7e77nicc1new8" vL11_kobjfsrodevLata hbunew8" vL11_kobjo/a>ostruct<291ocu9v81get id10148" vL11256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1new8" vL11ro3><291ocu9v81new8" vL11_o_e)ef="drivers/ba7e/core.c7251" idc59=dev" cla59>dto_derrot7 sets(ryea7c59ba>c597v3232" 338ss="l77e" n75.c#7266" id8c59=L292" cl59>dto_derrot7drrwis3 s=7l59ba>c597a hr/kfreeo/a>(7a hvi78t_Bempr idbug><291o/rec325p ur idbug256>ef na73"vL275"vent_v">l under>d014: : 7a : 77;s: 7a : : 77;s:rerve_"  id: 7a : 77;s: 7a \nl undecll undLo/a"llllllllllllllll=rivvof3a>); dto_derrot7"sre_remov7759we>c5972ar/="drihrefe.7#ies..ss=hotplug325d8__6edr__11rc2lvo78kfsro__6edr__d8vteass=hotplug325d8new8" vL11ro3><291ocu9v81new8" vL11_o_eo?o/a"llllllllllllllll=rivvof3a>); <291ocu9v81new8" vL11_o_e) :vL na73"vL275"vent_v">l unde<>dristrul undecll undtef="drivers/ba7e/core.c7251" idc59=L292" cl59="li6e" na67rioolac#727359pr>c597ref"f="drive3s/7a7e/c78" nare712rirolock6 id1014><2e3_o_eoste/co68oahf="drrkobject=erv3vof3a>); <291ostruct<369)rre1new8" vL11_kobjfsrodevLata hbunew8" vL11_kobjo/a>tef="drivers/ba7e/core.c7251" idc59=addnt" c69>dto_derrot7239" id8v37f59a >c597="li7e" na75sL275"><3707re.frrrre712rirolock6 id1014><2e3_o_e)o_devo/a_ro.101e_attr594sre"Bect59devL326"va_7lassr6sysf7l59+c>c597elcklset/bas7" 338ss=e/co68oahf="drrdrivrup_glue_dirirolock6 id1014drivrup_glue_dir256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1new8" vL11_kobjfsrodevLata hbunew8" vL11_kobjo/a>tef="drivers/ba7e/core.c7251" idc59=o/afor_e59HEADsref><3754vL39w_bo7s59s=>c597Le_shfv8" idenv7/a>);er7/ba7e77nicc1"c6 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7enew8" vL11ro3><291ocu9v81new8" vL11_o_e)ef="drivers/ba7e/core.c7251" idc59=o/afor_e59="li7e" na77 *oa href=7e59">>c597"li7e" na73"vL275"><3go idf="drivers/ba7eouL11rc2lvo78kfsroouL_o_eef="drivers/ba7e/core.c7251" idc59idev" cla59="li7e" na77 eir ">dtw7a59=">c597" vL11ro3><298core.fdrm6t_hr>66e.c#7266" id8c49e" na77 1o97e" na77 *oa href=7e59">>eate12rve_"  id: 7a : 77;s: 7a \nl undecll undLo/a"llllllllllllllll=rivvof3a>); <3754vL39w_bo7s59s=>c597Le_shfv8" idenv7/a>);er7/ba7e77nicc1"c6 r9v82lvo78ktom=euict<291ocu9v81new8" vL11_o_e)ekL19N8ers/ba7eouL11rc2lvo78kfsroouL92" cl59>d c58898li7e" na75sL275!f<3707re.frrrrol6v" vL11ro3><291ocu9v81ol6v" vL11o/a>)f="drivers/ba7e/core.c7251" idc59oLev" cla58=9li7e" na7732">LL="+c7758r9>c58898r/="drihrefe.7#ies.e/co68oahf="drre7kcstenerv3_7rodevLata hbukobcstenerv3_791e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81olk6es  vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=o292" cl58=9li7e" na773ioolac#727358=9>c588983i7e" na75sL275!f<3707re.frrrrolw8" vL11ro3><291ocu9v81new8" vL11_o_e) :vevo/a_ro.101e_attr594s3254" 358=9li7e" na77339" id8v37f58i9>c58898li7e" na75s="79">ena1oo6ac clckliroobcstenadd_tailrodevLata hbukobcstenadd_tail91e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81olk6es  vL11ro_e)e=hotplug325es. UsvL11r318"" cc59=dre"Bect58=9li7e" na77hassr6sysf7l58s9>c58898cklset/bas7" 338ss=e//////////////// ol9ssowil_varg8renew8" vL11ro3><291ocu9v81new8" vL11_o_eostructc58898_shfv8" idenv7/a>);er7/ba7e77nicc1"cs id101_6es olock6 id1014oo6 id101_6es 6>ef="drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1ne101_to_6es olock6 id1014oo101_to_6es 6>ef="drivers/ba7enew8" vL11ro3><291ocu9v81new8" vL11_o_e)eff="drivers/ba7e/core.c7251" idc59=o2afor_e59="li7e" na773*oa href=7e58y9>c588987L11ro3><298core.fdrm6t_hr>66e.c#7266" id8c49e"ev" cla58r9ota href=754vL39w_><7a58s9>c58 98  f="drive3s/6a7e/c68ri97trierrotc48v9292" cl58>9; c58.989i7e" na75sL275!f<3707re.frrrrolass=unlock6 id1014><291ostruct<291ocu9v81o/284" vto_devo/a_ro.101e_attr59ov292" cl58>9; <2e3_o_eoste/co68oahf="drrko7vargerv3__derr_7rik>vof3a>); alasf32"drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1ne6v" vL11ro3><291ocu9v81ol6v" vL11o/a>sse265"><369)rre1new8" vL11ro3><291ocu9v81new8" vL11_o_e)ef="drivers/ba7e/core.c7251" idc59=dddnt" c68p9virtual_a7"drit_Becv7l58>9>c58 991/="drihrefe.7#ies...75"><3707re.frrrre712rirolock6 id1014><2e3_o_e)o_devo/a_ro.101e_attr594sev" cla58=9li6e" na67"vL39c58r99r/="drihrefe.7#ies..ss#ies...738ss="l77e" n793"vL 11ve  uignc3me2e3_osdschivrup_g sinerhfe7a \n3mehouh ianyway...Ccll under>drivre=hotplcore.9#6318"te"c59eo292" cl58=9li7e" na77LL="+code=7358o9>c58399f"f="drivers/7a7e/c847#ies...7a7e/c78" nare77vargerv3__derr_7rik>vof3a>); alasf32"drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1new8" vL11ro3><291ocu9v81new8" vL11_o_eef=265"><369)rre1ne6v" vL11ro3><291ocu9v81ol6v" vL11o/a>ssf="drivers/ba7e/core.c7251" idc59=dd254" 358=9; ena17#ies...75">="drivers/ba7e/cbject=erv3vof3a>); <291ostruct<291ocu9v81ol6v" vL11o/a>sstruct101e_attr594see"Bect58=9to_derrot7a href="dr7l58d9>c58s99cklset/bas7" 338ss=e////////////////275"><3707re.frrrrnew8" vL11ro3><291ocu9v81new8" vL11_o_e)f="drivers/ba7e/core.c7251" idc59oLev" cla48>9; c58899_shfv8" idenv7/a>);77lse /kfreeooooooooooooovco68oahf="drre7kcstenerv3_7rodevLata hbukobcstenerv3_791e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81olk6es  vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=oev" cla58>9to_derrot7L*oa href=7e58=9>c58=99i7e" na73"vL275"><374OBAL_cl8ss="li7ef><3754vL39w_bo7s59s=>c597Le_shfv8" idenv7/a>);er7/ba7e77nicc1"c6 r9v82lvo78ktom=euict<291ocu9v81ol6v" vL11o/a>ef="drivers/ba7e/core.c7251" idc59oLa>syma758=9li6e" na67L4vL39w_><7a58>9>c58c99r/="drihrefe.7#ies...................75!f<3707re.frrrrol6v" vL11ro3><291ocu9v81ol6v" vL11o/a>)f=devo/a_ro.101e_attr594se92" cl58>9to_derrot7L*oa href=in88<9te 8a99f=>(struct<<<6<<<<<67292" cl9s..............soo6ac clckliroobcstenadd_tailrodevLata hbukobcstenadd_tail91e = ol9ssowil_varg8re.crss=unlock6 id1014><291ostruct<291ocu9v81olk6es  vL11ro_e)e=hotplug325es. UsvL11r318"" cc5920ev" cla5920ev" errot7L*oa href=in8820ev">20ev=>(struct<<<6<<<<<67292" cl9s..............ssssssssssssssss ol9ssowil_varg8re.c6v" vL11ro3><291ocu9v81ol6v" vL11o/a>sstructotplug325es. UsvL11r318"" cc5920e1" cla5920eirtual_a7"drit_Becv7l5820eir>20e1/="drihrefe.7#ies...292" cl9s..............soo6ac clckliroos id101_6es olock6 id1014oo6 id101_6es 6>ef="drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1ne101_to_6es olock6 id1014oo101_to_6es 6>ef="drivers/ba7ene6v" vL11ro3><291ocu9v81ol6v" vL11o/a>)f=f="drivers/ba7e/core.c7251" idc5920e2" cla5920ei6e" na67"vL3920er/="drihrefe.7#ies..ss#ies...........ore.fdrm6t_hr>66e.c#7266" id8c4920e3" cla5920ei7e" na77LL="+code=735820ei7>20ef"f="drivers/7a7e/c847#ies...ore.fdrm6t_hr>66e.c#7266" id8c4920e4" cla5920e ena17#ies...co68oahf="drrdrivrup_glue_dirirolock6 id1014drivrup_glue_dir256>ef="drivers/ba7e/core.cr9v82lvo78kfsroda)evL265"><369)rre1new8" vL11_kobjfsrodevLata hbunew8" vL11_kobjo/a>tef="drivers/ba7e/core.c7251" idc5920e5" cla5920eo_derrot7a href="dr7l5820eo_>20ecklset/bas7" 338ss=e/////////7/ba7e77nicc1"c6 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7enew8" vL11ro3><291ocu9v81new8" vL11_o_e)ef="drivers/ba7e/core.c7251" idc5920e6" cla5920e 20e_shfv8" idenv7/a>);77lse /kfr idf="drivers/ba7eouL11rc2lvo78kfsroouL_o_eef="drivers/ba7e/core.c7251" idc5920e7" cla5920eo_derrot7L*oa href=7e5820eo_>20ei7e" na73"vL275"><374ore.fdrm6t_hr>66e.c#7266" id8c4920e8" cla5920ei6e" na67L4vL39w_><7a5820ei6>20evL11ro3><298core.fdrm6t_hr>66e.c#7266" id8c4920e9" cla5920eo_derrot7L*oa href=in8820eo_>20ef=>(struct<<<7witch!f<3707re.frrrrola_order6e8core.c#6318" pm_orderli7e)f=devo/a_ro.101e_attr59201v" cla5920sef="d*ib7711 <110117<5920sef>20se=>(struct<<10="drivers/ba7eouDPM_ORDER_NONE8core.c#6318" pDPM_ORDER_NONE=>(s265" " cd7v"ini71e.9#7318"" cc5920s1" cla5920li7e" na770" cl1012>725920li7>20s1/="drihrefe.7#ies...break="drivers/ba7e/core.c7251" idc592012" cla5920functi* s7cdev"inic#7t5920fun>20s2=>(struct<<10="drivers/ba7eouDPM_ORDER_DEV_AFTER_PARENT8core.c#6318" pDPM_ORDER_DEV_AFTER_PARENT=>(s265" " cd7v"ini71e.9#7318"" cc5920s3" cla5920functi* s7c3+code=re7<5920fun>20sf"f="drivers/7a7e/c84" cl8ss="l284oo7vargpm_7ov3__dfhrhyf3a>); <369)rre1new8" vL11ro3><291ocu9v81new8" vL11_o_eeff="drivers/ba7e/core.c7251" idc592014" cla5920li7e" na77="+code=de7"5920li7>20sli7e" na75s="79">ena1break="drivers/ba7e/core.c7251" idc592015" cla5920li7e" na77=5="fdrmat7l5920li7>20s5=>(struct<<10="drivers/ba7eouDPM_ORDER_PARENT_BEFORE_DEV8core.c#6318" pDPM_ORDER_PARENT_BEFORE_DEV=>(s265" " cd7v"ini71e.9#7318"" cc5920s6" cla5920"li7e" na7v_air_chil7s5920"li>20s_shfv8" idenv7/a>);er7/ba7e77nicc1"c7varger_7ov3__dbade yf3a>); ef="drivers/ba7enew8" vL11ro3><291ocu9v81new8" vL11_o_e)eL265"><369)rre1ne101.cr9v82lvo78kfsroda)evf="drivers/ba7e/core.c7251" idc592017" cla5920ADsref><37_______">d7e5920ADs>20si7e" na73"vL275"><374break="drivers/ba7e/core.c7251" idc592018" cla5920; (s265" " cd7v"ini71e.9#7318"" cc5920s9" cla5920; <27o5920; <>20sf=>(struct<<<6<<<<<677/ba7e77nicc1"c7varger_7ov3__dhrh1rc2lvo78kfsrodevLdrger_7ov3__dhrh1asf32"drivers/ba7e/core.cr9v82lvo78kfsroda)evf="drivers/ba7e/core.c7251" idc59202v" cla5920virtual_a7"vL2920vi7e" na73"vL275"><374break="drivers/ba7e/core.c7251" idc592021" cla5920li6e" na67cl8ss="li67l5920li6>20vhr/kfreeo/a8core.fdrm6t_hr>66e.c#7266" id8c4920v2" cla5920li7e" na77"dev"inic#775920li7>20vULLf="drivers/ba7e/core.c7251" idc5920v3" cla5920; 20vf"f="drive3s/7a7e/c78" nare76 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7ene6v" vL11ro3><291ocu9v81ol6v" vL11o/a>ssf="drivers/ba7e/core.c7251" idc5920v4" cla5920; 20v_a=" 338ss="l67e" n6L11rc2lvo78kfsroouL_o_e:.265" " cd7v"ini71e.9#7318"" cc5920v5" cla5920; ef=f="drivers/ba7e/core.c7251" idc5920v6" cla5920li6e" na67=retval" c7s5920li6>20v6"f="drive3s/7a7e/c78" nare76 id1014><291o/rec325p u/_ve3s/b3256>ef="drivers/ba7eneore.cr9v82lvo78kfsroda)evf="drivers/ba7e/core.c7251" idc592027" cla5920li6e" na67=______">d7e5920li6>20vi7e" na73"v"l77e" n74lse /kfreeo/e712rirolock6 id1014><2e3_o_eef="drivers/ba7e/core.c7251" idc5920v8" cla5920to_derrot7"f="driver7a5920to_>20vr/=8core.fdrm6t_hr>66e.c#7266" id8c4920v9" cla5920"li7e" na7 href="dri7o5920"li>20v9a=" 338ss="l67e" n65RT_SYMBOL_GP72vL285"><285oueEXPORT_SYMBOL_GP7L290292" cl9ss="li6es9"vL110"nv3vof3a>); 20"lLLf="drivers/ba7e/core.c7251" idc592031" cla5920to_derrot7"vL3120"href="drivers7ba1oo77239" "1veass=iindschild -ed<9span 96ccccccccc5920"2" cla5920to_derrot7"dev"inic#775920to_>20"c#f()"willver7agree79bouf= @9<7vargershutdown -9)y,1structshutdown()dscheach!ointrstellshutdowny1Taid"v_a9rhin >ef="r_rel97ccccccccc5820"3" cla5920to_derrot754vL3920"" cl8ss="li7e7 na7379L391"87all under>drivre=hotplcore.9#6318"te"c5920"4" cla5920to_derrot75"+code=de7f5920to_>20"_a=" void/7a7e/c78" nare7vLdrgershutdownf3a>); 20"6"f="drive3s/56"a>); <291ocu9v81o/a>s.="drivers/ba7e/core.c7251" idc592037" cla5920to_derrot75______">d7e5920to_>20"7LLf="drivers/ba7e/core.c7251" idc592038" cla5920to_derrot75f="driver7a5920to_>20"  }ef="driver7/ba7e77nicc1nespinockirolock6 id1014baspinockir91e = ol9ssowil_varg8re.crssts l_kse1rc2lvo78kfsrodevLdrgel_kse1 vostruct20""  id: 7a : 77drivers7ba1oo77239" "1vl under>drivre=hotplcore.9#6318"te"c59204v" cla5920li6e" na67BLOCK h3ef7c5920li6>20li cl8ss="li7e7 na7379L391"8777777777* Walk9e id"v_s (s cste backward,lshut_vahodown each!schi" ny1Taid"v_a9rhin >ef="r_rel97ccccccccc582041" cla5920to_derrot7<32= ">gde7l5920to_>20lhref="drivers7ba1oo77239" " 77777777* Bewa a3d_3neointrstunplugTints/bamay alsllstart pul32=g1Taid"v_a9rhin >ef="r_rel97ccccccccc582042" cla5920vL326"va_7L299" cl8s775920vL3>20lc#f()"willver7agree79bouf= @77777777* "v_s (s off299",Tin waschiikesystemivtashut_vahodowny1Taid"v_a9rhin >ef="r_rel97ccccccccc582043" cla5920ADsref><37" na73"vL2735920ADs>20l" cl8ss="li7e7 na7379L391"8777777777*ll under>drivre=hotplcore.9#6318"te"c592044" cla5920ADsref><37""+code=de7f5920ADs>20lli7e" na75s="while">="drivers/ba7e/ccstenemptyolock6 id1014bacsten12s/ba7e/core.c7251" idc5920i1re.c7 see79bouf= na75mnel977rik<3s/ba6e8core.c#38a hrhf7h9L398"><27o5920; <>20sf=>na7379Lntr" cl8ss="li7e7 na7379Lntr"er7a5920to_>20vr/=8core.fdlcore.9#6318"te"c592044" cla5920ADsref><37""+code=de7f5920ADs>20lli7e" na75s="while"crss=unlock6 id1prore.c#38a hrhf7h9prorr_chilrs/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fcstenadd_tail91e = ol9ssowil_varg84ershutdown hbukobjd8vtev = ol9ssowwn hbre.c/bas7" 338ss=e////////////////275"><3v3<291e = ol9ssowil_varg8re.crss=unlock6 icrss=unlock6 id1Lntr" cl8ss="li7e7 nLntr"er7a77nicc1nespinockirolock6 id1014basp475retval"  na77"vL391"><37s59=">c5"  nare.c; syma759Hl8c72re.ccc1"c6 r9v82lvo78ktomdevLdrgel_kse1 vostructdto_derrot7239" id8205enckirasf3="li7e" na779_setuf="d7af3="l>f3="t"87of multiple offhrfas=s                 * prorreclit from beg1Ta9s="d"v_deass=- Precass=iiccccc58=addnt" c68>dto_derrot7239" id8205" na67BLOC94LL="+f="drivers/ba7e/cOC94L>f3= na7379L391"8777777777* Walk9e id"v_        * er7/ onouhf3=ers7ba1oo77239" " 77777777* Bewa a3d* "v_s (s off299",Tin waschiikesystemivtashut_vaho520vL326"va9>); c596lNULLf="drivers/ba7e/core.c7251" idc59=L292" cl59s="li7e" na74vL396" vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=oev" c77nicc1nespinockirolock6 id1014basp5owny1Taid"<7359s=d"f3=#727358=9>c588983i7e" na75sL275!f<37s7759EX>c596lNULLf="drivers/ba7e/core.c7251" idc59=L292" cl59s="li7e" na74vL396"><37359=">c596ref"f="drive3s/7a7ef3=14bacsten19laddnt" c69p;virtual_a7n19la>f3=7 see79bouf= na75mnel9evLdrgel_kse1 vostructf3=8ndon: 7a tseTin wanthf -get9e id"v_        * 7"drisurea m0pointrstirstunamuste20Aa : 7,es=s ndoa hkL1ocu9csucstenckirolock6 id1014bacs575retval" u9v81o/a>s.3256"a>); f3=793"vL29_a9e eccccnWe  uplly9e id"v_        * orrecl backwar vL11*href="drivers7badoesernel 0pivers/lit_a9rhin >ef="r_rel97ccccccccc582042" cla55vL290" cl8"vL275"><3enum>); f3=dbecause we e9n: 7a tssolverBewa a3d* "v_s (s off299",Tin waschiikesystemivtashut_vaho5nockir91e lpm_order6e8core.c#6318"e lpm>f3=s8=>(struct<<10="drivers/ba7eouDPa7379del_inis>20lli7e" na75s="wh9del_iniseoffh#>101e_attr594se92" cl58>9to_derrot7L*oa href=in88<9te 8a99f=>(stowil_varg8re.crss=unlock6 icrss=unlock6 id1Lntr" cl8ss="li7e7 nLntr"er7a77nicc1nespinockirolock6 id1014basp6enckirasf3189>101e_attr49vL292" clf3189>f3188=>(struct<<10="drivers/ba7eouDPto_de <>20v_a=" 338ss="l67to_de <>20v75______">d7e5920to_>20"7LLf="drivers/ba7e/core.c7251" idc592038" cla5920to_derrot75f="driver7a5920to_>20"  }ef="driver7/ba7e77nicc1nespinockirolock6 id1014basp6" na67BLOCi7e" na73"v3256"a>); f317BLOCK h3ef7c59ev>c5940li7e" na73"v/f31to_derrot7256"a>); f31s3 s=7l58v9>c58898li7e.7#ies...75"><3707re.frrhtakier7/ 38ss5820" v_aavrhpr. sse/relec592s off299",Tin waschiikesystemivtashut_vaho620vL326"vakobjfsrodevLata hbunew8"vakob>f3110="drivers/ba7eouDPMrm6t_hr>66e.c#7266" id8c49e"ev" cla58r9ota href=754vL39w_><7a58ss/ba7e/core.c7251" idc59=oev" c7,Tin waschiikesystemivtashut_vaho6owny1Taid"s=unlock6 id1014><291ostd"s=u>f31c#7266" id8c4920e3" cla5920ei7e" na77LL="+cocl8ss=">20v_a=" 338ss="l67e" n6L1>20v75___251" idc59=L292" cl59s="li7e" na74vL396" vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=oev" c77nicc1nespinockirolock6 id1014basp614bacsten1/core.c7251" idc59=addntn1/co>f317 see79bouf= na75mnel977rik<3s/ba6e8corss=">20v_a=" 338ss="l67e" n6L1>20v75___251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp6ershutdown9=L292" cl59>dto_derrot7wn9=L>f31r7l59ba>c596elcklset/bas7" 338ss="l7f3175retval" "l67e" nINVA2vL285"><285" "l6>f31707re.frrrrveass=unloc.7#ies...75"><3707re.frrDkernel 0puthraeoff mriroruecimrisuspends2s off299",Tin waschiikesystemivtashut_vaho6vL290" cl8o/afor_e59>dto_derrot7L l8o/a>f31cc1"c6 r9v82lvo78ktomdo_e)ef="driversm_ruecimr_rs/b2rirsuov7759we>c5972ar/sm_ruecimr_rs/b2rirsuov75___251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp6nockir91e L11_o_eostructf31s8=>(struct<<10="drivers/ba7eouDPsm_ruecimr_barri18" pDPM_ORDER_DEsm_ruecimr_barri1875___251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp7enckirasf31get id10148" vL11256>eff31ge>f31g7l59ba>c596elcklset/bas7" 338ss="l7f37" na67BLOCw8" vL11ro3><291ocu9v81nOCw8">f311ro3><291ocu9v81ol6v" vL11o/a>sse265"><3" cl59s="li7e" na74vL396" vL11ro_e)ef="driverbuouh ianyway...Ccbuoro3><___">___">L1ocu9csuk6es  vL11ro3><291ocu9v81olk6es  vL11ro_e)ef="driverbuouh ianyway...Ccbuoro3>6 id1014oo6owg"n=riv_L3920"" li7e7 na7379="drivers/ba7e/ccstenemptyolock6 id17to_derrot7: 77;s: 7a \nl undecll ut7: 7>f31s olock6 id1014oo101_to_6es 6 vL11o/a>sse265"><3inis_>20_1" idc59=dev" cla59>inis_>20_1" idv" c7,Tin waschiikesystemivtashut_vaho720vL326"va4" c<291ef="drivers/ba7eva4" >f31 idc5920e2" cla5920ei6e" na67na75mnel977rik<3s/ba6e8cor_inforo3><291ocu9v81olk_info5" " cd7v"ini71e.9#7318"" cc5920s3" cla5920funct=hotplug325d8new8" vL11ro3li7e7 na s=7l59ba>c597a77nicc1nespinockirolock6 id1014basp7owny1Taid"4><291ostruct<>f31c#7266" id8c4920e3" cla5920ei7e" na77LL="+cocl8ro3><291ocu9v81olk6es  vL11ro_e)ef="driverbuouh ianyway...Ccbuoro3>6 id1014oo6owg"n=riv_L3920"" li7e7 na7379_251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp714bacsten1.c7251" idc59=addnt" c69n1.c7>f317 see79bouf= na75mnel} el592 vL11o/a>sse265"><3" cl59s="li7e" na74vL396" vL11ro_e)ef="drivernockirl59s="li7e" na74ockirro3><___">___">L1ocu9csuk6es  vL11ro3><291ocu9v81olk6es  vL11ro_e)ef="drivernockirl59s="li7e" na74ockirro3>6 id1014oo6owg"n=riv_L3920"" li7e7 na7379="drivers/ba7e/ccstenemptyolock6 id17ershutdownglue_dir256>ef="drivers/wnglu>f31/bas7" 338ss=e/////////////// vL11o/a>sse265"><3inis_>20_1" idc59=dev" cla59>inis_>20_1" idv" c7,Tin waschiikesystemivtashut_vaho775retval" denv7/a>);er7/ba7e77nicc" den>f319ckosrodevLata hbup4" vostruct<291ocu9v81olk_info5" " cd7v"ini71e.9#7318"" cc5920s3" cla5920funct=hotplug325d8new8" vL11ro3li7e7 na s=7l59ba>c597a77nicc1nespinockirolock6 id1014basp7vL290" cl8251" idc59=o/afor_e59="ll8251>f31cc1"c6 r9v82lvo78ktom=euict<291ocu9v81olk6es  vL11ro_e)ef="drivernockirl59s="li7e" na74ockirro3>6 id1014oo6owg"n=riv_L3920"" li7e7 na7379_251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp7nockir91e ba7eouL11rc2lvo78kfsrooue ba7>f31s8=>(struct<<10="d____">d7e5920li6>20vi7e" na73"v"l78enckirasf3a"llllllllllllllll=rivvof3a"l>f3a"7l59ba>c596elcklset/bas7" 338ss="l7f38" na67BLOCLe_shfv8" idenv7/a>);er7OCLe_>f3a1ro3><291ocu9v81ol6v"977rik<3s/ba6e8corss=" <>20v_a=" 338ss="l67e" n6L1 <>20v75___251" idc59=L292" cl59s="li7e" na74vL396"77nicc1nespinockirolock6 id1014basp8to_derrot7kfsroouL92" cl59>d f3as olock6 id1014oo101_rm6t_hr>66e.c#7266" id8c49e"ev" cla58r9ota href=754vL39w_><7a58ss/ba7e/core.c7251" idc59=oev" c7,Tin waschiikesystemivtashut_vaho820vL326"vack6 id1014><291ostructf3as="l77e" n793"vL 11ve  uignc3me2e3_osdschivrup_g si <>20v_a=" 338ss="l67e" n6L1 <>20v75___251" idc59=L292" cl59s="li7e" na74vL396" vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=oev" c77nicc1nespinockirolock6 id1014basp8owny1Taid"c59=o292" cl58=9li7e" nad"c59>f3a47l59ba>c596elcklset/bas7" 338ss="l7f3814bacsten1ock6 id1014><291ostructf3a7 see79bouf= na75mnel977rik<3s/ba6e88" nare7vLdrger_7ounckirolock6 id1014ba7vargpm_7ounckir6>ef=f="drivers/ba7e/core.c7251" idc5920v6" cla5920li6e" na68ershutdown8" vL11_o_eostructf3a.cr9v82lvo78kfsroda)evL265"><369)rre1new8" vL11_kobjfsrodevLata hbunew8" vL11_kobjo/a>tef="" cl59s="li7e" na74vL396" vL11ro_e)ef="drivers/ba7e/core.c7251" idc59=oev" c77nicc1nespinockirolock6 id1014basp875retval" roda)evL265"><369)rre1ne" rod>f3a; <291ocu9v81new8" vL11_l83><>f3acc1"c6 r9v82lvo78ktomdo_e)ef="driver7251" idc592037" cla5920to_derrot75______">d7e5920to_>20"7LLf="drivers/ba7e/core.c7251" idc592038" cla5920to_derrot75f="driver7a5920to_>20"  }ef="driver7/ba7e77nicc1nespinockirolock6 id1014basp8nockir91e na773*oa href=7e58y9>c58e na7>f3as8=>(struct<<____">d7e5920li6>20vi7e" na73"v"l79enckirasf3=7o58"9>c58.989i7e" na75f3=7o>f3=7o/a>s.="drivers/ba7e/core.c7251" <>20v_a=" 338ss="l67to_de <>20v75______">d7e5920to_>20"7LLf="drivers/ba7e/core.c7251" idc592038" cla5920to_derrot75f="driver7a5920to_>20"  }ef="driver7/ba7e77nicc1nespinockirolock6 id1014basp9" na67BLOCfsroda)evL265"><369)rre1OCfsr>f3=_o_e)ef="drivers/ba7e/core.casync_synchronize_ful6v" vL11o/a>)f=dasync_synchronize_ful675___77nicc1nespinockirolock6 id1014basp9to_derrot7idc59=dddnt" c68p9virtuat7idc>f3=s olo____">d7e5920li6>20vi7e" na73"v"l7920vL326"var/="drihrefe.7#ies..ss#ivar/=>f3=3 <369)rre1d"fsr>f3=cl8ss="li7e7 na7379L391"87atf3=f7f59de>c595="li7e" na75s="79 Dintrstloggg1Ta9unctioniccccc58=addnt" c68>dto_derrot7239" id8209ershutdownrot7a href="dr7l58d9>c58wnrot>f3=8ndon: 7a tseTin wanthf -gets off299",Tin waschiikesystemivtashut_vaho975retval" ck6 id1014><291ostructf3=; );er7l8Le_>f3=cc1"c#ifdefvers/ba7e/core.cCONFIG_PRINTKv" vL11o/a>)f=dCONFIG_PRINTK <7a58>9>c58c9e 67L>f3=s8=>(ef="driverrs/ba/bs=l3s/ba6e8core.c#6318" i1re.crss=un1ock6 id1014><291ostruct<369)rre1ne111_to_1es olock6 id10conitechardrmat7l5920to_>20subsys/ba7e/core.c7257ubsys olo7nicc1nespinockirolock6 id1014bas1ol6v" vL111/a>)f=f="drivers/ba7e/cor1.c72510eeo/a8core.fdrm6t_hr>66e.c#77ize_s/ba7e/core.c7257ize_s5="fdmat7l5920to_>20pos/ba7e/core.c725pos5="fd remov_bo7o59>(>c593 gain_devo/a_ro51046v" vL111/sroda)evL265"><369)rre1d1hr>661047l59ba>c596elcklset/bas7" 338ss="l7f1014drivrup1glue_dir256>ef="drivers/b17e/co1e.cr9v82lvo78krm6t_hr>66e.c#7266" id8c49e"ev" cla58r9ota href=754vL39w_><7a58s9>c58 98  f="drive3s/6a7e/c68rba>c596elcklset/bas7" 338ss="l7f1064drivrup1got7a href="dr7l58d9>c58w1c6 id1014><291o/rec325p u/_vmat7l5920to_>20subsys/ba7e/core.c7257ubsys olo=">c597" vL11ro3><298core.fdrm6t_hr>66e.c#7266" id8c49e" na77 19>c58 98  f="drive3s/6a7e/c68266" id8c49e" na77 18d9> 98  f="drive3s8d9> olo7nicc1nespinockirolock6 id1014bas1o74drivrup1gk6 id1014><291ostruct2el592 vL11o/a>sse265"><3" cl59s="li7e" na74vL396" vL11ro_e)ef="driverbuouh ianyway...Ccbuoro3>rba>c596elcklset/bas7" 338ss="l7f1084drivrup1ge_shfv8" idenv7/a>);er7l1river10cc1"c6 r9v82lvo78ktomdo_e)ef="driver7ubsys/ba7e/core.c7257ubsys olo=">c597" vL11ro3><298core.fdrm6t_hr>66e.c#7266" id8c49e" na77 1buouh ianyway...Ccbuoro3>6 id1014oo6owg"n=riv8d9> 98  f="drive3s8d9> olo7nicc1nespinockirolock6 id1014bas1o94drivrup1g7L4vL39w_><7a58>9>c58c9e1><3741re.fdrm6t_hr>6el59nicc1nespinockirolock6 id1014bas17266" id8c1920e9" cla5920eo_derrot7L1oa hr1188=>(struct<<10="d014><29emov_bo7o59>(>c593 gain_devo/a_ro51_attr592011" cla5920sef="d*ib7711 <110117<117BLOCK h3ef7c59ev>c5940li7e" na73"v/f1e.c#6318" 1DPM_ORDER_NONE=>(s265" " 1d7v"i1i71e.9#7318"" mat7l5920to_>20pos/ba7e/core.c725pos5="fd+ocu9v81new8" vL11_nprverf/ba7e/core.c7257nprverf" vL11_kobjo/a>tef="hdi6e" na67L4vL39whdi20fu + mat7l5920to_>20pos/ba7e/core.c725pos5="fnctrs/ba7e/core.chdil cl9s............hdil cv" c - mat7l5920to_>20pos/ba7e/core.c725pos5="fnct=hotplug325d8new8" vL11ro3SUBSYSTEM=rot7drr7l59ba>c597a hr/kfreeo/a>(7a 7ubsys/ba7e/core.c7257ubsys olo77nicc1nespinockirolock6 id1014bas1ti* s7cdev1inic#7t5920fun>20s2=>(str1ct<<<113 <291ocu9v11new8" vL11_o_eeff="drive1s/ba711f7f59de>c595="li7e" na75s="777777777* Addpointrstid75sifier DEVICE=:oa hkL1ocu9csucstenckirolock6 id1014bac1>64drivrup1mat7l5920li7>20s5=>(struc1<<118ndon: 7a tseTin wanthf -get9e id"v_*"v_b12:8t9e id"v_ber7/ olk_(sed ayr>dri)veass=iindschild -ed<9span>1174drivrup1varger_7ov3__dbade y6>ef=1drive11793"vL29_a9e eccccnWe  uplly9e id"v_*"v_c127:3ck6 id10chardolk_(sed ayr>dri)veass=iindschild -ed<9span>1184drivrup182lvo78kfsroda)evf="drive1s/ba711dbecause we e9n: 7a tssolverBewa a3d*"v_n8t9e id"v_"v_netolk2 vindexsed ayr>dri)veass=iindschild -ed<9span>1194drivrup10;  od ayr>dri)veass=iindschild -ed<9span>1>(struct<<16<<<<<677/ba7e77nicc1"c7v1rger_122039" cla5920"li7e" na7= remov_bo7o59 off299",Tin waschiikesystemivtashut_vah1e/core.cr9182lvo78kfsroda)evf="drive1s/ba712cc1"c6 r9v82lvo78ktom=euicttef="" cl59s="li7e" na74vL396" vL11ro_e)ef="driver4vLs/ba7e/core.c7251" hile">="drivers/ba7e/ccstenemptyolock6 id1pan7c5920v1r>20vi7e" na73"vL275"><371break12s olock6 id1014oo101_chardid8c49e" na77 19 98  f="drive3s/ olo7nicc1nespinockirolock6 id1014bas1a5920li6e"1na67cl8ss="li67l5920li6>21vhr/k123 20v1"f="drive3s/7a7e/c78" nar176 id12c#7266" id8c4920e3" cvo78ktom=euicttef="7ubsys/ba7e/core.c7257ubsys olonct=hotplug325d8new8" vL11ro3ber7/=7l59ba>c597a7 = rerba>c596elcklset/bas7" 338ss="l7f1L11o/a>ssf1"drivers/ba7e/core.c7251"1idc59127 see79bouf= na75mnel/core.cr=d8c49e" na77 19 98  f="drive3s/ olo=">c=hotplug325d8new8" vLnel bLnel a>c597a7nicc1nespinockirolock6 id1014bas1a64drivrup1 cla5920; 20v6"f="drive3s17a7e/129ckosrodevLata hbup4" vostruc=d8c49e" na77 19 98  f="drive3s/ olo=">c=hotplug325d8new8" vLnel cLnel a>c597a7nicc1nespinockirolock6 id1014bas1a84drivrup1c7251" idc592027" cla59201i6e" 12cc1"c6 r9v82lvo78ktomdo_e)ef="driversos/ba7e/core.c725pos5="f++7nicc1nespinockirolock6 id1014bas1a94drivrup1/kfreeo/e712rirolock6 id1114><212s8=>(struct<<10="drivers/ba7eouDPsos/ba7e/core.c725pos5="fd+ocu9v81new8" vL11_nprverf/ba7e/core.c7257nprverf" vL11_kobjo/a>tef="hdi6e" na67L4vL39whdi20fu + mat7l5920to_>20pos/ba7e/core.c725pos5="fnctrs/ba7e/core.chdil cl9s............hdil cv" c - mat7l5920to_>20pos/ba7e/core.c725pos5="fnnicc1nespinockirolock6 id1014bas10v9a=" 3381s="l67e" n65RT_SYMBOL_GP71vL28513u9ckosrodevLata hbup4" vostructc597a nicc1nespinockirolock6 id1014bas10/core.cr91110"nv3vof3a>); tef="" cl59s="li7e" na74vL396" vL11ro_e)ef="driver4vLs/ba7e/core.c7251" hile">nctrs/ba7e/core.cMINOR/ba7e/core.c725MINOR" vL11_kobjo/a>tef="" cl59s="li7e" na74vL396" vL11ro_e)ef="driver4vLs/ba7e/core.c7251" hile">=7nicc1nespinockirolock6 id1014bas1pa7c5920"l1>20"lLLf="drivers/ba7e/co1e.c7213s olock6 id10} el592 vL11o/a>sse265"><38necmrrot7L*oa href=i8necmr" vL11_kobjo/a>tef="7ubsys/ba7e/core.c7257ubsys olonct=hotplug325d8new8" vL11ro3net=7l59ba>c597a7 = rer"drivers/ba7e/ccstenemptyolock6 id1_derrot7"d1v"inic#775920to_>20"c#f()1willv13s="l77e" n793"vL 11vers/ba7e/core.c7251" idn7759EX>c596lNULLf="drivens/ba7e/core.cu9v81ol6v" vL11o/a>0s6" cla5920"li7e"ev" cla58>9to_derrot7L*" cls/ba7es6" cla5920"li7" cls/ba7e14ba7vargpm_7ounckir6>ef=f="drivers/ba7e/core.c7251" idc5920v6" cla5920li6e" na1tellshutdo1ny1Taid"v_a9rhin >ef="r_r1l97cc1347l59ba>c596elcklset/bas7" 338ss="l7f18"te"c592014" cla5920to_derrot75"+co1e=de7137 see79bouf= na75mnel977rik<3s/ba6e88os/ba7e/core.c725pos5="f++7nicc1nespinockirolock6 id1014bas1gershutdow1f3a>); <369)rre1os/ba7e/core.c725pos5="fd+ocu9v81new8" vL11_nprverf/ba7e/core.c7257nprverf" vL11_kobjo/a>tef="hdi6e" na67L4vL39whdi20fu + mat7l5920to_>20pos/ba7e/core.c725pos5="fnctrs/ba7e/core.chdil cl9s............hdil cv" c - mat7l5920to_>20pos/ba7e/core.c725pos5="fnnicc1nespinockirolock6 id1014bas1g=retval" 1c795920to_>20"6"f="drive31/56"a139ckosrodevLata hbup4" vostructc597a e/core.c7251" idn77s6" cla5920"li7e"ev" c vL11ro_e)ef="driver vindexs6" cla5920"li7 vindexsere.c7251" idc5920v6" cla5920li6e" na1t84drivrup1ss="li7e" na79"vL11013><211ocu9181o/a>s.="driv} el592drivers/ba7e/ccstenemptyolock6 id1_94drivrup1= ol9ssowil_varg8re.crsst1 l_ks13s8=>(struct<<10="drivers/ba7eouDPsos/ba7e/core.c725pos5="f++7nicc1nespinockirolock6 id1014bas1tenckirasf1f="drivers/ba7e/core.c7251" idc1488=>(struct<<10="drivers/ba7eouDP1os/ba7e/core.c725pos5="fd+ocu9v81new8" vL11_nprverf/ba7e/core.c7257nprverf" vL11_kobjo/a>tef="hdi6e" na67L4vL39whdi20fu + mat7l5920to_>20pos/ba7e/core.c725pos5="fnctrs/ba7e/core.chdil cl9s............hdil cv" c - mat7l5920to_>20pos/ba7e/core.c725pos5="fnnicc1nespinockirolock6 id1014bas1t/core.cr91K h3ef7c5920li6>20li cl8s1="li714d"11__e)ef="d/pre>

c597a hr/kfreeo/a>(7a 7ubsys/ba7e/core.c7257ubsys olo hr/kfreeo/a>(7a hvi78t_Bempr idbug><291o/rec325p ur idbug256>ef na73"vL275"vent_v">l under>d0.c7251" idc5920v6" cla5920li6e" na10to_derrot1<32= ">gde7l5920to_>20lhr1f="dr14s olock6 id10}7251" idc5920v6" cla5920li6e" na10derrot7"d1_7L299" cl8s775920vL3>20l1#f()"143 ef="r_rel97cccc1cccc512043" cla5920A014><291o/rec325p u/_vpos/ba7e/core.c725pos5="fc7251" idc5920v6" cla5920li6e" na10"te"c592012s/ba7e/core.c7251" idc5910i1re1c7 see}7251" idc5920v6" cla5920li6e" na10ershutdow1 hbukobjd8vtev = ol9ssoww1 hbre1c/bas71o/rec325p u/_vo_derrot7"f="/ba7e/core.c725o_derrot7"f="p ur idbug256>ef na7cL292" syslog_hea0ei6e" na67L4vL39wcL292" syslog_hea0ei75__.c7251" idc5920v6" cla5920li6e" na10=retval" 1 na77"vL391"><37s59=">c5"1 nare1c; syma759Hl1c72re1ccc1"cverhr/kfreeo/a>(7a hvi7vprverk_emis>20lli7e" na75shvi7vprverk_emisp ur verhr/kfreeo/a>(7a leve6v" vL11o/a>)f=dleve6offh, coniters/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fdrmat7l5920to_>20"5"f="evo/a_ro.20fms>20lli7e" na75sfms olo hr/kfreeo/a>(7a va_0ADs>20lli7e" na75sva_0ADs5="fdmat7l5920to_>20args/ba7e/core.c725argsro3>rba>c596elcklset/bas7" 338ss="l7f15enckirasf1="li7e" na779_setuf="d7af1="l>f1="t"87drivers/ba7e/ccstenemptyolock6 id15" na67BLO194LL="+f="drivers/ba7e/cO194L>f15d"11__e)ef="dchardid8c49e" na77 1hdi6e" na67L4vL39whdi20fu[128]c7251" idc5920v6" cla5920li6e" na1=to_derrot12" cl59); f1571e.9#7318"" mat7l5920to_>207ize_s/ba7e/core.c7257ize_s5="fdmat7l5920to_>20hdil cl9s............hdil cv" cc7251" idc5920v6" cla5920li6e" na1=derrot7"d19>); <7359s=d1f1=#727358=9>c58trs/ba7e/core.chdil cl9s............hdil cv" c ocu9v81new8" vL11cL292" syslog_hea0ei6e" na67L4vL39wcL292" syslog_hea0ei75___mat7l5920to_>20"5"f="evo/a_ro.tef="hdi6e" na67L4vL39whdi20fu0.c7251" idc5920v6" cla5920li6e" na1=14bacsten19laddnt" c69p;virtual_a7n19la>f1=7 see7251" idc5920v6" cla5920li6e" na1=ershutdow1teass=iindschild -ed<9spw1tea>f15643" cla5920A014><291o/rec325p u/_vvprverk_emis>20lli7e" na75svprverk_emisp ur 0,did8c49e" na77 1leve6v" vL11o/a>)f=dleve6offh, trs/ba7e/core.chdil cl9s............hdil cv" c ?did8c49e" na77 1hdi6e" na67L4vL39whdi20fu :did8c49e" na77 1NUL"/ba7e/core.c725NUL"offh, trs/ba7e/core.chdil cl9s............hdil cv" c, trs/ba7e/core.cfms>20lli7e" na75sfms olo hr/kfreeo/a>(7a args/ba7e/core.c725argsro3>rc7251" idc5920v6" cla5920li6e" na1==retval" 1u9v81o/a>s.3256"a>); f1=793"v}7251" idc5920v6" cla5920li6e" na15vL290" cl1"vL275"><3enum>); f1=dbecauo/rec325p u/_vo_derrot7"f="/ba7e/core.c725o_derrot7"f="p ur idbug256>ef na7hvi7vprverk_emis>20lli7e" na75shvi7vprverk_emisp urrc7251" idc5920v6" cla5920li6e" na1=94drivrup1lpm_order6e8core.c#6318"e1lpm>f1=s8=>(7251" idc5920v6" cla5920li6e" na16enckirasf1189>101e_attr49vL292" clf1189>f1188=>(verhr/kfreeo/a>(7a hvi7prverk_emis>20lli7e" na75shvi7prverk_emisp ur verhr/kfreeo/a>(7a leve6v" vL11o/a>)f=dleve6offh, coniters/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fdrmat7l5920to_>20"5"f="evo/a_ro.20fms>20lli7e" na75sfms olo h...rba>c596elcklset/bas7" 338ss="l7f16" na67BLO1i7e" na73"v3256"a>); f16d"11_drivers/ba7e/ccstenemptyolock6 id11to_derrot1256"a>); f1671e.9#7318"" mat7l5920to_>20va_0ADs>20lli7e" na75sva_0ADs5="fdmat7l5920to_>20args/ba7e/core.c725argsro3>c7251" idc5920v6" cla5920li6e" na1620vL326"v1kobjfsrodevLata hbunew8"v1kob>f1110="drivers/bverhr/kfreeo/a>(7a i6e" na67L4vL39w7eneore.cr9v82lvo78kfsroda)evf="driver16owny1Taid1s=unlock6 id1014><291ostd1s=u>f1647l59ba>c596elcklset/bas7" 338ss="l7f1614bacsten1/core.c7251" idc59=addntn1/co>f16v4" cla5920; 20lli7e" na75sva_ ny1Tp ur idbug256>ef na7args/ba7e/core.c725argsro3>, trs/ba7e/core.cfms>20lli7e" na75sfms olorc7251" idc5920v6" cla5920li6e" na16ershutdow19=L292" cl59>dto_derrot7w19=L>f11r7l59ba>c596elcklset/bas7" 338ss="l7f1175retval"1"l67e" nINVA2vL285"><285"1"l6>f11707re.frrrrver/kfreeo/a>(7a i6e" na67L4vL39w7eneo=">c597" vL11ro3><2987vprverk_emis>20lli7e" na75shvi7vprverk_emisp ur id8c49e" na77 1leve6v" vL11o/a>)f=dleve6offh, trs/ba7e/core.c"5"f="evo/a_ro.20lli7e" na75sfms olo hr/kfreeo/a>(7a args/ba7e/core.c725argsro3>rc7251" idc5920v6" cla5920li6e" na16vL290" cl1o/afor_e59>dto_derrot7L l1o/a>f11cc1"c7251" idc5920v6" cla5920li6e" na1694drivrup1L11_o_eostructf11s8=>(struct<<20lli7e" na75sva_endp ur idbug256>ef na7args/ba7e/core.c725argsro3>rc7251" idc5920v6" cla5920li6e" na17enckirasf11get id10148" vL11256>eff11ge>f11g7l59ba>c596elcklset/bas7" 338ss="l7f17" na67BLO1w8" vL11ro3><291ocu9v81nO1w8">f111ro3><291ocu9014><291o/rec325p u/_vi6e" na67L4vL39w7eneore.cr9v82lvo78kfsroda)evf="driver17to_derrot1: 77;s: 7a \nl undecll ut1: 7>f17s olo____">d7e5920li6>20vi7e" na73"v"l1720vL326"v14" c<291ef="drivers/ba7ev14" >f11 idc5uo/rec325p u/_vo_derrot7"f="/ba7e/core.c725o_derrot7"f="p ur idbug256>ef na7hvi7prverk_emis>20lli7e" na75shvi7prverk_emisp urrc7251" idc5920v6" cla5920li6e" na17owny1Taid14><291ostruct<>f1747l59ba>c596elcklset/bas7" 338ss="l7f1714bacsten1.c7251" idc59=addnt" c69n1.c7>f117 seeef="driver91o/rec325p u/_v__hvi7prverk>20lli7e" na75s__hvi7prverkp ur conitechardrmat7l5920to_>20leve6v" vL11o/a>)f=dleve6offh, coniters/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fdrmat7l5920to_>20"5"f="evo/a_ro.c596elcklset/bas7" 338ss="l7f17ershutdow1glue_dir256>ef="drivers/w1glu>f11/bas7" 338ss=e///////////////rs/ba7e/core.c7251" idva_formaT>20lli7e" na75sva_formaT5="fdrmat7l5920to_>20vaf/ba7e/core.c725vafro3>rba>c596elcklset/bas7" 338ss="l7f1775retval"1denv7/a>);er7/ba7e77nicc"1den>f119ckosdrivers/ba7e/ccstenemptyolock6 id17vL290" cl1251" idc59=o/afor_e59="ll1251>f11cc1"c6 r9v82l vL137" na73"vL273593"vL275"vent_v">l under>d0rivers/ba7e/ccstenemptyolock6 id1794drivrup1ba7eouL11rc2lvo78kfsrooue1ba7>f11s8=>(struct<<10="d014><291o/rec325p u/_vprverk>20lli7e" na75sprverkp ur ==hotplug325d8new8" vL11ro3rot7dr(NUL"pointrst*): rot7dpVr7l59ba>c597a hr/kfreeo/a>(7a leve6v" vL11o/a>)f=dleve6offh, trs/ba7e/core.cvaf/ba7e/core.c725vafro3>rc7251" idc5920v6" cla5920li6e" na18enckirasf1a"llllllllllllllll=rivvof1a"l>f1a"7l59ba>c596elcklset/bas7" 338ss="l7f18" na67BLO1Le_shfv8" idenv7/a>);er7O1Le_>f181ro3><291ocu9014><291o/rec325p u/_vhvi7prverk_emis>20lli7e" na75shvi7prverk_emisp ur r/kfreeo/a>(7a leve6v" vL11o/a>)f=dleve6offh[1] - m=hotplug325d8new8" vLnel 0Lnel a>c597a, trs/ba7e/core.c"5"f="evo/a_ro.c596elcklset/bas7" 338ss="l7f18to_derrot1kfsroouL92" cl59>d f1as olock6 id1014oo101________________==hotplug325d8new8" vL11ro3rot7dr 8c59=L2 rot7dpVr7l59ba>c597a ba>c596elcklset/bas7" 338ss="l7f1820vL326"v1ck6 id1014><291ostructf1as="l77e" n793"vL 11ve uignc3truct<<ef na73"vL275"vent_v">l under>d0 hr/kfreeo/a>(7a hvi78t_Bempr idbug><291o/rec325p ur idbug256>ef na73"vL275"vent_v">l under>d0, trs/ba7e/core.cvaf/ba7e/core.c725vafro3>rc7251" idc5920v6" cla5920li6e" na18owny1Taid1c59=o292" cl58=9li7e" nad1c59>f1a47l59____">d7e5920li6>20vi7e" na73"v"l1814bacsten1ock6 id1014><291ostructf187 see7251" idc5920v6" cla5920li6e" na18ershutdow18" vL11_o_eostructf1a.cr9vverhr/kfreeo/a>(7a hvi7prverk>20lli7e" na75shvi7prverkp ur conitechardrmat7l5920to_>20leve6v" vL11o/a>)f=dleve6offh, coniters/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fdrmat7l5920to_>20"5"f="evo/a_ro.c596elcklset/bas7" 338ss="l7f1875retval"1roda)evL265"><369)rre1ne"1rod>f189ckosrodevLata hbup4conitechardrmat7l5920to_>20fms>20lli7e" na75sfms olo h...rba>c596elcklset/bas7" 338ss="l7f18vL290" cl13><291ocu9v81new8" vL11_l13><>f1acc1"cdrivers/ba7e/ccstenemptyolock6 id18nockir91e1na773*oa href=7e58y9>c58e1na7>f1as8=>(struct<20lli7e" na75sva_formaT5="fdtrs/ba7e/core.cvaf/ba7e/core.c725vafro3>c7251" idc5920v6" cla5920li6e" na19enckirasf1=7o58"9>c58.989i7e" na75f1=7o>f1=7o/a>s.="drivers/ba7e/core.cva_0ADs>20lli7e" na75sva_0ADs5="fdmat7l5920to_>20args/ba7e/core.c725argsro3>c7251" idc5920v6" cla5920li6e" na19" na67BLO1fsroda)evL265"><369)rre1O1fsr>f1=_o_e)ef="drivverhr/kfreeo/a>(7a i6e" na67L4vL39w7eneore.cr9v82lvo78kfsroda)evf="driver19to_derrot1idc59=dddnt" c68p9virtuat1idc>f19drivers/ba7e/core.c7251" idc592021" c1920vL326"v1r/="drihrefe.7#ies..ss#iv1r/=>f19eeo/a8core.fdrm6t_hr>66e.c#7va_ ny1T>20lli7e" na75sva_ ny1Tp ur idbug256>ef na7args/ba7e/core.c725argsro3>, trs/ba7e/core.cfms>20lli7e" na75sfms olorc7251" idc5920v6" cla5920li6e" na19owny1Taid1fsroda)evL265"><369)rre1d1fsr>f1947l59ba>c596elcklset/bas7" 338ss="l7f1914bacsten1ukobjd8vtevL2 ol9ssowil_n1uko>f19v4" cla5920; crss=unlock6 id1fms>20lli7e" na75sfms olo=">c597" vL11ro3>20lli7e" na75sfms oloc7251" idc5920v6" cla5920li6e" na19ershutdow1rot7a href="dr7l58d9>c58w1rot>f190; <>20v5"f="drive3s/7a7e/c7vaf/ba7e/core.c725vafro3>crss=unlock6 id1va/ba7e/core.c725va olo=">___">d7e5920to_>20"7args/ba7e/core.c725argsro3>c7251" idc5920v6" cla5920li6e" na1975retval"1ck6 id1014><291ostructf1=; );er7l1Le_>f191o/a>s.="drivers/ba7e/core.ci6e" na67L4vL39w7eneo=">c597" vL11ro3><__hvi7prverk>20lli7e" na75s__hvi7prverkp ur id8c49e" na77 1leve6v" vL11o/a>)f=dleve6offh, trs/ba7e/core.c"5"f="evo/a_ro.d7e5920to_>20"7vaf/ba7e/core.c725vafro3>rc7251" idc5920v6" cla5920li6e" na19nockir91e167L4vL39w_><7a58>9>c58c9e167L>f19s8=>(7251" idc5920v6" cla5920li6e" na2re.crss=un2ock6 id1014><291ostructs.="drivers/ba7e/core.cva_end>20lli7e" na75sva_endp ur idbug256>ef na7args/ba7e/core.c725argsro3>rc7251" idc5920v6" cla5920li6e" na2cu9csukcst2nh id"11_rodevLata hbukob2stenh207BLOCK h3ef7c59ev>c5940li7e" na73"v/f2v82lvo78kf2roda)evL265"><369)rre1ne121_to_2es olock6 id10014><291o/rec325p u/_vi6e" na67L4vL39w7eneore.cr9v82lvo78kfsroda)evf="driver2ol6v" vL112/a>)f=f="drivers/ba7e/cor2.c72520eeo/a____">d7e5920li6>20vi7e" na73"v"l2046v" vL112/sroda)evL265"><369)rre1d2hr>662014><291o/rec325p u/_o_derrot7"f="/ba7e/core.c725o_derrot7"f="p ur idbug256>ef na7hvi7prverk>20lli7e" na75shvi7prverkp urrc7251" idc5920v6" cla5920li6e" na2c56v" vL112/kobjd8vtevL2 ol9ssowil_n27e/co207 see7251" idc5920v6" cla5920li6e" na2064drivrup2got7a href="dr7l58d9>c58w2c6 id2014><2#defdr7 trs/ba7e/core.c"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na79unc>20lli7e" na75sfuncoffh, trs/ba7e/core.ckern_leve6v" vL11o/a>)f=dkern_leve6p urrrodevLata hbup4\7251" idc5920v6" cla5920li6e" na2074drivrup2gk6 id1014><291ostruct(7a 9unc>20lli7e" na75sfuncoffh_coniters/ba7e/core.c7251" idc5920"5" cla5920to_derrot755="fdrmat7l5920to_>20"5"f="evo/a_ro.20fms>20lli7e" na75sfms olo h...rta hbup4\7251" idc5920v6" cla5920li6e" na2084drivrup2ge_shfv8" idenv7/a>);er7l2river20cc1"c{7e" n793"vL 11ve uignc3truct<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2094drivrup2g7L4vL39w_><7a58>9>c58c9e2><37420s8=>(struct<20lli7e" na75sva_formaT5="fdtrs/ba7e/core.cvaf/ba7e/core.c725vafro3>ct<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na27266" id8c2920e9" cla5920eo_derrot7L2oa hr217o/a>s.="drivers/ba7e/core.cva_0ADs>20lli7e" na75sva_0ADs5="fdmat7l5920to_>20args/ba7e/core.c725argsro3>cgnc3truct<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_attr592012" cla5920sef="d*ib7711 <120117<21_o_e)ef="drivverhr/kfreeo/a>(7a i6e" na67L4vL39w7eneorgnc3truct<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_82lvo78kf2DPM_ORDER_NONE=>(s265" " 2d7v"i21s olock6 id1014oo101________________<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_l6v" vL112inic#7t5920fun>20s2=>(str2ct<<<21eeo/a8core.fdrm6t_hr>66e.c#7va_ ny1T>20lli7e" na75sva_ ny1Tp ur idbug256>ef na7args/ba7e/core.c725argsro3>, trs/ba7e/core.cfms>20lli7e" na75sfms olorc___<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_46v" vL1127varger_7ov3__dfhrhyasf322drive2s/ba7e/core.cr14oo101________________<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_56v" vL1121new8" vL11_o_eeff="drive2s/ba721v4" cla5920; crss=unlock6 id1fms>20lli7e" na75sfms olo=">c597" vL11ro3>20lli7e" na75sfms oloc_________<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_64drivrup2mat7l5920li7>20s5=>(struc2<<210; <>20v5"f="drive3s/7a7e/c7vaf/ba7e/core.c725vafro3>crss=unlock6 id1va/ba7e/core.c725va olo=">___">d7e5920to_>20"7args/ba7e/core.c725argsro3>c________<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_74drivrup2varger_7ov3__dbade y6>ef=2drive219ckosrodevLata hbup4" vostruct<__hvi7prverk>20lli7e" na75s__hvi7prverkp ur id8c49e" na77 1kern_leve6v" vL11o/a>)f=dkern_leve6p ur, trs/ba7e/core.c"5"f="evo/a_ro.d7e5920to_>20"7vaf/ba7e/core.c725vafro3>rc<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2_94drivrup20; (struct<<26<<<<<677/ba7e77nicc1"c7v2rger_227o/a>s.="drivers/ba7e/core.cva_end>20lli7e" na75sva_endp ur idbug256>ef na7args/ba7e/core.c725argsro3>rcructattr59201282lvo78kfsroda)evf="drive2s/ba722d"11__e)ef="d/pre>

82lvo78kf2r>20vi7e" na73"vL275"><372break22s olock6 id10014><291o/rec325p u/_vi6e" na67L4vL39w7eneorurevLatadoa hrc<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\7251" idc5920v6" cla5920li6e" na2>l6v" vL112na67cl8ss="li67l5920li6>22vhr/k223

46v" vL112"f="drive3s/7a7e/c78" nar276 id2214><291o/rec325p u/_o_derrot7"f="/ba7e/core.c725o_derrot7"f="p ur idbug256>ef na79unc>20lli7e" na75sfuncoffhrc7251" idc5920v6" cla5920li6e" na2L11o/a>ssf2"drivers/ba7e/core.c7251"2idc59227 see7251" idc5920v6" cla5920li6e" na2a64drivrup2 cla5920; )f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7emer" 20lli7e" na75shvi7emer"p ur, trs/ba7e/core.cKERN_EMERG 20lli7e" na75sKERN_EMERGoffhrc7251" idc5920v6" cla5920li6e" na2L74drivrup27s5920li6>20v6"f="drive3s27a7e/229ckos1o/rec325p u/_v"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7ale1T>20lli7e" na75shvi7ale1Tp ur, trs/ba7e/core.cKERN_ALERT 20lli7e" na75sKERN_ALERToffhrc7251" idc5920v6" cla5920li6e" na2L84drivrup2c7251" idc592027" cla59202i6e" 22dbecauo/rec325p u/_v"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7cris>20lli7e" na75shvi7crisp ur, trs/ba7e/core.cKERN_CRIT 20lli7e" na75sKERN_CRIToffhrc7251" idc5920v6" cla5920li6e" na2L94drivrup2/kfreeo/e712rirolock6 id1214><222s8=>(1o/rec325p u/_v"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7errl59s="li7e" na74vi7errp ur, trs/ba7e/core.cKERN_ERR/ba7e/core.c725KERN_ERRoffhrc7251" idc5920v6" cla5920li6e" na20v9a=" 3382s="l67e" n65RT_SYMBOL_GP72vL28523u9ckoers/ba7e/core.c"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7warcl9s............hvi7warcp ur, trs/ba7e/core.cKERN_WARNING 20lli7e" na75sKERN_WARNINGoffhrc7251" idc5920v6" cla5920li6e" na20attr592012110"nv3vof3a>); )f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7hvi7not20"5" cla5920to_derro7not20"p ur, trs/ba7e/core.cKERN_NOTICE 20lli7e" na75sKERN_NOTICEoffhrc7251" idc5920v6" cla5920li6e" na2082lvo78kf2>20"lLLf="drivers/ba7e/co2e.c7223s oloers/ba7e/core.c"5fdr7_hvi7prverk_leve6v" vL11o/a>)f=d"5fdr7_hvi7prverk_leve6p ur idbug256>ef na7_hvi7inforo3><291ocu9v81_hvi7infop ur, trs/ba7e/core.cKERN_INFO 20lli7e" na75sKERN_INFOoffhrc7251" idc5920v6" cla5920li6e" na20l6v" vL112v"inic#775920to_>20"c#f()2willv233 ef="r_r2l97cc2347l59#endifrs/ba/bs=l3s/ba6e8core.c#6318" i2t11o/a>ssf24" cla5920to_derrot75"+co2e=de7237 see

The original LXR software by th7 trs/ba7e/http://sourceforge.net/projects/lxr">LXR " naunityp ur, this experia7= al ba6eion by trs/ba7e/mailto:lxr@o_dux.no">lxr@o_dux.noro3>c lxr.o_dux.no kindly hosted by trs/ba7e/http://www.redpill-o_dpro.no">Redpill L_dpro ASp ur, provider of L_dux coniultg1Taand operationi ser idc5 since 1995.