mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-06 03:45:24 -04:00
Merge android11-5.4.61+ (158eae7) into msm-5.4
* refs/heads/tmp-158eae7: ANDROID: ABI: update symbols of unisoc whitelist ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect() ANDROID: usb: f_accessory: Avoid bitfields for shared variables ANDROID: usb: f_accessory: Cancel any pending work before teardown ANDROID: usb: f_accessory: Don't corrupt global state on double registration ANDROID: usb: f_accessory: Fix teardown ordering in acc_release() ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev' ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors ANDROID: usb: f_accessory: Remove useless assignment ANDROID: usb: f_accessory: Remove useless non-debug prints ANDROID: usb: f_accessory: Remove stale comments ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request ANDROID: Update abi_gki_aarch64_goldfish UPSTREAM: driver core: Fix lockdep warning on wfs_lock ANDROID: ABI: update allowed list for galaxy UPSTREAM: arm64: pgtable: Fix pte_accessible() ANDROID: ABI: Update allowed list for QCOM ANDROID: ABI: add symbols of __dynamic_netdev_dbg to unisoc Conflicts: drivers/usb/gadget/function/f_accessory.c Change-Id: I34e2a1fe4e8011c320909802514eae4d2ae8d805 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
This commit is contained in:
commit
4b36ee81fb
10 changed files with 2131 additions and 1025 deletions
|
|
@ -1 +1 @@
|
|||
LTS_5.4.61_662e2b3ab8fb
|
||||
LTS_5.4.61_158eae717346
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1145,6 +1145,7 @@
|
|||
<elf-symbol name='hwspin_lock_request_specific' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf941e1c5'/>
|
||||
<elf-symbol name='hwspin_lock_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x399d6c8e'/>
|
||||
<elf-symbol name='i2c_add_adapter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa258f51c'/>
|
||||
<elf-symbol name='i2c_add_numbered_adapter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x63939434'/>
|
||||
<elf-symbol name='i2c_del_adapter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7f3987a2'/>
|
||||
<elf-symbol name='i2c_del_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x604be075'/>
|
||||
<elf-symbol name='i2c_get_dma_safe_msg_buf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x42041512'/>
|
||||
|
|
@ -4927,6 +4928,7 @@
|
|||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='block/blk-core.c' language='LANG_C89'>
|
||||
<typedef-decl name='blk_mq_req_flags_t' type-id='3f1a6b60' filepath='include/linux/blk_types.h' line='268' column='1' id='346d62be'/>
|
||||
<pointer-type-def type-id='9a335021' size-in-bits='64' id='c9c70151'/>
|
||||
<function-decl name='blk_queue_flag_set' mangled-name='blk_queue_flag_set' filepath='block/blk-core.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_flag_set'>
|
||||
<parameter type-id='f0981eeb' name='flag' filepath='block/blk-core.c' line='79' column='1'/>
|
||||
<parameter type-id='e7d2a5fd' name='q' filepath='block/blk-core.c' line='79' column='1'/>
|
||||
|
|
@ -6306,7 +6308,7 @@
|
|||
<var-decl name='ctx_map' type-id='6e051ed1' visibility='default' filepath='include/linux/blk-mq.h' line='35' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='2240'>
|
||||
<var-decl name='dispatch_from' type-id='9a335021' visibility='default' filepath='include/linux/blk-mq.h' line='37' column='1'/>
|
||||
<var-decl name='dispatch_from' type-id='9a335022' visibility='default' filepath='include/linux/blk-mq.h' line='37' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='2304'>
|
||||
<var-decl name='dispatch_busy' type-id='f0981eeb' visibility='default' filepath='include/linux/blk-mq.h' line='38' column='1'/>
|
||||
|
|
@ -6318,7 +6320,7 @@
|
|||
<var-decl name='nr_ctx' type-id='8efea9e5' visibility='default' filepath='include/linux/blk-mq.h' line='41' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='2368'>
|
||||
<var-decl name='ctxs' type-id='c9c70151' visibility='default' filepath='include/linux/blk-mq.h' line='42' column='1'/>
|
||||
<var-decl name='ctxs' type-id='c9c70152' visibility='default' filepath='include/linux/blk-mq.h' line='42' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='2432'>
|
||||
<var-decl name='dispatch_wait_lock' type-id='fb4018a0' visibility='default' filepath='include/linux/blk-mq.h' line='44' column='1'/>
|
||||
|
|
@ -6514,7 +6516,7 @@
|
|||
<var-decl name='kobj' type-id='b6ab8849' visibility='default' filepath='block/blk-mq.h' line='11' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='768'>
|
||||
<var-decl name='queue_ctx' type-id='9a335021' visibility='default' filepath='block/blk-mq.h' line='12' column='1'/>
|
||||
<var-decl name='queue_ctx' type-id='9a335022' visibility='default' filepath='block/blk-mq.h' line='12' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<class-decl name='rq_qos' size-in-bits='256' is-struct='yes' visibility='default' filepath='block/blk-rq-qos.h' line='26' column='1' id='e0a68fea'>
|
||||
|
|
@ -6731,8 +6733,8 @@
|
|||
</data-member>
|
||||
</class-decl>
|
||||
<pointer-type-def type-id='1d120221' size-in-bits='64' id='e118aff9'/>
|
||||
<pointer-type-def type-id='cde99b39' size-in-bits='64' id='9a335021'/>
|
||||
<pointer-type-def type-id='9a335021' size-in-bits='64' id='c9c70151'/>
|
||||
<pointer-type-def type-id='cde99b39' size-in-bits='64' id='9a335022'/>
|
||||
<pointer-type-def type-id='9a335022' size-in-bits='64' id='c9c70152'/>
|
||||
<pointer-type-def type-id='70bf757e' size-in-bits='64' id='ceead144'/>
|
||||
<pointer-type-def type-id='e063028f' size-in-bits='64' id='a47d3467'/>
|
||||
<pointer-type-def type-id='a47d3467' size-in-bits='64' id='3e195537'/>
|
||||
|
|
@ -7114,7 +7116,6 @@
|
|||
<var-decl name='data' type-id='5e6516ee' visibility='default' filepath='include/scsi/scsi_ioctl.h' line='30' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<pointer-type-def type-id='9a335022' size-in-bits='64' id='c9c70152'/>
|
||||
<pointer-type-def type-id='8efd3866' size-in-bits='64' id='0461ecf6'/>
|
||||
<pointer-type-def type-id='0461ecf6' size-in-bits='64' id='c527e30e'/>
|
||||
<pointer-type-def type-id='85553493' size-in-bits='64' id='2926d4f3'/>
|
||||
|
|
@ -7690,6 +7691,20 @@
|
|||
<var-decl name='driver' type-id='00c7b870' visibility='default' filepath='drivers/base/base.h' line='52' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<class-decl name='wake_irq' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/base/power/power.h' line='32' column='1' id='4657336c'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='dev' type-id='fa0b179b' visibility='default' filepath='drivers/base/power/power.h' line='33' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='64'>
|
||||
<var-decl name='status' type-id='f0981eeb' visibility='default' filepath='drivers/base/power/power.h' line='34' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='96'>
|
||||
<var-decl name='irq' type-id='95e97e5e' visibility='default' filepath='drivers/base/power/power.h' line='35' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='128'>
|
||||
<var-decl name='name' type-id='80f4b756' visibility='default' filepath='drivers/base/power/power.h' line='36' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<pointer-type-def type-id='d066d157' size-in-bits='64' id='0d3b0dcf'/>
|
||||
<pointer-type-def type-id='e44b8083' size-in-bits='64' id='52abf1d3'/>
|
||||
<pointer-type-def type-id='3d045a53' size-in-bits='64' id='4b4b90b3'/>
|
||||
|
|
@ -7703,48 +7718,48 @@
|
|||
<parameter type-id='7acfb3fa' name='link' filepath='drivers/base/core.c' line='806' column='1'/>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
<function-decl name='device_store_int' mangled-name='device_store_int' filepath='drivers/base/core.c' line='1692' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_store_int'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='1692' column='1'/>
|
||||
<parameter type-id='89a2612a' name='attr' filepath='drivers/base/core.c' line='1693' column='1'/>
|
||||
<parameter type-id='80f4b756' name='buf' filepath='drivers/base/core.c' line='1694' column='1'/>
|
||||
<parameter type-id='b59d7dce' name='size' filepath='drivers/base/core.c' line='1694' column='1'/>
|
||||
<function-decl name='device_store_int' mangled-name='device_store_int' filepath='drivers/base/core.c' line='1690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_store_int'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='1690' column='1'/>
|
||||
<parameter type-id='89a2612a' name='attr' filepath='drivers/base/core.c' line='1691' column='1'/>
|
||||
<parameter type-id='80f4b756' name='buf' filepath='drivers/base/core.c' line='1692' column='1'/>
|
||||
<parameter type-id='b59d7dce' name='size' filepath='drivers/base/core.c' line='1692' column='1'/>
|
||||
<return type-id='79a0948f'/>
|
||||
</function-decl>
|
||||
<function-decl name='device_show_int' mangled-name='device_show_int' filepath='drivers/base/core.c' line='1712' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_show_int'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='1712' column='1'/>
|
||||
<parameter type-id='89a2612a' name='attr' filepath='drivers/base/core.c' line='1713' column='1'/>
|
||||
<parameter type-id='26a90f95' name='buf' filepath='drivers/base/core.c' line='1714' column='1'/>
|
||||
<function-decl name='device_show_int' mangled-name='device_show_int' filepath='drivers/base/core.c' line='1710' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_show_int'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='1710' column='1'/>
|
||||
<parameter type-id='89a2612a' name='attr' filepath='drivers/base/core.c' line='1711' column='1'/>
|
||||
<parameter type-id='26a90f95' name='buf' filepath='drivers/base/core.c' line='1712' column='1'/>
|
||||
<return type-id='79a0948f'/>
|
||||
</function-decl>
|
||||
<function-decl name='devm_device_add_group' mangled-name='devm_device_add_group' filepath='drivers/base/core.c' line='2045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_device_add_group'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2045' column='1'/>
|
||||
<parameter type-id='8ff9530e' name='grp' filepath='drivers/base/core.c' line='2045' column='1'/>
|
||||
<function-decl name='devm_device_add_group' mangled-name='devm_device_add_group' filepath='drivers/base/core.c' line='2043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_device_add_group'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2043' column='1'/>
|
||||
<parameter type-id='8ff9530e' name='grp' filepath='drivers/base/core.c' line='2043' column='1'/>
|
||||
<return type-id='95e97e5e'/>
|
||||
</function-decl>
|
||||
<function-decl name='devm_device_remove_group' mangled-name='devm_device_remove_group' filepath='drivers/base/core.c' line='2075' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_device_remove_group'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2075' column='1'/>
|
||||
<parameter type-id='8ff9530e' name='grp' filepath='drivers/base/core.c' line='2076' column='1'/>
|
||||
<function-decl name='devm_device_remove_group' mangled-name='devm_device_remove_group' filepath='drivers/base/core.c' line='2073' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_device_remove_group'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2073' column='1'/>
|
||||
<parameter type-id='8ff9530e' name='grp' filepath='drivers/base/core.c' line='2074' column='1'/>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
<function-decl name='device_create_bin_file' mangled-name='device_create_bin_file' filepath='drivers/base/core.c' line='2316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create_bin_file'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2316' column='1'/>
|
||||
<parameter type-id='559ac6f0' name='attr' filepath='drivers/base/core.c' line='2317' column='1'/>
|
||||
<function-decl name='device_create_bin_file' mangled-name='device_create_bin_file' filepath='drivers/base/core.c' line='2314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create_bin_file'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='2314' column='1'/>
|
||||
<parameter type-id='559ac6f0' name='attr' filepath='drivers/base/core.c' line='2315' column='1'/>
|
||||
<return type-id='95e97e5e'/>
|
||||
</function-decl>
|
||||
<function-decl name='_dev_emerg' mangled-name='_dev_emerg' filepath='drivers/base/core.c' line='4079' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_emerg'>
|
||||
<parameter type-id='8df61054' name='dev' filepath='drivers/base/core.c' line='4079' column='1'/>
|
||||
<parameter type-id='80f4b756' name='fmt' filepath='drivers/base/core.c' line='4079' column='1'/>
|
||||
<function-decl name='_dev_emerg' mangled-name='_dev_emerg' filepath='drivers/base/core.c' line='4077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_emerg'>
|
||||
<parameter type-id='8df61054' name='dev' filepath='drivers/base/core.c' line='4077' column='1'/>
|
||||
<parameter type-id='80f4b756' name='fmt' filepath='drivers/base/core.c' line='4077' column='1'/>
|
||||
<parameter is-variadic='yes'/>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
<function-decl name='device_match_name' mangled-name='device_match_name' filepath='drivers/base/core.c' line='4158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_match_name'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='4158' column='1'/>
|
||||
<parameter type-id='eaa32e2f' name='name' filepath='drivers/base/core.c' line='4158' column='1'/>
|
||||
<function-decl name='device_match_name' mangled-name='device_match_name' filepath='drivers/base/core.c' line='4156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_match_name'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='4156' column='1'/>
|
||||
<parameter type-id='eaa32e2f' name='name' filepath='drivers/base/core.c' line='4156' column='1'/>
|
||||
<return type-id='95e97e5e'/>
|
||||
</function-decl>
|
||||
<function-decl name='device_match_fwnode' mangled-name='device_match_fwnode' filepath='drivers/base/core.c' line='4170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_match_fwnode'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='4170' column='1'/>
|
||||
<parameter type-id='eaa32e2f' name='fwnode' filepath='drivers/base/core.c' line='4170' column='1'/>
|
||||
<function-decl name='device_match_fwnode' mangled-name='device_match_fwnode' filepath='drivers/base/core.c' line='4168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_match_fwnode'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/core.c' line='4168' column='1'/>
|
||||
<parameter type-id='eaa32e2f' name='fwnode' filepath='drivers/base/core.c' line='4168' column='1'/>
|
||||
<return type-id='95e97e5e'/>
|
||||
</function-decl>
|
||||
<function-decl name='dev_fwnode' mangled-name='dev_fwnode' filepath='include/linux/property.h' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_fwnode'>
|
||||
|
|
@ -8376,20 +8391,6 @@
|
|||
</function-decl>
|
||||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/base/power/qos.c' language='LANG_C89'>
|
||||
<class-decl name='wake_irq' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/base/power/power.h' line='32' column='1' id='4657336c'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='dev' type-id='fa0b179b' visibility='default' filepath='drivers/base/power/power.h' line='33' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='64'>
|
||||
<var-decl name='status' type-id='f0981eeb' visibility='default' filepath='drivers/base/power/power.h' line='34' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='96'>
|
||||
<var-decl name='irq' type-id='95e97e5e' visibility='default' filepath='drivers/base/power/power.h' line='35' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='128'>
|
||||
<var-decl name='name' type-id='80f4b756' visibility='default' filepath='drivers/base/power/power.h' line='36' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<function-decl name='dev_pm_qos_add_request' mangled-name='dev_pm_qos_add_request' filepath='drivers/base/power/qos.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_qos_add_request'>
|
||||
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/power/qos.c' line='388' column='1'/>
|
||||
<parameter type-id='a80fd1bc' name='req' filepath='drivers/base/power/qos.c' line='388' column='1'/>
|
||||
|
|
@ -19177,28 +19178,6 @@
|
|||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_gem.c' language='LANG_C89'>
|
||||
<class-decl name='drm_property' is-struct='yes' visibility='default' is-declaration-only='yes' id='811caa37'/>
|
||||
<union-decl name='__anonymous_union__7' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1' id='df8866ad'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='rb_node' type-id='2a8a6332' visibility='default' filepath='include/linux/blkdev.h' line='171' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='special_vec' type-id='40af3609' visibility='default' filepath='include/linux/blkdev.h' line='172' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='completion_data' type-id='eaa32e2f' visibility='default' filepath='include/linux/blkdev.h' line='173' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='error_count' type-id='95e97e5e' visibility='default' filepath='include/linux/blkdev.h' line='174' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__8' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1' id='da6ad6a2'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='elv' type-id='a570972f' visibility='default' filepath='include/linux/blkdev.h' line='187' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='flush' type-id='9e18948c' visibility='default' filepath='include/linux/blkdev.h' line='193' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<pointer-type-def type-id='811caa37' size-in-bits='64' id='26ea5d4d'/>
|
||||
<pointer-type-def type-id='743d7e52' size-in-bits='64' id='e05b33b0'/>
|
||||
<function-decl name='drm_vma_offset_manager_init' mangled-name='drm_vma_offset_manager_init' filepath='include/drm/drm_vma_manager.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_manager_init'>
|
||||
|
|
@ -21037,6 +21016,10 @@
|
|||
</function-type>
|
||||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/i2c/i2c-core-base.c' language='LANG_C89'>
|
||||
<function-decl name='i2c_add_numbered_adapter' mangled-name='i2c_add_numbered_adapter' filepath='drivers/i2c/i2c-core-base.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_add_numbered_adapter'>
|
||||
<parameter type-id='b9af02c3' name='adap' filepath='drivers/i2c/i2c-core-base.c' line='1495' column='1'/>
|
||||
<return type-id='95e97e5e'/>
|
||||
</function-decl>
|
||||
<function-decl name='i2c_get_dma_safe_msg_buf' mangled-name='i2c_get_dma_safe_msg_buf' filepath='drivers/i2c/i2c-core-base.c' line='2374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_get_dma_safe_msg_buf'>
|
||||
<parameter type-id='cd44bc95' name='msg' filepath='drivers/i2c/i2c-core-base.c' line='2374' column='1'/>
|
||||
<parameter type-id='f0981eeb' name='threshold' filepath='drivers/i2c/i2c-core-base.c' line='2374' column='1'/>
|
||||
|
|
@ -31007,7 +30990,7 @@
|
|||
</function-decl>
|
||||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/mmc/host/sdhci-pltfm.c' language='LANG_C89'>
|
||||
<union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='122' column='1' id='93350e5b'>
|
||||
<union-decl name='__anonymous_union__8' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='122' column='1' id='93350e5b'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='s_mem' type-id='eaa32e2f' visibility='default' filepath='include/linux/mm_types.h' line='123' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -32179,14 +32162,6 @@
|
|||
<enumerator name='RTNL_LINK_INITIALIZED' value='0'/>
|
||||
<enumerator name='RTNL_LINK_INITIALIZING' value='1'/>
|
||||
</enum-decl>
|
||||
<union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='711' column='1' id='a6d66545'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='sk' type-id='f772df6d' visibility='default' filepath='include/linux/skbuff.h' line='712' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ip_defrag_offset' type-id='95e97e5e' visibility='default' filepath='include/linux/skbuff.h' line='713' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<class-decl name='phy_c45_device_ids' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='324' column='1' id='0463cbfd'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='devices_in_package' type-id='19c2251e' visibility='default' filepath='include/linux/phy.h' line='325' column='1'/>
|
||||
|
|
@ -33424,6 +33399,14 @@
|
|||
</function-type>
|
||||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/net/usb/asix_common.c' language='LANG_C89'>
|
||||
<union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='711' column='1' id='a6d66545'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='sk' type-id='f772df6d' visibility='default' filepath='include/linux/skbuff.h' line='712' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ip_defrag_offset' type-id='95e97e5e' visibility='default' filepath='include/linux/skbuff.h' line='713' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<function-decl name='usbnet_write_cmd_async' mangled-name='usbnet_write_cmd_async' filepath='include/linux/usb/usbnet.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usbnet_write_cmd_async'>
|
||||
<parameter type-id='12884b9a'/>
|
||||
<parameter type-id='002ac4a6'/>
|
||||
|
|
@ -33447,7 +33430,7 @@
|
|||
<return type-id='0fbf3cfd'/>
|
||||
</function-decl>
|
||||
<function-decl name='usbnet_get_drvinfo' mangled-name='usbnet_get_drvinfo' filepath='include/linux/usb/usbnet.h' line='286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usbnet_get_drvinfo'>
|
||||
<parameter type-id='68a2d05b'/>
|
||||
<parameter type-id='68a2d05c'/>
|
||||
<parameter type-id='8c4c4029'/>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
|
|
@ -33515,7 +33498,7 @@
|
|||
<var-decl name='padding_pkt' type-id='80f4b756' visibility='default' filepath='include/linux/usb/usbnet.h' line='48' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='1600'>
|
||||
<var-decl name='net' type-id='68a2d05b' visibility='default' filepath='include/linux/usb/usbnet.h' line='51' column='1'/>
|
||||
<var-decl name='net' type-id='68a2d05c' visibility='default' filepath='include/linux/usb/usbnet.h' line='51' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='1664'>
|
||||
<var-decl name='msg_enable' type-id='95e97e5e' visibility='default' filepath='include/linux/usb/usbnet.h' line='52' column='1'/>
|
||||
|
|
@ -40869,7 +40852,31 @@
|
|||
<var-decl name='additional_length' type-id='f9b06939' visibility='default' filepath='include/scsi/scsi_common.h' line='51' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<union-decl name='__anonymous_union__5' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1136' column='1' id='d0c6e061'>
|
||||
<union-decl name='__anonymous_union__5' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='150' column='1' id='787e8237'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='pt_mm' type-id='df4b7819' visibility='default' filepath='include/linux/mm_types.h' line='151' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='pt_frag_refcount' type-id='49178f86' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__10' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1' id='df248743'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='q_node' type-id='72f469ec' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='__rcu_icq_cache' type-id='f3b4aca8' visibility='default' filepath='include/linux/iocontext.h' line='85' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__11' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='87' column='1' id='eb20ccf0'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ioc_node' type-id='03a4a074' visibility='default' filepath='include/linux/iocontext.h' line='88' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='__rcu_head' type-id='e3d8ce29' visibility='default' filepath='include/linux/iocontext.h' line='89' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__15' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1136' column='1' id='d0c6e061'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='nfs_fl' type-id='17bacae5' visibility='default' filepath='include/linux/fs.h' line='1137' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -40880,30 +40887,6 @@
|
|||
<var-decl name='afs' type-id='c69efd71' visibility='default' filepath='include/linux/fs.h' line='1143' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__9' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='150' column='1' id='787e8237'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='pt_mm' type-id='df4b7819' visibility='default' filepath='include/linux/mm_types.h' line='151' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='pt_frag_refcount' type-id='49178f86' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__15' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1' id='df248743'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='q_node' type-id='72f469ec' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='__rcu_icq_cache' type-id='f3b4aca8' visibility='default' filepath='include/linux/iocontext.h' line='85' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__16' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='87' column='1' id='eb20ccf0'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ioc_node' type-id='03a4a074' visibility='default' filepath='include/linux/iocontext.h' line='88' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='__rcu_head' type-id='e3d8ce29' visibility='default' filepath='include/linux/iocontext.h' line='89' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<class-decl name='scsi_device_handler' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/scsi/scsi_dh.h' line='48' column='1' id='4e8a6f86'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
<var-decl name='list' type-id='72f469ec' visibility='default' filepath='include/scsi/scsi_dh.h' line='50' column='1'/>
|
||||
|
|
@ -41096,22 +41079,6 @@
|
|||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='drivers/scsi/scsi_logging.c' language='LANG_C89'>
|
||||
<class-decl name='Scsi_Host' is-struct='yes' visibility='default' is-declaration-only='yes' id='83cec607'/>
|
||||
<union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1' id='2f76bc4b'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='hash' type-id='03a4a074' visibility='default' filepath='include/linux/blkdev.h' line='161' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ipi_list' type-id='72f469ec' visibility='default' filepath='include/linux/blkdev.h' line='162' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1' id='097c5bdb'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='csd' type-id='bb75ea85' visibility='default' filepath='include/linux/blkdev.h' line='239' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='fifo_time' type-id='91ce1af9' visibility='default' filepath='include/linux/blkdev.h' line='240' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<pointer-type-def type-id='83cec607' size-in-bits='64' id='a970a64d'/>
|
||||
<function-decl name='__scsi_print_sense' mangled-name='__scsi_print_sense' filepath='drivers/scsi/scsi_logging.c' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__scsi_print_sense'>
|
||||
<parameter type-id='0f176ec1' name='sdev' filepath='drivers/scsi/scsi_logging.c' line='370' column='1'/>
|
||||
|
|
@ -54685,6 +54652,14 @@
|
|||
<var-decl name='bits' type-id='f066dd3c' visibility='default' filepath='include/linux/cpumask.h' line='17' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<union-decl name='rcu_special' size-in-bits='32' visibility='default' filepath='include/linux/sched.h' line='777' column='1' id='a324790e'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='b' type-id='a3326f08' visibility='default' filepath='include/linux/sched.h' line='783' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='s' type-id='19c2251e' visibility='default' filepath='include/linux/sched.h' line='784' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<typedef-decl name='bool' type-id='c894953d' filepath='include/linux/types.h' line='30' column='1' id='b50a4934'/>
|
||||
<class-decl name='trace_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='61' column='1' id='1986ca65'>
|
||||
<data-member access='public' layout-offset-in-bits='0'>
|
||||
|
|
@ -54700,14 +54675,6 @@
|
|||
<var-decl name='pid' type-id='95e97e5e' visibility='default' filepath='include/linux/trace_events.h' line='65' column='1'/>
|
||||
</data-member>
|
||||
</class-decl>
|
||||
<union-decl name='rcu_special' size-in-bits='32' visibility='default' filepath='include/linux/sched.h' line='777' column='1' id='a324790e'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='b' type-id='a3326f08' visibility='default' filepath='include/linux/sched.h' line='783' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='s' type-id='19c2251e' visibility='default' filepath='include/linux/sched.h' line='784' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<typedef-decl name='u64' type-id='d3130597' filepath='include/asm-generic/int-ll64.h' line='23' column='1' id='91ce1af9'/>
|
||||
<typedef-decl name='__u64' type-id='3a47d82b' filepath='include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='d3130597'/>
|
||||
<class-decl name='hlist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='185' column='1' id='e151255a'>
|
||||
|
|
@ -61695,7 +61662,7 @@
|
|||
<var-decl name='mq_ops' type-id='e1962c5d' visibility='default' filepath='include/linux/blkdev.h' line='405' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='448'>
|
||||
<var-decl name='queue_ctx' type-id='9a335022' visibility='default' filepath='include/linux/blkdev.h' line='408' column='1'/>
|
||||
<var-decl name='queue_ctx' type-id='9a335021' visibility='default' filepath='include/linux/blkdev.h' line='408' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='512'>
|
||||
<var-decl name='nr_queues' type-id='f0981eeb' visibility='default' filepath='include/linux/blkdev.h' line='409' column='1'/>
|
||||
|
|
@ -61877,7 +61844,7 @@
|
|||
<var-decl name='q' type-id='e7d2a5fd' visibility='default' filepath='include/linux/blkdev.h' line='134' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='64'>
|
||||
<var-decl name='mq_ctx' type-id='9a335022' visibility='default' filepath='include/linux/blkdev.h' line='135' column='1'/>
|
||||
<var-decl name='mq_ctx' type-id='9a335021' visibility='default' filepath='include/linux/blkdev.h' line='135' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='128'>
|
||||
<var-decl name='mq_hctx' type-id='a47d3468' visibility='default' filepath='include/linux/blkdev.h' line='136' column='1'/>
|
||||
|
|
@ -61910,13 +61877,13 @@
|
|||
<var-decl name='queuelist' type-id='72f469ec' visibility='default' filepath='include/linux/blkdev.h' line='151' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='704'>
|
||||
<var-decl name='' type-id='2f76bc4c' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1'/>
|
||||
<var-decl name='' type-id='2f76bc4b' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='832'>
|
||||
<var-decl name='' type-id='df8866ae' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1'/>
|
||||
<var-decl name='' type-id='df8866ad' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='1024'>
|
||||
<var-decl name='' type-id='da6ad6a3' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1'/>
|
||||
<var-decl name='' type-id='da6ad6a2' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='1280'>
|
||||
<var-decl name='rq_disk' type-id='33c599da' visibility='default' filepath='include/linux/blkdev.h' line='196' column='1'/>
|
||||
|
|
@ -61958,7 +61925,7 @@
|
|||
<var-decl name='deadline' type-id='7359adad' visibility='default' filepath='include/linux/blkdev.h' line='236' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='1792'>
|
||||
<var-decl name='' type-id='097c5bdc' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1'/>
|
||||
<var-decl name='' type-id='097c5bdb' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='public' layout-offset-in-bits='2048'>
|
||||
<var-decl name='end_io' type-id='5afdaa66' visibility='default' filepath='include/linux/blkdev.h' line='246' column='1'/>
|
||||
|
|
@ -67484,7 +67451,7 @@
|
|||
<pointer-type-def type-id='40af3609' size-in-bits='64' id='cddcb53e'/>
|
||||
<pointer-type-def type-id='1d120222' size-in-bits='64' id='e118affa'/>
|
||||
<pointer-type-def type-id='afd9eb4a' size-in-bits='64' id='3620a178'/>
|
||||
<pointer-type-def type-id='cde99b3a' size-in-bits='64' id='9a335022'/>
|
||||
<pointer-type-def type-id='cde99b3a' size-in-bits='64' id='9a335021'/>
|
||||
<pointer-type-def type-id='e0630290' size-in-bits='64' id='a47d3468'/>
|
||||
<pointer-type-def type-id='a47d3468' size-in-bits='64' id='3e195538'/>
|
||||
<pointer-type-def type-id='651086d8' size-in-bits='64' id='cc26d160'/>
|
||||
|
|
@ -70036,7 +70003,7 @@
|
|||
<parameter type-id='eaa32e2f'/>
|
||||
<return type-id='eaa32e2f'/>
|
||||
</function-type>
|
||||
<union-decl name='__anonymous_union__29' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1' id='097c5bdc'>
|
||||
<union-decl name='__anonymous_union__29' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1' id='097c5bdb'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='csd' type-id='bb75ea85' visibility='default' filepath='include/linux/blkdev.h' line='239' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -70101,7 +70068,7 @@
|
|||
<var-decl name='d_rcu' type-id='e3d8ce29' visibility='default' filepath='include/linux/dcache.h' line='120' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__17' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1' id='2f76bc4c'>
|
||||
<union-decl name='__anonymous_union__17' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1' id='2f76bc4b'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='hash' type-id='03a4a074' visibility='default' filepath='include/linux/blkdev.h' line='161' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -70187,7 +70154,7 @@
|
|||
<var-decl name='afs' type-id='c69efd71' visibility='default' filepath='include/linux/fs.h' line='1143' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__18' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1' id='df8866ae'>
|
||||
<union-decl name='__anonymous_union__18' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1' id='df8866ad'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='rb_node' type-id='2a8a6332' visibility='default' filepath='include/linux/blkdev.h' line='171' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -70209,7 +70176,7 @@
|
|||
<var-decl name='rcu' type-id='e3d8ce29' visibility='default' filepath='include/linux/sched.h' line='1323' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__26' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1' id='da6ad6a3'>
|
||||
<union-decl name='__anonymous_union__26' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1' id='da6ad6a2'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='elv' type-id='a570972f' visibility='default' filepath='include/linux/blkdev.h' line='187' column='1'/>
|
||||
</data-member>
|
||||
|
|
@ -98585,6 +98552,44 @@
|
|||
</function-decl>
|
||||
</abi-instr>
|
||||
<abi-instr version='1.0' address-size='64' path='net/wireless/util.c' language='LANG_C89'>
|
||||
<union-decl name='__anonymous_union__23' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='160' column='1' id='2f76bc4c'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='hash' type-id='03a4a074' visibility='default' filepath='include/linux/blkdev.h' line='161' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='ipi_list' type-id='72f469ec' visibility='default' filepath='include/linux/blkdev.h' line='162' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__24' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='170' column='1' id='df8866ae'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='rb_node' type-id='2a8a6332' visibility='default' filepath='include/linux/blkdev.h' line='171' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='special_vec' type-id='40af3609' visibility='default' filepath='include/linux/blkdev.h' line='172' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='completion_data' type-id='eaa32e2f' visibility='default' filepath='include/linux/blkdev.h' line='173' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='error_count' type-id='95e97e5e' visibility='default' filepath='include/linux/blkdev.h' line='174' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__25' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='183' column='1' id='da6ad6a3'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='elv' type-id='a570972f' visibility='default' filepath='include/linux/blkdev.h' line='187' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='flush' type-id='9e18948c' visibility='default' filepath='include/linux/blkdev.h' line='193' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<union-decl name='__anonymous_union__26' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1' id='097c5bdc'>
|
||||
<data-member access='private'>
|
||||
<var-decl name='csd' type-id='bb75ea85' visibility='default' filepath='include/linux/blkdev.h' line='239' column='1'/>
|
||||
</data-member>
|
||||
<data-member access='private'>
|
||||
<var-decl name='fifo_time' type-id='91ce1af9' visibility='default' filepath='include/linux/blkdev.h' line='240' column='1'/>
|
||||
</data-member>
|
||||
</union-decl>
|
||||
<pointer-type-def type-id='5ece574c' size-in-bits='64' id='185e765a'/>
|
||||
<function-decl name='ieee80211_channel_to_freq_khz' mangled-name='ieee80211_channel_to_freq_khz' filepath='net/wireless/util.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ieee80211_channel_to_freq_khz'>
|
||||
<parameter type-id='95e97e5e' name='chan' filepath='net/wireless/util.c' line='75' column='1'/>
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@
|
|||
__tracepoint_android_vh_is_fpsimd_save
|
||||
__tracepoint_android_vh_kfree_skb
|
||||
__tracepoint_android_vh_ptype_head
|
||||
__tracepoint_android_vh_wq_lockup_pool
|
||||
__tracepoint_device_pm_callback_end
|
||||
__tracepoint_device_pm_callback_start
|
||||
__tracepoint_gpu_mem_total
|
||||
|
|
@ -2007,6 +2008,7 @@
|
|||
rtnl_unlock
|
||||
rt_mutex_lock
|
||||
rt_mutex_unlock
|
||||
runqueues
|
||||
save_stack_trace
|
||||
save_stack_trace_tsk
|
||||
sched_clock
|
||||
|
|
@ -2400,6 +2402,7 @@
|
|||
trace_raw_output_prep
|
||||
trace_seq_printf
|
||||
tracepoint_probe_register
|
||||
tracepoint_probe_unregister
|
||||
tracing_off
|
||||
truncate_inode_pages
|
||||
try_module_get
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
blk_queue_write_cache
|
||||
bpf_trace_run2
|
||||
bpf_trace_run3
|
||||
bt_err
|
||||
bt_info
|
||||
build_skb
|
||||
cancel_delayed_work_sync
|
||||
cancel_work_sync
|
||||
__cfi_slowpath
|
||||
|
|
@ -37,6 +40,7 @@
|
|||
_dev_err
|
||||
device_add_disk
|
||||
device_create
|
||||
device_init_wakeup
|
||||
device_unregister
|
||||
_dev_info
|
||||
__dev_kfree_skb_any
|
||||
|
|
@ -70,8 +74,23 @@
|
|||
__get_free_pages
|
||||
get_random_bytes
|
||||
get_unused_fd_flags
|
||||
__hci_cmd_sync
|
||||
hrtimer_cancel
|
||||
hrtimer_init
|
||||
hrtimer_start_range_ns
|
||||
ida_alloc_range
|
||||
ida_free
|
||||
ieee80211_alloc_hw_nm
|
||||
ieee80211_beacon_get_tim
|
||||
ieee80211_csa_finish
|
||||
ieee80211_csa_is_complete
|
||||
ieee80211_free_hw
|
||||
ieee80211_free_txskb
|
||||
ieee80211_get_tx_rates
|
||||
ieee80211_iterate_active_interfaces_atomic
|
||||
ieee80211_register_hw
|
||||
ieee80211_start_tx_ba_cb_irqsafe
|
||||
ieee80211_stop_tx_ba_cb_irqsafe
|
||||
init_timer_key
|
||||
init_wait_entry
|
||||
__init_waitqueue_head
|
||||
|
|
@ -84,6 +103,7 @@
|
|||
jiffies
|
||||
jiffies_to_msecs
|
||||
kfree
|
||||
kfree_skb
|
||||
kimage_voffset
|
||||
__kmalloc
|
||||
kmalloc_caches
|
||||
|
|
@ -100,6 +120,7 @@
|
|||
kobject_put
|
||||
kobject_uevent
|
||||
kstrdup
|
||||
ktime_get
|
||||
ktime_get_mono_fast_ns
|
||||
ktime_get_raw_ts64
|
||||
ktime_get_real_seconds
|
||||
|
|
@ -123,11 +144,18 @@
|
|||
mutex_lock_interruptible
|
||||
mutex_trylock
|
||||
mutex_unlock
|
||||
napi_complete_done
|
||||
napi_disable
|
||||
__napi_schedule
|
||||
napi_schedule_prep
|
||||
netdev_err
|
||||
netdev_info
|
||||
netif_carrier_off
|
||||
netif_carrier_on
|
||||
netif_device_detach
|
||||
netif_napi_add
|
||||
netif_set_real_num_rx_queues
|
||||
netif_set_real_num_tx_queues
|
||||
netif_tx_stop_all_queues
|
||||
netif_tx_wake_queue
|
||||
nf_conntrack_destroy
|
||||
|
|
@ -153,7 +181,6 @@
|
|||
platform_driver_unregister
|
||||
platform_get_irq
|
||||
platform_get_resource
|
||||
pm_runtime_allow
|
||||
__pm_runtime_suspend
|
||||
__pm_runtime_use_autosuspend
|
||||
preempt_schedule
|
||||
|
|
@ -184,7 +211,10 @@
|
|||
register_netdev
|
||||
register_virtio_device
|
||||
register_virtio_driver
|
||||
__regmap_init
|
||||
release_firmware
|
||||
remap_pfn_range
|
||||
request_firmware
|
||||
__request_module
|
||||
request_threaded_irq
|
||||
revalidate_disk
|
||||
|
|
@ -198,7 +228,9 @@
|
|||
sg_init_one
|
||||
sg_init_table
|
||||
skb_add_rx_frag
|
||||
skb_page_frag_refill
|
||||
skb_put
|
||||
skb_to_sgvec
|
||||
snd_card_register
|
||||
snd_ctl_enum_info
|
||||
snd_ctl_sync_vmaster
|
||||
|
|
@ -207,6 +239,7 @@
|
|||
snd_pcm_add_chmap_ctls
|
||||
snd_pcm_period_elapsed
|
||||
snprintf
|
||||
softnet_data
|
||||
sort
|
||||
sprintf
|
||||
__stack_chk_fail
|
||||
|
|
@ -248,6 +281,7 @@
|
|||
virtqueue_detach_unused_buf
|
||||
virtqueue_disable_cb
|
||||
virtqueue_enable_cb
|
||||
virtqueue_enable_cb_prepare
|
||||
virtqueue_get_avail_addr
|
||||
virtqueue_get_buf
|
||||
virtqueue_get_desc_addr
|
||||
|
|
@ -257,6 +291,7 @@
|
|||
virtqueue_kick
|
||||
virtqueue_kick_prepare
|
||||
virtqueue_notify
|
||||
virtqueue_poll
|
||||
vmemmap
|
||||
vring_create_virtqueue
|
||||
vring_del_virtqueue
|
||||
|
|
@ -266,6 +301,63 @@
|
|||
__wake_up
|
||||
__warn_printk
|
||||
|
||||
# required by btintel.ko
|
||||
bt_to_errno
|
||||
hci_cmd_sync
|
||||
request_firmware_direct
|
||||
|
||||
# required by btrtl.ko
|
||||
bt_warn
|
||||
|
||||
# required by btusb.ko
|
||||
bit_wait_timeout
|
||||
btbcm_set_bdaddr
|
||||
btbcm_setup_apple
|
||||
btbcm_setup_patchram
|
||||
device_wakeup_disable
|
||||
disable_irq
|
||||
disable_irq_nosync
|
||||
enable_irq
|
||||
gpiod_get_optional
|
||||
gpiod_put
|
||||
gpiod_set_value_cansleep
|
||||
hci_alloc_dev
|
||||
__hci_cmd_sync_ev
|
||||
hci_free_dev
|
||||
hci_recv_diag
|
||||
hci_recv_frame
|
||||
hci_register_dev
|
||||
hci_unregister_dev
|
||||
irq_modify_status
|
||||
irq_set_irq_wake
|
||||
of_irq_get_byname
|
||||
of_match_device
|
||||
of_property_read_variable_u16_array
|
||||
out_of_line_wait_on_bit_timeout
|
||||
pm_system_wakeup
|
||||
pm_wakeup_dev_event
|
||||
usb_alloc_urb
|
||||
usb_anchor_urb
|
||||
usb_autopm_get_interface
|
||||
usb_autopm_put_interface
|
||||
usb_bulk_msg
|
||||
usb_control_msg
|
||||
usb_deregister
|
||||
usb_driver_claim_interface
|
||||
usb_driver_release_interface
|
||||
usb_enable_autosuspend
|
||||
usb_free_urb
|
||||
usb_get_from_anchor
|
||||
usb_ifnum_to_if
|
||||
usb_kill_anchored_urbs
|
||||
usb_match_id
|
||||
usb_register_driver
|
||||
usb_scuttle_anchored_urbs
|
||||
usb_set_interface
|
||||
usb_submit_urb
|
||||
usb_unanchor_urb
|
||||
wake_up_bit
|
||||
|
||||
# required by dummy-cpufreq.ko
|
||||
cpufreq_generic_attr
|
||||
cpufreq_register_driver
|
||||
|
|
@ -283,7 +375,6 @@
|
|||
# required by goldfish_address_space.ko
|
||||
__ioremap
|
||||
kimage_vaddr
|
||||
kzfree
|
||||
memremap
|
||||
memunmap
|
||||
|
||||
|
|
@ -341,7 +432,6 @@
|
|||
kernel_read
|
||||
kernel_write
|
||||
kern_path
|
||||
ktime_get
|
||||
lockref_get
|
||||
lock_rename
|
||||
lookup_one_len
|
||||
|
|
@ -398,31 +488,16 @@
|
|||
genl_notify
|
||||
genl_register_family
|
||||
genl_unregister_family
|
||||
hrtimer_cancel
|
||||
hrtimer_forward
|
||||
hrtimer_init
|
||||
hrtimer_start_range_ns
|
||||
ieee80211_alloc_hw_nm
|
||||
ieee80211_beacon_get_tim
|
||||
ieee80211_csa_finish
|
||||
ieee80211_csa_is_complete
|
||||
ieee80211_free_hw
|
||||
ieee80211_free_txskb
|
||||
ieee80211_get_tx_rates
|
||||
ieee80211_iterate_active_interfaces_atomic
|
||||
ieee80211_probereq_get
|
||||
ieee80211_queue_delayed_work
|
||||
ieee80211_ready_on_channel
|
||||
ieee80211_register_hw
|
||||
ieee80211_remain_on_channel_expired
|
||||
ieee80211_rx_irqsafe
|
||||
ieee80211_scan_completed
|
||||
ieee80211_start_tx_ba_cb_irqsafe
|
||||
ieee80211_stop_tx_ba_cb_irqsafe
|
||||
ieee80211_tx_status_irqsafe
|
||||
ieee80211_unregister_hw
|
||||
init_net
|
||||
kfree_skb
|
||||
kstrndup
|
||||
__netdev_alloc_skb
|
||||
netif_rx
|
||||
|
|
@ -580,7 +655,6 @@
|
|||
# required by rtc-test.ko
|
||||
add_timer
|
||||
del_timer
|
||||
device_init_wakeup
|
||||
devm_rtc_allocate_device
|
||||
platform_device_add
|
||||
platform_device_alloc
|
||||
|
|
@ -606,6 +680,7 @@
|
|||
get_device_system_crosststamp
|
||||
kvasprintf
|
||||
ns_to_timespec
|
||||
pm_runtime_allow
|
||||
__pm_runtime_disable
|
||||
pm_runtime_enable
|
||||
pm_runtime_forbid
|
||||
|
|
@ -664,7 +739,6 @@
|
|||
regcache_cache_only
|
||||
regcache_sync
|
||||
regmap_exit
|
||||
__regmap_init
|
||||
regmap_read
|
||||
regmap_update_bits_base
|
||||
regmap_write
|
||||
|
|
@ -708,6 +782,7 @@
|
|||
vmalloc
|
||||
|
||||
# required by virtio-gpu.ko
|
||||
dma_buf_get_uuid
|
||||
dma_direct_map_sg
|
||||
dma_direct_sync_sg_for_device
|
||||
dma_direct_unmap_sg
|
||||
|
|
@ -769,6 +844,7 @@
|
|||
drm_gem_object_lookup
|
||||
drm_gem_object_put_unlocked
|
||||
drm_gem_object_release
|
||||
drm_gem_prime_export
|
||||
drm_gem_prime_fd_to_handle
|
||||
drm_gem_prime_handle_to_fd
|
||||
drm_gem_prime_mmap
|
||||
|
|
@ -809,6 +885,7 @@
|
|||
ttm_bo_init_mm
|
||||
ttm_bo_kmap
|
||||
ttm_bo_kunmap
|
||||
ttm_bo_manager_func
|
||||
ttm_bo_mmap
|
||||
ttm_bo_move_to_lru_tail
|
||||
ttm_bo_put
|
||||
|
|
@ -819,6 +896,7 @@
|
|||
ttm_eu_backoff_reservation
|
||||
ttm_eu_fence_buffer_objects
|
||||
ttm_eu_reserve_buffers
|
||||
ttm_tt_init
|
||||
ww_mutex_lock_interruptible
|
||||
ww_mutex_unlock
|
||||
|
||||
|
|
@ -907,7 +985,6 @@
|
|||
bpf_prog_sub
|
||||
bpf_stats_enabled_key
|
||||
bpf_warn_invalid_xdp_action
|
||||
build_skb
|
||||
__cpuhp_remove_state
|
||||
__cpuhp_setup_state
|
||||
__cpuhp_state_add_instance
|
||||
|
|
@ -922,21 +999,14 @@
|
|||
find_next_bit
|
||||
flow_keys_basic_dissector
|
||||
__napi_alloc_skb
|
||||
napi_complete_done
|
||||
napi_consume_skb
|
||||
napi_disable
|
||||
napi_gro_receive
|
||||
napi_hash_del
|
||||
__napi_schedule
|
||||
napi_schedule_prep
|
||||
netdev_notify_peers
|
||||
netdev_warn
|
||||
netif_device_attach
|
||||
netif_napi_add
|
||||
netif_napi_del
|
||||
netif_schedule_queue
|
||||
netif_set_real_num_rx_queues
|
||||
netif_set_real_num_tx_queues
|
||||
__netif_set_xps_queue
|
||||
net_ratelimit
|
||||
__num_online_cpus
|
||||
|
|
@ -944,18 +1014,13 @@
|
|||
sched_clock
|
||||
skb_coalesce_rx_frag
|
||||
__skb_flow_dissect
|
||||
skb_page_frag_refill
|
||||
skb_partial_csum_set
|
||||
skb_to_sgvec
|
||||
skb_tstamp_tx
|
||||
softnet_data
|
||||
synchronize_net
|
||||
__tracepoint_xdp_exception
|
||||
virtqueue_add_inbuf_ctx
|
||||
virtqueue_enable_cb_delayed
|
||||
virtqueue_enable_cb_prepare
|
||||
virtqueue_get_buf_ctx
|
||||
virtqueue_poll
|
||||
xdp_convert_zc_to_xdp_frame
|
||||
xdp_do_flush_map
|
||||
xdp_do_redirect
|
||||
|
|
@ -985,3 +1050,10 @@
|
|||
nvdimm_bus_register
|
||||
nvdimm_bus_unregister
|
||||
nvdimm_pmem_region_create
|
||||
|
||||
# required by virtio_wifi.ko
|
||||
ieee80211_rx_napi
|
||||
ieee80211_stop_queues
|
||||
ieee80211_tx_status_ext
|
||||
ieee80211_wake_queues
|
||||
init_dummy_netdev
|
||||
|
|
|
|||
|
|
@ -1042,6 +1042,7 @@
|
|||
__hwspin_unlock
|
||||
hypervisor_kobj
|
||||
i2c_add_adapter
|
||||
i2c_add_numbered_adapter
|
||||
i2c_del_adapter
|
||||
i2c_del_driver
|
||||
i2c_get_dma_safe_msg_buf
|
||||
|
|
|
|||
|
|
@ -58,12 +58,14 @@
|
|||
clk_set_parent
|
||||
clk_set_rate
|
||||
clk_unprepare
|
||||
clocks_calc_mult_shift
|
||||
clockevents_config_and_register
|
||||
__clocksource_register_scale
|
||||
compat_alloc_user_space
|
||||
complete
|
||||
complete_all
|
||||
config_ep_by_speed
|
||||
config_group_init_type_name
|
||||
console_lock
|
||||
console_unlock
|
||||
__const_udelay
|
||||
|
|
@ -71,6 +73,8 @@
|
|||
cpu_hwcap_keys
|
||||
cpu_hwcaps
|
||||
cpumask_next
|
||||
cpufreq_add_update_util_hook
|
||||
cpufreq_remove_update_util_hook
|
||||
cpu_number
|
||||
__cpu_online_mask
|
||||
__cpu_possible_mask
|
||||
|
|
@ -186,6 +190,7 @@
|
|||
dst_release
|
||||
dump_stack
|
||||
__dynamic_dev_dbg
|
||||
__dynamic_netdev_dbg
|
||||
__dynamic_pr_debug
|
||||
enable_irq
|
||||
ether_setup
|
||||
|
|
@ -220,7 +225,12 @@
|
|||
gen_pool_free_owner
|
||||
get_cpu_device
|
||||
__get_free_pages
|
||||
get_governor_parent_kobj
|
||||
get_random_bytes
|
||||
gov_attr_set_get
|
||||
gov_attr_set_init
|
||||
gov_attr_set_put
|
||||
governor_sysfs_ops
|
||||
gpiochip_get_data
|
||||
gpiochip_line_is_irq
|
||||
gpiod_direction_input
|
||||
|
|
@ -237,6 +247,7 @@
|
|||
handle_bad_irq
|
||||
handle_edge_irq
|
||||
handle_level_irq
|
||||
have_governor_per_policy
|
||||
i2c_del_driver
|
||||
i2c_register_driver
|
||||
i2c_smbus_read_byte_data
|
||||
|
|
@ -309,6 +320,7 @@
|
|||
irq_of_parse_and_map
|
||||
irq_set_irq_type
|
||||
irq_set_irq_wake
|
||||
irq_work_sync
|
||||
is_console_locked
|
||||
jiffies
|
||||
jiffies_to_msecs
|
||||
|
|
@ -1417,6 +1429,7 @@
|
|||
mbox_controller_unregister
|
||||
mbox_free_channel
|
||||
mbox_request_channel
|
||||
mbox_request_channel_byname
|
||||
mbox_send_message
|
||||
register_syscore_ops
|
||||
|
||||
|
|
@ -2524,3 +2537,15 @@
|
|||
snd_pcm_rate_bit_to_rate
|
||||
snd_soc_bytes_info_ext
|
||||
snd_soc_new_compress
|
||||
|
||||
# cpufreq_interactive.ko
|
||||
add_timer_on
|
||||
cpufreq_register_notifier
|
||||
cpufreq_table_index_unsorted
|
||||
cpufreq_unregister_notifier
|
||||
down_read_trylock
|
||||
get_cpu_idle_time
|
||||
irq_work_queue
|
||||
kobject_init_and_add
|
||||
sched_setscheduler_nocheck
|
||||
strpbrk
|
||||
|
|
|
|||
|
|
@ -98,8 +98,6 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
|
|||
#define pte_valid(pte) (!!(pte_val(pte) & PTE_VALID))
|
||||
#define pte_valid_not_user(pte) \
|
||||
((pte_val(pte) & (PTE_VALID | PTE_USER)) == PTE_VALID)
|
||||
#define pte_valid_young(pte) \
|
||||
((pte_val(pte) & (PTE_VALID | PTE_AF)) == (PTE_VALID | PTE_AF))
|
||||
#define pte_valid_user(pte) \
|
||||
((pte_val(pte) & (PTE_VALID | PTE_USER)) == (PTE_VALID | PTE_USER))
|
||||
|
||||
|
|
@ -107,9 +105,12 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
|
|||
* Could the pte be present in the TLB? We must check mm_tlb_flush_pending
|
||||
* so that we don't erroneously return false for pages that have been
|
||||
* remapped as PROT_NONE but are yet to be flushed from the TLB.
|
||||
* Note that we can't make any assumptions based on the state of the access
|
||||
* flag, since ptep_clear_flush_young() elides a DSB when invalidating the
|
||||
* TLB.
|
||||
*/
|
||||
#define pte_accessible(mm, pte) \
|
||||
(mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid_young(pte))
|
||||
(mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte))
|
||||
|
||||
/*
|
||||
* p??_access_permitted() is true for valid user mappings (subject to the
|
||||
|
|
|
|||
|
|
@ -1053,10 +1053,8 @@ static ssize_t waiting_for_supplier_show(struct device *dev,
|
|||
bool val;
|
||||
|
||||
device_lock(dev);
|
||||
mutex_lock(&wfs_lock);
|
||||
val = !list_empty(&dev->links.needs_suppliers)
|
||||
&& dev->links.need_for_probe;
|
||||
mutex_unlock(&wfs_lock);
|
||||
device_unlock(dev);
|
||||
return sprintf(buf, "%u\n", val);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/freezer.h>
|
||||
#include <linux/kref.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/file.h>
|
||||
|
|
@ -73,6 +74,7 @@ struct acc_dev {
|
|||
struct usb_function function;
|
||||
struct usb_composite_dev *cdev;
|
||||
spinlock_t lock;
|
||||
struct acc_dev_ref *ref;
|
||||
|
||||
struct usb_ep *ep_in;
|
||||
struct usb_ep *ep_out;
|
||||
|
|
@ -80,13 +82,13 @@ struct acc_dev {
|
|||
/* online indicates state of function_set_alt & function_unbind
|
||||
* set to 1 when we connect
|
||||
*/
|
||||
int online:1;
|
||||
int online;
|
||||
|
||||
/* disconnected indicates state of open & release
|
||||
* Set to 1 when we disconnect.
|
||||
* Not cleared until our file is closed.
|
||||
*/
|
||||
int disconnected:1;
|
||||
int disconnected;
|
||||
|
||||
/* strings sent by the host */
|
||||
char manufacturer[ACC_STRING_SIZE];
|
||||
|
|
@ -199,14 +201,48 @@ static struct usb_gadget_strings *acc_strings[] = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
/* temporary variable used between acc_open() and acc_gadget_bind() */
|
||||
static struct acc_dev *_acc_dev;
|
||||
struct acc_dev_ref {
|
||||
struct kref kref;
|
||||
struct acc_dev *acc_dev;
|
||||
};
|
||||
|
||||
static struct acc_dev_ref _acc_dev_ref = {
|
||||
.kref = KREF_INIT(0),
|
||||
};
|
||||
|
||||
struct acc_instance {
|
||||
struct usb_function_instance func_inst;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
static struct acc_dev *get_acc_dev(void)
|
||||
{
|
||||
struct acc_dev_ref *ref = &_acc_dev_ref;
|
||||
|
||||
return kref_get_unless_zero(&ref->kref) ? ref->acc_dev : NULL;
|
||||
}
|
||||
|
||||
static void __put_acc_dev(struct kref *kref)
|
||||
{
|
||||
struct acc_dev_ref *ref = container_of(kref, struct acc_dev_ref, kref);
|
||||
struct acc_dev *dev = ref->acc_dev;
|
||||
|
||||
/* Cancel any async work */
|
||||
cancel_delayed_work_sync(&dev->start_work);
|
||||
cancel_work_sync(&dev->hid_work);
|
||||
|
||||
ref->acc_dev = NULL;
|
||||
kfree(dev);
|
||||
}
|
||||
|
||||
static void put_acc_dev(struct acc_dev *dev)
|
||||
{
|
||||
struct acc_dev_ref *ref = dev->ref;
|
||||
|
||||
WARN_ON(ref->acc_dev != dev);
|
||||
kref_put(&ref->kref, __put_acc_dev);
|
||||
}
|
||||
|
||||
static inline struct acc_dev *func_to_dev(struct usb_function *f)
|
||||
{
|
||||
return container_of(f, struct acc_dev, function);
|
||||
|
|
@ -272,7 +308,10 @@ static void acc_set_disconnected(struct acc_dev *dev)
|
|||
|
||||
static void acc_complete_in(struct usb_ep *ep, struct usb_request *req)
|
||||
{
|
||||
struct acc_dev *dev = _acc_dev;
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
if (req->status == -ESHUTDOWN) {
|
||||
pr_debug("acc_complete_in set disconnected");
|
||||
|
|
@ -282,11 +321,15 @@ static void acc_complete_in(struct usb_ep *ep, struct usb_request *req)
|
|||
req_put(dev, &dev->tx_idle, req);
|
||||
|
||||
wake_up(&dev->write_wq);
|
||||
put_acc_dev(dev);
|
||||
}
|
||||
|
||||
static void acc_complete_out(struct usb_ep *ep, struct usb_request *req)
|
||||
{
|
||||
struct acc_dev *dev = _acc_dev;
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
dev->rx_done = 1;
|
||||
if (req->status == -ESHUTDOWN) {
|
||||
|
|
@ -295,6 +338,7 @@ static void acc_complete_out(struct usb_ep *ep, struct usb_request *req)
|
|||
}
|
||||
|
||||
wake_up(&dev->read_wq);
|
||||
put_acc_dev(dev);
|
||||
}
|
||||
|
||||
static void acc_complete_set_string(struct usb_ep *ep, struct usb_request *req)
|
||||
|
|
@ -762,24 +806,36 @@ static long acc_ioctl(struct file *fp, unsigned code, unsigned long value)
|
|||
|
||||
static int acc_open(struct inode *ip, struct file *fp)
|
||||
{
|
||||
printk(KERN_INFO "acc_open\n");
|
||||
if (atomic_xchg(&_acc_dev->open_excl, 1))
|
||||
return -EBUSY;
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
_acc_dev->disconnected = 0;
|
||||
fp->private_data = _acc_dev;
|
||||
if (!dev)
|
||||
return -ENODEV;
|
||||
|
||||
if (atomic_xchg(&dev->open_excl, 1)) {
|
||||
put_acc_dev(dev);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
dev->disconnected = 0;
|
||||
fp->private_data = dev;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int acc_release(struct inode *ip, struct file *fp)
|
||||
{
|
||||
printk(KERN_INFO "acc_release\n");
|
||||
struct acc_dev *dev = fp->private_data;
|
||||
|
||||
if (!dev)
|
||||
return -ENOENT;
|
||||
|
||||
WARN_ON(!atomic_xchg(&_acc_dev->open_excl, 0));
|
||||
/* indicate that we are disconnected
|
||||
* still could be online so don't touch online flag
|
||||
*/
|
||||
_acc_dev->disconnected = 1;
|
||||
dev->disconnected = 1;
|
||||
|
||||
fp->private_data = NULL;
|
||||
WARN_ON(!atomic_xchg(&dev->open_excl, 0));
|
||||
put_acc_dev(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -832,7 +888,7 @@ static void acc_complete_setup_noop(struct usb_ep *ep, struct usb_request *req)
|
|||
int acc_ctrlrequest(struct usb_composite_dev *cdev,
|
||||
const struct usb_ctrlrequest *ctrl)
|
||||
{
|
||||
struct acc_dev *dev = _acc_dev;
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
int value = -EOPNOTSUPP;
|
||||
struct acc_hid_dev *hid;
|
||||
int offset;
|
||||
|
|
@ -849,12 +905,6 @@ int acc_ctrlrequest(struct usb_composite_dev *cdev,
|
|||
*/
|
||||
if (!dev)
|
||||
return -ENODEV;
|
||||
/*
|
||||
printk(KERN_INFO "acc_ctrlrequest "
|
||||
"%02x.%02x v%04x i%04x l%u\n",
|
||||
b_requestType, b_request,
|
||||
w_value, w_index, w_length);
|
||||
*/
|
||||
|
||||
if (b_requestType == (USB_DIR_OUT | USB_TYPE_VENDOR)) {
|
||||
if (b_request == ACCESSORY_START) {
|
||||
|
|
@ -943,6 +993,7 @@ err:
|
|||
"%02x.%02x v%04x i%04x l%u\n",
|
||||
ctrl->bRequestType, ctrl->bRequest,
|
||||
w_value, w_index, w_length);
|
||||
put_acc_dev(dev);
|
||||
return value;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acc_ctrlrequest);
|
||||
|
|
@ -1013,10 +1064,6 @@ kill_all_hid_devices(struct acc_dev *dev)
|
|||
struct list_head *entry, *temp;
|
||||
unsigned long flags;
|
||||
|
||||
/* do nothing if usb accessory device doesn't exist */
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&dev->lock, flags);
|
||||
list_for_each_safe(entry, temp, &dev->hid_list) {
|
||||
hid = list_entry(entry, struct acc_hid_dev, list);
|
||||
|
|
@ -1101,12 +1148,15 @@ static void acc_hid_delete(struct acc_hid_dev *hid)
|
|||
|
||||
static void acc_hid_work(struct work_struct *data)
|
||||
{
|
||||
struct acc_dev *dev = _acc_dev;
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
struct list_head *entry, *temp;
|
||||
struct acc_hid_dev *hid;
|
||||
struct list_head new_list, dead_list;
|
||||
unsigned long flags;
|
||||
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
INIT_LIST_HEAD(&new_list);
|
||||
|
||||
spin_lock_irqsave(&dev->lock, flags);
|
||||
|
|
@ -1152,6 +1202,8 @@ static void acc_hid_work(struct work_struct *data)
|
|||
hid_destroy_device(hid->hid);
|
||||
acc_hid_delete(hid);
|
||||
}
|
||||
|
||||
put_acc_dev(dev);
|
||||
}
|
||||
|
||||
static int acc_function_set_alt(struct usb_function *f,
|
||||
|
|
@ -1208,9 +1260,13 @@ static void acc_function_disable(struct usb_function *f)
|
|||
|
||||
static int acc_setup(void)
|
||||
{
|
||||
struct acc_dev_ref *ref = &_acc_dev_ref;
|
||||
struct acc_dev *dev;
|
||||
int ret;
|
||||
|
||||
if (kref_read(&ref->kref))
|
||||
return -EBUSY;
|
||||
|
||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
if (!dev)
|
||||
return -ENOMEM;
|
||||
|
|
@ -1226,16 +1282,22 @@ static int acc_setup(void)
|
|||
INIT_DELAYED_WORK(&dev->start_work, acc_start_work);
|
||||
INIT_WORK(&dev->hid_work, acc_hid_work);
|
||||
|
||||
/* _acc_dev must be set before calling usb_gadget_register_driver */
|
||||
_acc_dev = dev;
|
||||
dev->ref = ref;
|
||||
if (cmpxchg_relaxed(&ref->acc_dev, NULL, dev)) {
|
||||
ret = -EBUSY;
|
||||
goto err_free_dev;
|
||||
}
|
||||
|
||||
ret = misc_register(&acc_device);
|
||||
if (ret)
|
||||
goto err;
|
||||
goto err_zap_ptr;
|
||||
|
||||
kref_init(&ref->kref);
|
||||
return 0;
|
||||
|
||||
err:
|
||||
err_zap_ptr:
|
||||
ref->acc_dev = NULL;
|
||||
err_free_dev:
|
||||
kfree(dev);
|
||||
pr_err("USB accessory gadget driver failed to initialize\n");
|
||||
return ret;
|
||||
|
|
@ -1243,16 +1305,24 @@ err:
|
|||
|
||||
void acc_disconnect(void)
|
||||
{
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
if (!dev)
|
||||
return;
|
||||
|
||||
/* unregister all HID devices if USB is disconnected */
|
||||
kill_all_hid_devices(_acc_dev);
|
||||
kill_all_hid_devices(dev);
|
||||
put_acc_dev(dev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acc_disconnect);
|
||||
|
||||
static void acc_cleanup(void)
|
||||
{
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
misc_deregister(&acc_device);
|
||||
kfree(_acc_dev);
|
||||
_acc_dev = NULL;
|
||||
put_acc_dev(dev);
|
||||
put_acc_dev(dev); /* Pairs with kref_init() in acc_setup() */
|
||||
}
|
||||
static struct acc_instance *to_acc_instance(struct config_item *item)
|
||||
{
|
||||
|
|
@ -1312,7 +1382,6 @@ static void acc_free_inst(struct usb_function_instance *fi)
|
|||
static struct usb_function_instance *acc_alloc_inst(void)
|
||||
{
|
||||
struct acc_instance *fi_acc;
|
||||
struct acc_dev *dev;
|
||||
int err;
|
||||
|
||||
fi_acc = kzalloc(sizeof(*fi_acc), GFP_KERNEL);
|
||||
|
|
@ -1324,19 +1393,19 @@ static struct usb_function_instance *acc_alloc_inst(void)
|
|||
err = acc_setup();
|
||||
if (err) {
|
||||
kfree(fi_acc);
|
||||
pr_err("Error setting ACCESSORY\n");
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
config_group_init_type_name(&fi_acc->func_inst.group,
|
||||
"", &acc_func_type);
|
||||
dev = _acc_dev;
|
||||
return &fi_acc->func_inst;
|
||||
}
|
||||
|
||||
static void acc_free(struct usb_function *f)
|
||||
{
|
||||
/*NO-OP: no function specific resource allocation in mtp_alloc*/
|
||||
struct acc_dev *dev = func_to_dev(f);
|
||||
|
||||
put_acc_dev(dev);
|
||||
}
|
||||
|
||||
int acc_ctrlrequest_configfs(struct usb_function *f,
|
||||
|
|
@ -1349,9 +1418,7 @@ int acc_ctrlrequest_configfs(struct usb_function *f,
|
|||
|
||||
static struct usb_function *acc_alloc(struct usb_function_instance *fi)
|
||||
{
|
||||
struct acc_dev *dev = _acc_dev;
|
||||
|
||||
pr_info("acc_alloc\n");
|
||||
struct acc_dev *dev = get_acc_dev();
|
||||
|
||||
dev->function.name = "accessory";
|
||||
dev->function.strings = acc_strings,
|
||||
|
|
|
|||
Loading…
Reference in a new issue